A note slipped into the pile
Watch it happen
Mallory hides a note in a public page. The assistant reads it while doing Alice’s task and follows it, sending out what is in the vault.
Alice has hired a very fast assistant. It reads whatever she hands it and acts on it. On day one it was also given keys to the vault.
Alice says: Please read today’s pages.In bank terms and app terms
| In the bank | In your app |
|---|---|
Are you exposed?
Your AI tool reads content you don’t control: web pages, emails, public issues, uploaded files. The same AI tool can also reach private data or secrets, and can send data out or take actions. Tool calls are set to “always allow”, so nobody sees what the AI does after it reads something.
Give the AI only the access its task needs, with its own limited keys. Never your own all-powerful ones. Require a human to approve risky actions, like sending data out, deleting or paying, before they happen. Avoid putting private data, untrusted content and the ability to send data out in one assistant.
Ask your AI tool to fix it
Paste this into Cursor, Claude, Lovable, Bolt or whatever you build with.
Review how my app or agent uses an AI model. List everything it reads that a stranger could write (web pages, emails, issues, uploads), every secret or private data it can reach, and every action it can take (send, write, delete, call APIs). Flag any place where all three meet. Then propose changes: give it narrower permissions, require human approval for risky actions, and check its output before acting on it.Where this comes from
The facts, figures and fixes on this page were checked against these sources on 25 Oct 2026. They are linked so you can check for yourself.
- LLM01:2025 Prompt InjectionOWASP GenAI Security ProjectDirect vs indirect injection, no foolproof method, least privilege, human approval
- Prompt injection is not SQL injection (it may be worse)UK National Cyber Security CentreNo data/instruction boundary, may never be fully mitigated, deny-lists fail, limit privileges
- The lethal trifecta for AI agentsSimon WillisonPrivate data + untrusted content + external communication; avoid combining all three
- GitHub MCP Exploited: Accessing private repositories via MCPInvariant LabsResearchers showed a malicious public issue leaking private repo data via an AI agent
Spot a mistake or something out of date? Report a correction · How these guides are made and checked
The free, open-source scanner checks for most of the problems in these guides.