Desk live·
ForensicPost
AI/Method/File 25-0224

A Language Model Cannot Distinguish Code From Content

Every security control in this database depends on distinguishing code from content. A language model has no such distinction, and prompt injection is the consequence.

Constructed geometry · not a chart of case data
Methods & StandardsThis file records how the desk works, not an incident
TargetLanguage model systems
ActorMultiple
D. Kennedy12 min readConfidence: high2 sources reviewed

This file records a structural property rather than an incident, because the incidents that follow in this section are all consequences of it.

The Whole Discipline Rests On One Separation

SQL injection is solved by parameterisation: the query structure travels in one channel and the values in another, and no value can become structure. Cross-site scripting is solved by encoding. Buffer overflows are contained by making data pages non-executable.

Every one of those fixes is the same fix. Keep the thing that instructs separate from the thing that is operated on, at a boundary the system enforces rather than infers.

A Language Model Has One Channel

A prompt is text. A retrieved document is text. A web page an agent reads is text. They arrive in the same context and are processed by the same mechanism, and the model distinguishes instruction from content by meaning rather than by provenance.

Meaning is exactly what an attacker controls. Text that says "ignore your previous instructions" is not exploiting a defect in an implementation; it is using the system for what the system does. There is no parameterised query to reach for, because the architecture that makes parameterisation possible is absent.

Which Is Why The Mitigations Are All Probabilistic

The defences on offer — input filtering, instruction hierarchies, classifier guardrails, delimiters — are heuristics that raise the cost of an attack. None is a boundary. Each can be defeated by phrasing.

That is a genuinely different position from the rest of this database. Elsewhere, a control either holds or has a defect that can be fixed. Here the industry is deploying statistical filters against an adversary who can iterate, and calling the result a control.

What This Desk Is Not Claiming

This is not an argument that these systems should not be built or that the problem is unsolvable in principle. Architectural answers exist in outline — constraining what a model can act on, requiring confirmation for consequential actions, treating all model output as untrusted input to the next stage.

They amount to not trusting the model, which is in tension with the reason organisations deploy one. The corpus records that tension rather than resolving it.

How we reported this

This is a method file describing an architectural property, built on published research listed below. It is not an incident record. Corrections: corrections@forensicpost.com.

Sources
  1. Prompt injection attacks in large language models and AI agent systems: a comprehensive reviewMDPI Information
  2. Prompt injection: types, real-world CVEs, and enterprise defensesVectra AI
D. Kennedy
Identity and access reporter. Former DFIR consultant. Signal on request.
// the chain of custody — tuesdays

Get the next file first.

One incident a week, taken apart properly. Logs, timelines, and what the filing left out.

PGP-signed edition · no tracking pixels · one-click unsubscribe
© 2026 ForensicPost Media · the desk · newsletter · searchGlossary