The lethal trifecta for AI agents: private data, untrusted content, and external communication
Author: Simon Willison · Type: practitioner · Status: draft · Published: 2025-06-16 · URL: https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/
Licence: Personal blog; CC BY 3.0 noted on simonwillison.net footer for most content - verify before republishing.
Summary
Defines the now-standard security frame for agent deployments: any agent that combines access to private data, exposure to untrusted content, and the ability to communicate externally is exploitable via prompt injection regardless of guardrail products. The mitigation is architectural - never grant all three capabilities to the same agent context.
Insights
- Agent safety is an architecture problem, not a filter problem: the only reliable defense is to avoid combining private-data access, untrusted input, and external communication in one agent. (high, draft)
securityautonomyguardrailsThe only way to stay safe there is to avoid that lethal trifecta combination entirely. — Core argument / mitigation section
- Probabilistic guardrails that catch most attacks are inadequate for security purposes; a 95% catch rate is a failing grade when a single success exfiltrates data. (high, draft)
securityguardrailsWillison dismisses guardrail products claiming to capture ‘95% of attacks’, calling this ‘very much a failing grade’ by web application security standards. — Discussion of guardrail vendors
- Once untrusted content enters an agent’s context, that agent must be barred from consequential actions - directly applicable to agents that browse the web and also hold deploy or database credentials. (high, draft)
securityautonomyagents in productionOnce an LLM agent has ingested untrusted input, it must be constrained so that it is impossible for that input to trigger any consequential actions. — Mitigation advice