Track 06 · Security & risk reviewLesson 10 of 10

Threat modelling an AI system

A shared vocabulary with the security team, and a register they can track.

What you'll be able to do

What you'll be able to do

01
  1. Draw a data-flow diagram of an agent system with its trust boundaries, assets and data classes, including the elements ordinary diagrams miss (model provider, tools, MCP servers, memory, traces).
  2. Apply STRIDE per element and attack trees to find what can go wrong, adapted for agents.
  3. Map each threat to the OWASP Top 10 for LLM Applications (2025), the OWASP Top 10 for Agentic Applications (2026) and MITRE ATLAS, and to the controls taught in Weeks 01–06.
  4. Rate inherent and residual risk with the customer's method, and write residual-risk statements a named owner can accept.
  5. Produce a threat model document the customer's security team will review and sign, and keep it current as the system changes.
Before you start

Before you start

The short version

The short version

A threat model answers four questions: what are we building, what can go wrong, what are we doing about it, and did we do a good enough job. For an agent, you start with a data-flow diagram of the real deployment: users, UIs, the agent runtime, the model provider, retrieval stores, memory, tools and the MCP servers behind them, systems of record, logs and traces, with a trust boundary wherever data crosses between parties or privilege levels. The agent-specific insight is that the model is a confused deputy: it holds your privileges and follows instructions from anything it reads. You then walk each element with STRIDE, build attack trees for the worst outcomes, and name each threat in the vocabulary the security team already uses: OWASP LLM01–LLM10 (with the edition year, because the 2026 edition renumbers most of the 2025 list), OWASP ASI01–ASI10 for agentic applications (2026) and MITRE ATLAS technique IDs. Each threat gets an inherent rating, the controls that address it (with links to evidence), a residual rating and an owner. Residual risk that remains is written down and accepted by a named person with an expiry date. The document is versioned with the code and revisited whenever a tool, data source, model or channel changes.

Key takeaways:

  • Model the system as deployed, not as on the slide. Missing elements are where the findings hide.
  • Treat the model as an untrusted process inside your boundary: it can be talked into using every privilege you give it.
  • OWASP gives you names the security team recognises; ATLAS gives attacker technique IDs for red teams and detection engineers.
  • Every control in the register needs evidence (a test, a scan, a red-team result). A control without evidence is a claim.
  • A threat model nobody updates is wrong within a quarter. Make change triggers part of the delivery process.

Pro lesson

The rest of this lesson is in Pro.

The mental model, worked example, field note, failure table, exercise and self-check, with the voice tutor.

Pro opens this stage

Stage 5 · Prove it and pass review
  • 7 lessons, with the voice tutor
  • Lab · Clean a golden set before you trust it, graded here
  • Halden week 4 · First slice due
  • Halden week 6 · Instructions hidden in an invoice
  • The lab kit, to run Halden weeks on your machine

Also in Pro

  • Every stage and specialisation, in full
  • Every lab and every role project
  • Halden weeks 2–10, on your record
  • Every drill, live in the playground
  • All solutions, plus the server judge
  • Lab Assistant and every Teach with AI