EchoLeak, 2025
Researchers showed that a single crafted email could make Microsoft 365 Copilot leak internal data, with no click from the victim. Microsoft patched it; no abuse in the wild was reported.
CVE-2025-32711Research project · built on AgentDojo
AI agents read emails, web pages and documents that anyone can write. One instruction hidden in that data can hijack the agent into sending money or leaking files. BabelDojo measures whether today's defenses still hold when the attack arrives in another language.
Ignore all previous instructions.
The problem
This is indirect prompt injection. The attacker never talks to the agent. They leave text where the agent will read it.
You ask your assistant for something that needs tools: read the inbox, pay a bill, book a flight.
To do the job it opens emails, web pages and documents. Much of that content was written by someone else.
Text planted in that data tells the agent to do something else, such as move money or leak files. The agent can't always tell data from orders.
Researchers showed that a single crafted email could make Microsoft 365 Copilot leak internal data, with no click from the victim. Microsoft patched it; no abuse in the wild was reported.
CVE-2025-32711Nearly every benchmark and defense for this attack has been tested only in English. Agents, their users and the data they read are not. Nobody has measured systematically what happens when the attack changes language.
See the failure mode we're testing forLive example
Priya runs a small design studio and lets her AI assistant handle the bills. Yesterday an attacker sent her an email with one sentence hidden in white text. Choose the attack language and a defense, then press Run.
A simulation that runs in your browser with a toy filter and a scripted agent. It illustrates the question; it is not an experimental result.
1 Priya talks to her assistant in
2 The attacker writes in
3 Defense between the inbox and the agent
Press Run to play the scenario.
Each run fills one cell. Click a cell to run that combination. On a narrow screen, swipe sideways to see every language.
hijacked blocked not run yet
BabelDojo replaces this cartoon with measurements on real agents, real defenses and verified translations.
Languages
A candidate pool of 25 languages and variants: high-resource and lower-resource languages, plus code-switched and romanized text, which is how many people actually write online. About ten of them will make the final benchmark.
A candidate pool, not the final list. Every translation on this page is an unverified draft that native speakers still have to check, which is the first deliverable of the project.
Defenses under test
At least five of these will be evaluated. Their published results come largely from English attacks, and each one raises a different question once the language changes.
Before reading any untrusted data, a model picks the tools the user's task needs. Every other tool is hidden from the agent.
Language questionDoes the tool selection stay accurate when the user's request is not in English?
AgentDojo baselineUntrusted text is delimited, marked or encoded so the model can tell data from instructions, and the prompt tells it never to obey the marked part.
Language questionDo the markers still say "this is only data" when the data switches language mid-context?
Hines et al., 2024A guardrail classifier that flags injected prompts, trained to avoid over-defense: wrongly flagging harmless text that happens to contain trigger words.
Language questionDoes it recognize the same injection in Swahili or romanized Hindi, and does over-defense return?
Li et al., ACL 2025A fine-tuned detector is asked to repeat a secret key while ignoring the data. If the key does not come back, the data contained an instruction.
Language questionDoes a non-English instruction still knock the detector off its task, so the alarm fires?
Liu et al., IEEE S&P 2025The agent's step is run again with the user's request masked. If it makes the same tool calls anyway, those calls come from the data, not the user.
Language questionIt compares tool calls rather than text. Is that enough to make it language-robust?
Zhu et al., ICML 2025A privileged model turns the trusted request into a program. A quarantined model reads untrusted data but cannot call tools, and policies track where data flows.
Language questionSecure by design, but does task utility hold when users do not write in English?
Debenedetti et al., 2025Method
AgentDojo runs agents in simulated workspace, banking, travel and Slack environments and checks, from the environment state, whether the user's task and the attacker's goal were achieved. BabelDojo keeps that machinery and changes one variable: language.
97 realistic user tasks and 629 security test cases, each pairing a user task with an attacker goal.
Injection tasks are rendered into about ten languages, with code-switched and romanized variants. Native speakers spot-check them.
Three or four open-weight models and one API model, with no defense and with each of five or more defenses.
How do attack success, task utility and defense performance move as the language of the attack changes?
How often the agent carries out the attacker's goal.
How often the agent completes the user's task when nobody is attacking.
How often it still completes the user's task, with no harmful side effects, while under attack.
Most published numbers sit in one cell of this grid. Hover or tap a cell.
Deliverables
The experiments have not been run yet. This page describes the question and the plan, not findings.
AgentDojo's injection tasks in about ten languages, with native-speaker spot checks.
Three or four open models and one API model against at least five defenses, such as tool filter, spotlighting, PIGuard, DataSentinel, MELON and CaMeL.
What changes when the attack language differs from the user's language.
Everything needed to reproduce the numbers and add a language.
A final report in ACL format, aimed at an ACL or EMNLP submission.
Technical deep dive
No single check stops prompt injection. A well-defended agent stacks safeguards at five points between the user's request and a real-world action. Select a layer to see what can be deployed there, what it costs, and how much it depends on reading the attacker's language.
A sketch of where each safeguard hooks in, not code from this project. Real systems choose a subset. CaMeL, for example, replaces the loop with an interpreter that runs a plan written before any data is read. Click a highlighted line to jump to its layer.
Screening and marking work on the words themselves. A detector has to recognize an instruction in Swahili or romanized Hindi, and a model has to keep treating marked Arabic as inert data. These are the layers most likely to move when the attack leaves English.
Scoping, behavior checks and action policies look at tools, calls and data flow, not at phrasing. They should hold across languages, although they can still cost utility when the user's own request is not in English.
These exposure ratings are a working hypothesis, not a finding. BabelDojo exists to measure them. If they hold, the practical advice is short: never rely only on a layer that has to understand the attacker's words.