Skip to content
1Claw Academy
Curriculum/The AI Agent Threat Model2 minBeginner · Lesson 1 of 14

Why agents break classic security assumptions

See exactly which assumptions traditional application security relies on, and which ones a language model violates.

Everything in the previous track was designed for a world where code does what it was written to do. An agent breaks that assumption in a specific, identifiable way, and it is worth being precise about which parts break.

Traditional application security rests on four assumptions:

  • Code and data are separable: the program is fixed, and input is something it processes.
  • Control flow is determined by the program, not by its input.
  • A component's privileges are exercised only by its own logic.
  • Behaviour is reproducible, so testing tells you what production will do.
Watch out

A language model violates all four. Its instructions and its data arrive in the same channel, the context window, as undifferentiated text. Whatever is in that window can steer what happens next.

A SQL injection is the closest classic analogue, and the comparison is instructive because of where it breaks down. SQL injection is solved by parameterised queries: a hard boundary between code and data enforced by the parser. There is no equivalent for natural language. The model has no parser-level distinction between 'the developer's instruction' and 'text I was asked to summarise'.

  • You cannot escape untrusted text into safety, because meaning is not syntax.
  • You cannot enumerate malicious inputs, because the input space is all of language.
  • You cannot rely on the model refusing, because refusal is itself probabilistic.
Tip

This is the load-bearing conclusion of the whole track: you cannot fix this at the model layer. Since you cannot make the model reliably ignore malicious instructions, you make it so that following them does not matter: by constraining what the agent is able to do.

So the defence moves outward, into the surrounding architecture: what the agent can reach, what it can spend, what it can send, and what needs a human. Everything that follows is a variation on that idea.

Check your understanding

3 questions
1

Why is prompt injection not solvable the way SQL injection was?

2

Which assumption does an agent violate by acting on text it was merely asked to read?

3

Given that the model cannot be made reliably safe, where does the defence belong?