S-01Why agents are different
The same untrusted input, the same model — but one system emits text and the other emits actions.
Agents are different from chatbots because they possess authority: credentials, tools, and the ability to cause side effects. Every attack below is a way for untrusted text to borrow that authority — and every defense is a way to make sure it can’t.
The same untrusted input, the same model — but one system emits text and the other emits actions.
Content the agent merely reads — a webpage, an email, a document — contains instructions aimed at the model.
The user themselves is the attacker: the prompt tries to override system rules and misuse the agent’s tools.
Secrets that legitimately entered context leave through any outbound channel — URLs, headers, rendered images, commit messages.
A low-privilege requester tricks a high-privilege agent into doing something the requester could never do directly.
A tool’s own manifest or output carries instructions — and models trust their tools more than the web.
An attacker plants content that gets written to long-term memory — and every future session inherits it as fact.
RAG faithfully retrieves whatever ranks well — including documents crafted to rank well and mislead.
Secrets that legitimately entered context escape through logs, outputs, traces and error messages.
Individually-safe tools compose into a capability nobody granted.
No attacker required: write access plus a misunderstanding equals irreversible damage.
Grant the minimum capability set the task needs, per task, not per agent.
Short-lived, per-request tokens carrying the requester’s identity — never ambient admin.
Mark where untrusted data enters; tainted content informs, it never authorizes.
Execution in a container with its own filesystem and no lateral network reach.
Irreversible or high-blast-radius actions pause for a person with full context.
A layer outside the model evaluates every proposed action against explicit rules.
Scan and redact what leaves: secrets, PII, injection payloads echoed onward.
Values from untrusted sources carry their provenance through the whole flow.
Reading agents cannot write; writing agents consume vetted, structured input.
Egress allowlists: unknown hosts are simply unreachable.
The dangerous tool the model can’t call is the one attack that can’t work.