Indirect prompt injection
The attacker does not talk to your agent. They plant instructions in a document, a web page or a calendar invite the agent will later read, and the agent follows them with your permissions.
AI security · Injection · Authorisation · Supply chain
That sentence is the whole threat model. Anything the model reads — an email, a web page, a PDF, a ticket — is attacker-controlled input that arrives in the same channel as your instructions. The defence is not a better prompt.
The cost
Application security assumes code decides what runs. With an agent, a probabilistic model decides — and it decides using text an attacker may have written.
The attacker does not talk to your agent. They plant instructions in a document, a web page or a calendar invite the agent will later read, and the agent follows them with your permissions.
An agent authenticated once and then trusted for everything it does afterwards. The moment its input is compromised, so is every tool it can reach.
A "send email" tool that can email anyone, a database tool with write access to every table. The model does not need to be malicious for that to end badly.
A fine-tune pulled from a hub, an adapter from a vendor, a quantised checkpoint from a mirror. Model supply chain is where application supply chain was a decade ago.
The build
Controls that sit between the model's intention and the action, because that is the only place they cannot be talked out of.
Every tool call evaluated against policy at the moment it is made, with the arguments in hand. Session-level trust is not a control.
Untrusted content marked as data, never as instruction, and structurally separated from the system prompt, never concatenated into it.
A tool that can reach every record is a tool that will. Scope, rate-limit and constrain each one to the smallest surface that still does the job.
Payments, deletions, external communication. Bound to a canonical hash of the arguments so approval cannot be reused for a different payload.
Provenance, checksums and a pinned registry for weights and adapters, with the same seriousness you already apply to packages.
Every decision appended and redacted, so an incident can be reconstructed instead of guessed at.
The economics
Security economics are asymmetric: the control cost is known and bounded, the incident cost is neither. The lever is containment.
Why this firm
Issa exists because of this page. Policy before execution, evidence after, and a human on anything irreversible — first built for ledger writes, and it is the same control an agent estate needs.
Questions
No, and treating it as a prompt-engineering problem is the common mistake. Instructions and untrusted data arrive in the same channel; the fix is architectural — separate the channels, authorise the action, do not trust the intention.
An API gateway authorises the caller. This authorises the specific call, with its arguments, against policy — because the caller is legitimate and the arguments are what an attacker influenced.
Inventory the tools your agents can reach and write down the blast radius of each. Most teams discover a tool with far more reach than anyone intended, and that finding alone justifies the exercise.
Issa is open source and you can run it yourself. We do enterprise audits of agent estates and the integration work; the gateway is not licensed.
Next
If that list is hard to produce, it is the finding. We audit agent estates: what is exposed, what the blast radius of each tool is, and where a human gate belongs.