
Service 07 · AI Security
Give agents access, keep your controls
Give an agent write access and you open routes your controls were not built for.
- Your programme assumes a human who can be revoked
- An agent has a credential, tools, and a context window
- Most routes close at the point where the agent acts
- A policy document leaves them open
Example record
What the agent tried, and what happened
So you see each call your agent made, and what stopped it. A refusal is kept with its reason.
The rules behind each line are configuration in your repository.
- Allowed
Read src/payments/retry.ts
inside project scope
- Refused
Read .env.production
secret path
- Refused
git push --force origin main
protected branch
- Asked
Call an external payments API
needs approval first
- Allowed
Run the test suite
sandboxed, scoped credentials

Where it closes
Closed where the call is made
A denial that only writes a log line lets the call through. Your refusals happen at the tool boundary.
Capabilities
The surface your existing controls miss
Four routes an agent opens that a programme built for people does not watch.
What the agent reads is the widest way in
A README, an issue comment or a page fetched mid-task can carry an instruction. So we put hostile text in those places in a test, before production, and show you what your agent did with it.

- A
Any text read mid-task can carry an instruction
- B
We trace which tools that text can reach
- C
We put hostile content where the agent reads
- D
Findings land as committed checks
How we test your pipeline
We reach your pipeline the way an attacker would, then close what opens.
Each tool reviewed for what it can reach
Denials that only log are found here
Credential paths traced: what opens them, what logs retained
Model, version, terms and region checked against your contract
Each finding closes as a committed check
Model
What we fix, and what you decide
What we fix
- F1Denials enforced at the tool boundary, then retried
- F2Hostile content is tested in each path the agent reads
- F3Credential paths are refused before they open
- F4Model, version, provider terms and hosting region are inventoried and pinned
- F5Findings land as committed checks
What you decide
- C1Which repositories and environments are in scope
- C2Who fixes the findings, our team or yours
- C3Provider and region, against your contract
Next step
List the tools your agent can call.
We trace what each one reaches. What you get is a decision on each route in, closed by a committed check or left open on your sign-off.

