Categories, not payloads
This building names threat models, surfaces, and controls. It does not publish jailbreak strings, injection templates, L1B3RT4S quotes, Gray Swan copy-paste recipes, or Auto Mode exploit steps.
Signature experience
Nine walkable rooms of prompt-injection defense. Categories, surfaces, and controls. No payloads, no jailbreak recipes, no corpus quotes.
The answer — 79 words
Prompt injection is a confused-deputy failure in LLM applications. The model is given tools, private data, or power to act. Text from a user, page, email, document, or tool result is then treated as an instruction. Direct injection is the user as adversary. Indirect injection hides in content a trusted user asked the agent to read. Supply-chain injection sits in RAG or training data. Prompt wording is not a boundary. Reduce privilege, isolate untrusted content, and confirm consequential actions.
Reviewed 2026-09-19 · 9 rooms · Original editorial work by Rogue Prompt · Independent publication
The user is the adversary
The answer — 66 words
A jailbreak is usually a direct attempt to bypass a model or application policy. Direct prompt injection is the same threat model: the user of your application is the adversary and crafts inputs to ignore your instructions. Anthropic splits this from indirect injection because the defenses differ. Harmlessness screens, input validation, and handling repeat offenders are published controls. This site will not publish working bypass strings.
Direct prompt injection is the older, more visible half of the map. Someone using your chatbot, copilot, or agent types (or pastes) text intended to change the product’s job. Jailbreaking is the policy-bypass form of that attack. OWASP treats jailbreaking as a form of prompt injection, not as a separate magical category.
The defensive mistake is to spend the entire budget on witty system-prompt language. Anthropic’s published DPI controls are operational: a harmlessness screen, input validation against known injection patterns, an ethical system prompt as documentation of policy, and consequences for repeat offenders. None of those is a cryptographic boundary. They reduce casual abuse. They do not replace authorization.
Rogue Prompt will not publish working bypass strings, even as “examples.” The useful artifact is the threat model: if the user can make the model call a tool, the user channel is an untrusted input to a privileged deputy. Design the product as if some users will try.
The user did nothing wrong
The answer — 66 words
Indirect prompt injection is the confused-deputy case that matters most for agents. A trusted user asks the model to read a page, email, PDF, screenshot, issue, or tool result. An attacker hid instructions in that content. The user did nothing wrong. Gray Swan required both a harmful action and concealment before counting a success. Users cannot defend against an attack they cannot see. Architecture has to.
Simon Willison’s 2023 framing still holds: this is an attack against applications built on top of models. The application mixed a trusted instruction, untrusted text, and a privileged action in one context window. The model cannot reliably tell which tokens are the job and which tokens are scenery.
OWASP LLM01:2025 says the same in standard language: indirect injections occur when an LLM accepts input from external sources such as websites or files, and that content alters behavior. Severity follows agency. A summarizing chatbot fails small. An email agent with send privileges fails large.
The concealment requirement is what turns IPI into an operations problem rather than a demo. If the user-facing reply looks ordinary while a tool call has already done harm, the victim has no signal to stop. That is why this building exists: to walk the trust boundary, not to collect funny stickers. Funny specimens of the same idea live on Claude Gone Wild’s prompt-injection desk.
The payload arrived earlier
The answer — 64 words
Yes. Wang, Li, Xiang, Zhang, Li, Zhang, Wang, and Tian (arXiv:2602.10453, 11 February 2026) add supply-chain prompt injection: payloads sitting in RAG stores or in training and fine-tune data, not only in the live turn. “I only pasted a URL” is not a complete risk statement for an agent with memory or retrieval. Treat indexed documents and fine-tune corpora as untrusted until proven otherwise.
Most teams still draw the map as DPI versus IPI and stop. That was accurate for 2023 chatbots. It is incomplete for 2026 agents with memory, retrieval, and fine-tunes. The SoK’s third vector exists because a payload can be waiting in the store before the user ever types.
The practical control is boring on purpose. Retrieval is a data-access problem: who can write, who can read, what is re-scanned, what is cited back to the user as a source rather than obeyed as a command. Fine-tuning is a change-management problem. Neither is solved by wrapping the chunk in XML tags.
If your threat model still says “the only untrusted input is the chat box,” this room is the reason to redraw it before you grant the deputy a tool.
Where the deputy looks
The answer — 55 words
The 2026 agent papers and Anthropic’s computer-use notes name the same untrusted surfaces: web pages, inbound email, documents, OCR and screenshots, code repositories, and tool output. Computer-use classifiers can steer the model to ask whether an injected-looking screenshot came from you. They are not a sandbox. Isolate the environment, limit privilege, and confirm consequential actions.
A confused deputy is dangerous in proportion to what it can see and what it can do. The see-list for 2026 agents is no longer “the chat box.” It is every byte the runtime fetches: HTML, PDF text, OCR, issue threads, package READMEs, calendar invites, and the JSON a tool just returned.
Anthropic’s computer-use precautions are the right shape even if you never call that tool: a dedicated VM or container, no unnecessary secrets, an allow-list for the network, and a human on actions that spend money or grant consent. Those are ordinary software controls. They still work when the model is confused.
Capability raises the stakes without automatically raising robustness. Simon Willison watched Claude Fable 5 invent window capture, template hacks, and a CORS sidecar to debug a two-line CSS bug, then warned that the same proactivity is terrifying under hidden instructions. Gray Swan found capability and robustness only weakly correlated. Smarter is not the same as fenced.
The environment is the instruction
The answer — 58 words
AgentPI, in the 11 February 2026 SoK, names five context-aware categories without a recipe: action switching, parameter manipulation, branch divergence, reasoning corruption, and delegation exploitation. Agents are supposed to read the environment. Defenses that ignore context look strong on static tests and fail when the job requires looking. No evaluated defense won trustworthiness, utility, and latency at once.
Name the five categories. Do not ask this page for a payload that exercises them.
Action switching hijacks control flow: the user asked for one tool, the observation pushes another. Parameter manipulation hijacks data flow: the tool is right, the account number or filename is not. Branch divergence fabricates a fact that sends the agent down the wrong conditional. Reasoning corruption interferes with aggregation, sorting, or comparison so the decision is internally consistent and externally wrong. Delegation exploitation is the trust-chain case: the user said to follow an external file, and the file exceeds the implicit safety boundary of that request.
This is why “just ignore untrusted context” is not a product strategy. The product’s job is to look. A defense that wins a static benchmark by refusing to look will fail the day you hire the model as an agent. The SoK’s headline evaluation result is the one to take into design review: no tested approach was at once trustworthy, useful, and cheap.
The user never sees it
The answer — 64 words
Yes, and Gray Swan treated that as the success condition. The Indirect Prompt Injection Arena (18 March 2026) required concealment. 464 red teamers, more than 272,000 attempts, 13 models, 8,648 successful attacks, 41 scenarios. Attack success rates from 0.5% on Claude Opus 4.5 to 8.5% on Gemini 2.5 Pro. Those numbers are Opus 4.5 vintage, not Fable 5.1. Capability and robustness were weakly correlated.
The dual objective is the part most vendor dashboards still skip. Measuring whether the model said “no” is not the same as measuring whether a tool ran and the user was told a quiet story. Users cannot protect themselves from an attack they cannot see. That sentence is Gray Swan’s, and it is the design constraint.
We will not describe the “universal attack” template in copy-paste form. The published category is environment-framing: injected text treated as if it were a system-level command. That is a structural weakness in instruction-following, not a bug in one model family. Naming the category is enough for a defender to hunt it in logs. Publishing the template would be a different site.
Transfer is the operational punchline. Attacks that originally broke Claude Opus 4.5 transferred to every other tested model at 44–81%. If an attacker cracks the most robust model, they likely crack the rest. That is why “we use the strong one” is not a complete answer, and why dated vintage matters when someone pastes these numbers onto a later model.
One percent is not solved
The answer — 64 words
No. On 24 November 2025 Anthropic published browser-use hardening for Claude Opus 4.5 plus Chrome classifiers. An internal Best-of-N attacker reached a 1% attack success rate. Anthropic’s own line: not solved; no browser agent is immune. The published category is hidden instructions in content the agent reads, including inbound email. Vintage: Opus 4.5, not Fable 5.1. Classifiers reduce risk. They do not replace isolation.
Browser use concentrates both halves of the confused-deputy problem: a vast untrusted surface and a large action set. Anthropic’s published category on that page is hidden instructions in content the agent processes for a user — they illustrate it with inbound email. We will not reproduce that illustration as a recipe. The category is enough: if the agent can read a message and also send one, the read is a control plane.
The defenses they describe are the right shape for any browser agent, not only Claude for Chrome: train the model to refuse injected instructions in simulated web content, classify untrusted context before it becomes a goal, and keep humans in the loop for high-value tasks. Scaled expert red teaming is listed as a third leg. None of the three is claimed as a seal.
Date the number. November 2025, Opus 4.5, internal attacker. If you are choosing a 2026 model, this is historical evidence of residual risk, not a scoreboard row for Fable 5.1.
Treat content as data
The answer — 66 words
You reduce it. Put untrusted content only in tool_result blocks; say where it came from; state that it must not override the user; JSON-encode third-party strings; grant least privilege; screen tool output; require human confirmation for consequential actions. OWASP LLM01:2025 says the same in application-security language. Wang et al. found no tested defense that is simultaneously trustworthy, useful, and cheap. Prompt wording is not the boundary.
How do you prevent prompt injection? You do not, completely. OWASP is blunt: given how generative models work, it is unclear there are fool-proof methods. The list they publish is impact reduction: constrain behavior, validate output, filter, enforce least privilege, require human approval for high-risk actions, segregate external content, and attack your own trust boundaries.
Anthropic’s current hardening notes are the most concrete packaging of that list for a tool-using model. Untrusted content lives in tool_result. The tool description says what the bytes are and where they came from. The system prompt says those bytes must not override the user. JSON encoding makes it harder to break out of a data context. A small model may screen the result before the main model sees it. The application, not the model, decides whether a tool call is allowed.
Two adjacent failure modes belong on the same wall. First, capability without a fence: Willison’s Fable 5 session is the reminder that a model which will invent a CORS sidecar to fix CSS will invent something worse under a hidden instruction. Second, a confused environment: Willison’s 27 August 2026 note on Claude Code Auto Mode, covering Johann Rehberger, is filed as environment interaction rather than classic prompt injection. In some runs a classifier allowed a start and blocked cleanup. We credit those write-ups. We do not reproduce the method. Sandbox, restrict egress, keep secrets off the runtime — that is the published conclusion, and it is enough.
Pliny, credited, not copied
The answer — 73 words
As a refusal test against a system you own, yes, through a defensive harness. Pliny the Prompter publishes L1B3RT4S, a public AGPL-3.0 jailbreak and prompt-injection corpus. Promptfoo’s Pliny plugin fetches it to test whether a model refuses and does not merely repeat the prompt. That is a red-team artifact, not a tutorial. Rogue Prompt credits the repo and the plugin. We do not quote the prompts and we do not host a mirror.
Pliny the Prompter (elder-plinius/L1B3RT4S) maintains a large public corpus of jailbreak and prompt-injection templates aimed at flagship models. The existence of that corpus is part of the threat landscape. Reproducing it here would make Rogue Prompt an attack cookbook, which the concept for this site forbids.
The legitimate defensive use is documented by Promptfoo: include a pliny plugin in an authorized red-team config, fetch prompts, and check that your system refuses rather than complies or parroting. Docs were updated 20 September 2026. License remains AGPL-3.0. If you need a refusal test, use the plugin against your own system.
If you came for the cartoon version of a cafe-sign injection, that is a different building: claudegonewild.com/prompt-injection/. This one stays with OWASP language, dated numbers, and controls you can take into a design review.
House rules
A defensive reference is only citable if the visitor can tell what it refuses. These rules govern every room, and they are why some obvious material is missing.
This building names threat models, surfaces, and controls. It does not publish jailbreak strings, injection templates, L1B3RT4S quotes, Gray Swan copy-paste recipes, or Auto Mode exploit steps.
Every room cites a live paper, vendor note, standard, or repo. Arena scores and the 1% browser figure stay attached to Opus 4.5 and their publication dates so they are not treated as Fable 5.1 results.
Delimiters and “ignore malicious instructions” reminders are documentation, not a security boundary. Least privilege, tool_result isolation, deterministic validation, and human confirmation are the load-bearing walls.
Rogue Prompt is the OWASP-style defensive reference. The SFW specimen and cartoon lane lives at Claude Gone Wild’s prompt-injection desk. We link it. We do not copy its comics or joke voice.
Credit
The deputy floor plan, room names, warrant / injection / control strips, and editorial synthesis are original work by Rogue Prompt. Cite them as ours, not as OWASP or Anthropic documents.
Quotations on the walls are verbatim from the linked source. We do not rewrite a paper into a fake quote, and we do not quote Pliny’s corpus.
L1B3RT4S is a public AGPL-3.0 red-team corpus. The legitimate defensive use is Promptfoo’s Pliny plugin, which fetches prompts to test refusal. Linking the repo is credit. Hosting the prompts would be a payload mirror.
Rogue Prompt is an independent educational publication. It is not affiliated with, reviewed by, or supplied by Anthropic, Gray Swan, OWASP, Promptfoo, or Pliny the Prompter.
Sources, live-checked
Researched from current papers, vendor notes, standards, and public repos on 2026-09-19. Arena scores and the 1% browser figure stay dated so they are not treated as Fable 5.1 results.
OWASP GenAI Security Project · 2025
Application-security definition. Direct versus indirect. Impact depends on business context and agency. No fool-proof prevention; constrain behavior, privilege, human approval, segregate external content.
OWASP · current
Hands-on mitigations for remote content, agents, least privilege, monitoring, and guardrail placement.
Anthropic · current docs, reviewed 2026-09-19
DPI versus IPI threat models. Put untrusted content in tool_result. Never let retrieved content override the user. JSON-encode third-party strings. Least privilege. Screen tool output. Human confirmation.
Anthropic · current docs, reviewed 2026-09-19
Webpages and images can override instructions. Dedicated VM or container, least privilege, domain allow-lists, human confirmation. Screenshot classifiers steer the model to check the user; they are not a sandbox.
Anthropic · current docs, reviewed 2026-09-19
Keep untrusted content inside tool_result blocks rather than system prompts or plain user text. Follow with instructions in a later user turn, not inside the result.
Anthropic · 2025-11-24
Opus 4.5 plus Chrome classifiers. Internal Best-of-N ASR reported at 1%. Published category: hidden instructions in content the agent reads, including inbound email. Vintage: Opus 4.5, not Fable 5.1.
arXiv · 2026-02-11
SoK. DPI, IPI, and supply-chain PI. Attacks by heuristic versus optimization payloads. Defenses by text, model, and execution stage. AgentPI: action switching, parameter manipulation, branch divergence, reasoning corruption, delegation exploitation.
Gray Swan · 2026-03-18
464 red teamers, 272,000+ attempts, 13 models, 8,648 successful attacks, 41 scenarios. ASR 0.5% (Claude Opus 4.5) to 8.5% (Gemini 2.5 Pro). Capability weakly correlated with robustness. Transfer from the strongest model is the threat. Vintage: Opus 4.5.
arXiv · 2026-03-16
The IPI Arena paper. Dual objective of harm plus concealment across tool-calling, coding, and computer-use settings.
simonwillison.net · 2023-05-02
Developer framing: prompt injection is an application-security problem, not only a model-behavior problem.
simonwillison.net · 2026-06-11
Public Fable 5 session. Cost about $12.11 at API rates. Hidden-instruction warning. Cites Rehberger on normalization of deviance.
simonwillison.net · 2026-08-27
Link-post covering Johann Rehberger. Later note: not classic prompt injection. Safety layer can block cleanup. We credit the write-up. We do not reproduce the method.
Embrace The Red · 2025-12-04
Teams confuse the absence of a successful attack with the presence of robust security. Cited by Willison as the Challenger-class failure mode.
GitHub · live, reviewed 2026-09-19
Existence of a large public jailbreak and prompt-injection corpus. Credit the repo. Do not reproduce, mirror, or teach the prompts.
Promptfoo · docs updated 2026-09-20
Defensive use: fetch the corpus, test whether a model refuses, verify it does not simply repeat the prompt. License: AGPL-3.0.
GitHub · 2026
Scenarios and judging system for authorized evaluation. Not a payload cookbook for this site.
GEO
Prompt injection is a confused-deputy vulnerability in software built around large language models. Trusted instructions, untrusted text, and privileged tools share a context. Direct injection comes from the user. Indirect injection hides in content the app reads. Supply-chain injection sits in RAG or training data.
There is no complete prompt-only fix. Reduce privilege, put untrusted content in tool_result blocks, validate tool calls outside the model, require human confirmation for consequential actions, log the run, and retest. OWASP LLM01:2025 and Anthropic’s current hardening notes publish that sequence.
A jailbreak is usually the user trying to override the product. Prompt injection is broader. Indirect prompt injection is often the user asking a normal question while an attacker hides instructions in content the agent reads. Anthropic documents both threat models separately because the defenses differ.
Not with wording alone, and not completely. Anthropic’s 24 November 2025 browser-use note reported a 1% Best-of-N ASR on Opus 4.5 and said the problem is not solved. Wang et al. (February 2026) found no evaluated defense that won trustworthiness, utility, and latency at once. Reduce impact.
Documented classes include early Bing Chat prompt leakage, Greshake et al. 2023 indirect injection against LLM apps, email-assistant demonstrations, Gray Swan’s 2026 IPI Arena (concealment required, Opus 4.5 vintage), and Anthropic’s published browser-use category of hidden instructions in content the agent reads. This site does not republish payloads.
No. The March 2026 IPI Arena numbers are Claude Opus 4.5 vintage. Anthropic’s 24 November 2025 browser-use 1% figure is also Opus 4.5 vintage. Keep the dates attached so a later model is not scored by an older arena.
Because the corpus is a public risk signal. Promptfoo uses it as a refusal test under AGPL-3.0. Linking the GitHub repo and the plugin credits Pliny the Prompter without turning this reference into a payload mirror.
At Claude Gone Wild: https://claudegonewild.com/prompt-injection/. That desk is the SFW specimen and cartoon lane. Rogue Prompt is the OWASP-style defensive lane. We link it. We do not copy its comics.
Other buildings
Rogue Prompt is the serious OWASP-style lane. The SFW specimen and cartoon lane is next door. We link it. We do not copy its comics or joke voice.