Robots Atlas>ROBOTS ATLAS
Safety

Lethal Trifecta

2025ActivePublished: 10 September 2026Updated: 10 September 2026Published
Key innovation
Named and unified into a single threat model the three LLM-agent capabilities that are harmless in isolation but together create a data-theft hole exploitable via prompt injection.
Category
Safety
Abstraction level
Pattern
Operation level
Agent runtimeSystemApplication
Use cases
Security analysis of tool-enabled AI agentsRisk assessment of MCP integrations and pluginsDesigning secure assistants that access private dataAuditing RAG systems that process untrusted documentsEducation about prompt injection risks

How it works

An attack exploiting the lethal trifecta proceeds as follows: (1) the attacker plants malicious instructions in untrusted content the agent will process (e.g. a web page, email, repository issue, or document); (2) the agent, having access to private data, executes the injected instructions as if they were its own commands and reads confidential information; (3) the agent uses its ability to communicate externally (e.g. a tool call, network request, rendering an image from a URL, or creating a pull request) to send the stolen data to the attacker. The key point is that an LLM does not distinguish trusted user commands from untrusted content in the same context โ€” the same weakness underlying prompt injection. Willison's core recommendation: do not combine all three capabilities in one system; removing even one leg of the trifecta breaks the exfiltration path.

Problem solved

It provides a practical, memorable threat model that lets designers and users of AI agents quickly recognize when a system is vulnerable to data theft via prompt injection โ€” instead of reasoning about prompt injection abstractly, one just checks whether all three trifecta capabilities co-occur.

Components

Access to private dataAttack target โ€” the information the attacker wants to steal

The system's ability to read confidential data: private repositories, emails, documents, databases, secrets, personal data. Without it, there is nothing to steal.

Exposure to untrusted contentAttack vector โ€” the channel through which the attacker injects instructions

The model processing text or images controlled by third parties: web pages, emails, repository issues, documents, comments. This is the carrier of hidden prompt-injection instructions.

Ability to communicate externallyExfiltration channel โ€” the path by which stolen data leaves the system

The ability to send data outward: tool calls, network requests, rendering images with URL parameters, creating pull requests, sending messages. It completes the data-leak path.

Implementation

Implementation pitfalls
Exfiltration via image rendering (Markdown)Critical

An agent rendering Markdown images from an attacker-controlled URL sends stolen data as URL query parameters. Used in GitLab Duo and EchoLeak, among others.

Fix:Block external image rendering or restrict allowed domains; do not place sensitive data in context when rendering from external URLs is possible.
A single MCP tool combining all three capabilitiesCritical

An MCP server with access to private repos, reading public issues (untrusted content), and creating pull requests (exfiltration channel) implements the whole trifecta in one tool โ€” as in the GitHub MCP exploit.

Fix:Separate privileges across tools; do not combine access to private data with processing untrusted content and the ability to write/communicate externally in one agent.
Hidden instructions in content (hidden text)High

The attacker hides instructions in documents, PDFs or pages (white text, metadata, alternative syntax) that a human overlooks but the model executes.

Fix:Treat all external content as untrusted; apply design patterns (e.g. CaMeL) that isolate untrusted data from taking consequential actions.

Evolution

Original paper ยท 2025 ยท simonwillison.net (blog) ยท Simon Willison
The lethal trifecta for AI agents: private data, untrusted content, and external communication
Simon Willison
2022
Coining of the term "prompt injection"
Inflection point

Simon Willison and others independently name prompt injection โ€” mixing trusted and untrusted content in the same LLM context. This is the foundation the lethal trifecta builds on.

2025
Introduction of the term "lethal trifecta"
Inflection point

On 16 June 2025 Willison publishes the article defining the lethal trifecta as the combination of access to private data, exposure to untrusted content, and the ability to communicate externally.

2025
EchoLeak (CVE-2025-32711) in Microsoft 365 Copilot

A documented data-exfiltration attack on Microsoft 365 Copilot, a real-world instance of the lethal trifecta in a commercial product. Similar flaws were found in the GitHub MCP Server and GitLab Duo.

Execution paradigm

Primary mode
Conditional

This is not a model compute paradigm but a conditional threat pattern โ€” the vulnerability activates when untrusted content contains malicious instructions.

Activation pattern
Input dependent