Home

/

Prompt Injection: Blast Radius

/

Why the confusion persists

Why the confusion persists

Chapter 2
Part I
4
min read

Why the confusion persists

The two problems get conflated for a reason that is nobody's fault in particular.

Both attacks arrive as text. Both involve someone getting a model to do something its operator did not want. In both cases the person explaining it to a non-technical stakeholder reaches for the same sentence: "someone tricked the AI."

Vendor marketing does not help. A product that detects jailbreak attempts and a product that detects injection attempts look identical from the outside, are frequently the same model, and are sold with the same word on the box. Buying one and believing you have addressed the other is the default outcome, not an unusual mistake.

The test that separates them takes one question: who is harmed if this succeeds? If the answer is the model provider or the public, it is a jailbreak and it belongs upstream. If the answer is you, it is an injection and no upstream release is coming to save you.

A four-year-old bug with a two-year-old name

The history is short and slightly embarrassing for the field.

In May 2022, a company called Preamble privately disclosed the vulnerability to OpenAI. They called it command injection. Nothing much happened.

In September 2022, Riley Goodside demonstrated it publicly on GPT-3 with an example that has aged into folklore: an instruction telling the model to ignore its directions and translate the sentence as "Haha pwned!!" It worked, and it was funny, and it spread.

On 12 September 2022, Simon Willison gave it a name. His reasoning was that this was structurally SQL injection, and the field already understood what that meant.

The name is why you are reading a book about it. A vulnerability with a name gets a CWE, a top-ten slot, a conference track and a budget line. The same vulnerability without a name gets rediscovered quarterly by people who think they have found something new.

Four years later the name is on the OWASP list three editions running, and the underlying problem is where it was in 2022.

Back to Replit

Chapter 1 left a loose end. The Replit agent ignored an explicit code freeze and destroyed production data, and that incident was presented as important without being called an injection. The distinction can now be made properly.

Nobody demonstrated that a third party planted the destructive instruction. What happened is that the agent held authority its operator had told it not to use, and used it. Call that an agency failure: the system trusted the model's judgement about what it was permitted to do.

An injection failure is when the model obeys a stranger. The agent reads a poisoned document and acts on it.

Different origins, and worth keeping straight when you are writing an incident report. Structurally, though, they are the same defect wearing different clothes, and the same architecture fixes both. In each case something the model concluded became something the system did, with nothing in between capable of disagreeing.

That is the useful generalisation. You do not need to know whether the instruction came from an attacker, a confused user, or the model's own drift, because a system that only stops malicious instructions has to identify intent, and identifying intent is the thing chapter 4 demonstrates you cannot do.

A system that stops unauthorised actions does not care about intent at all. It asks a narrower question, and the narrower question has a deterministic answer.

Chapter 3 gives you the diagnostic for finding out whether your own system is exposed, in about an afternoon.

Sources for this chapter

ClaimSourceStatus
OWASP direct vs indirect definitions; injections need not be human-visible or readablehttps://genai.owasp.org/llmrisk/llm01-prompt-injection/ (2025 edition)PRIMARY
Willison coined "prompt injection" 12 Sep 2022, reasoning from SQL injectionhttps://simonwillison.net/series/prompt-injection/ · https://www.heavybit.com/library/podcasts/generationship/ep-39-simon-willison-i-coined-prompt-injectionPRIMARY
Goodside's public GPT-3 demonstration, Sept 2022As abovePRIMARY
Preamble's private disclosure to OpenAI, 3 May 2022, as "command injection"Reported in multiple secondary accounts of the vulnerability's historySECONDARY
Replit incident detailsAI Incident Database, Incident 1152, https://incidentdatabase.ai/cite/1152/PRIMARY (register)

The agency-failure versus injection-failure distinction, and the argument that both reduce to the same architectural defect, are the author's. The claim that direct injection is "mostly a nuisance" is a judgement about typical deployments and does not hold where the agent's authority exceeds the user's, a case chapter 8 addresses directly. The list of indirect injection channels is illustrative and assembled by the author, not drawn from a published taxonomy. The Preamble disclosure date could not be traced to a primary document and rests on secondary accounts.

the-three-year-bug
why-the-industry-shipped-anyway
injection-is-not-jailbreaking
why-the-confusion-persists
the-lethal-trifecta
running-the-audit
why-filtering-fails
measured-here-on-a-named-model
why-this-is-structural
what-solved-would-look-like
the-harness
provenance-every-value-knows-where-it-came-from
on-the-reference-agent
quarantine-the-planner-never-reads-the-mail
what-two-models-cost-in-practice
capability-authority-the-agent-cannot-widen
expiry-is-a-feature
the-gate-the-model-proposes-code-disposes
the-policy
failing-closed
egress-closing-the-exfiltration-leg
how-much-can-actually-leak
sandboxing-containing-the-code-the-agent-writes
the-sandbox-held-and-it-did-not-help
poisoned-memory-poisoned-retrieval
cleaning-up-afterwards
the-tool-supply-chain
mcp-and-the-rest
human-in-the-loop-that-isnt-theatre
when-there-is-nobody-there
testing-for-injection
measuring-coverage-not-pass-rate
red-teaming-agents
a-finding-worked-through
when-it-happens-anyway
what-the-logs-cost-you-in-an-incident-you-did-not-have
governance-procurement-and-the-regulator
writing-the-policy
end-to-end
what-it-actually-took
what-stays-broken
why-this-is-probably-structural
the-trifecta-audit-worksheet
action-schema-and-policy-reference
control-mapping
prompt-injection-sources
incidents
appendix-e-what-we-re-ran-ourselves
e4-the-control-that-keeps-e2-and-e3-honest

Download the full PDF for free?

Free download — no account required

Get the PDF
Get the PDF
Related Chapters
Free Download
Get the full PDF
All pages, including all code examples, diagrams, and the appendix reference card.
No spam. Unsubscribe at any time.
Your email won't be shared.
Oops! There's a problem with your request. We're working on fixing it. Please try again later.