Lethal Trifecta Threat Model
Classifies each tool by private-data access, untrusted-content exposure, and external communication, and blocks any execution path that has all three
Add to Pack
Saved locally in this browser for now.
Cite This Pattern
Nikola Balic (@nibzard) (2026). Lethal Trifecta Threat Model. In *Awesome Agentic Patterns*. Retrieved October 14, 2026, from https://agentic-patterns.com/patterns/lethal-trifecta-threat-model
@misc{agentic_patterns_lethal-trifecta-threat-model,
title = {Lethal Trifecta Threat Model},
author = {Nikola Balic (@nibzard)},
year = {2026},
howpublished = {\url{https://agentic-patterns.com/patterns/lethal-trifecta-threat-model}},
note = {Awesome Agentic Patterns}
} Use when
- Agent reads private data and also processes untrusted content
- Agent can send data out through network or messaging tools
- Tools can be tagged with capability metadata
Avoid when
- Agent has no access to private data
- Agent has no way to communicate externally
Problem
Combining three agent capabilities—
- Access to private data
- Exposure to untrusted content
- Ability to externally communicate
—creates a straightforward path for prompt-injection attackers to steal sensitive information.
LLMs cannot reliably distinguish "good" instructions from malicious ones once they appear in the same context window.
Solution
Adopt a Trifecta Threat Model:
-
Audit every tool an agent can call and classify it against the three capabilities.
-
Guarantee that at least one circle is missing in any execution path. Options include:
-
Remove external network access (no exfiltration).
- Deny direct file/database reads (no private data).
- Sanitize or segregate untrusted inputs (no hostile instructions).
-
Enforce this at orchestration time, not with brittle prompt guardrails.
# pseudo-policy
if tool.can_externally_communicate and
tool.accesses_private_data and
input_source == "untrusted":
raise SecurityError("Lethal trifecta detected")
How to use it
- Maintain a machine-readable capability matrix for every tool.
- Add a pre-execution policy check in your agent runner.
- Fail closed: if capability metadata is missing, treat the tool as high-risk.
Trade-offs
Pros: Simple mental model; eliminates entire attack class. Cons: Limits powerful "all-in-one" agents; requires disciplined capability tagging.
References
- Primary source: Simon Willison, The lethal trifecta for AI agents: private data, untrusted content, and external communication (June 16, 2025; the previously cited
/lethal-trifectaslug was a dead 404 URL) - Academic source: Beurer-Kellner et al., Design Patterns for Securing LLM Agents against Prompt Injections (arXiv:2506.08837, June 2025; doi:10.48550/arXiv.2506.08837)
Note on terminology: This pattern describes Simon Willison's prompt injection threat model (private data + untrusted content + external communication), distinct from the AI safety literature's "lethal trifecta" (advanced capabilities + agentic behavior + situational awareness).