All courses / The Transformed Security Architect / Module 2 / Chapter 6
Learning objectives
After the lesson the participant can:
- Explain why a regenerated threat model can show what an annual workshop cannot, and what the workshop is still for.
- Identify the six recurring trust boundaries of an AI system and the legs of the lethal trifecta an agent holds.
- Decide candidate threats as accepted, reclassified, rejected or deferred against the soundness criteria, recording a reason.
- List the conditions under which the threat-model gate fails a merge.
Key concepts
- Two layers of generation
- A deterministic layer emits a boundary record and STRIDE threat stubs for every relationship crossing a trust zone and compares them with the last accepted model; an AI layer adds candidates the rules cannot derive. Each threat keeps an identifier that survives regeneration.
- Lethal trifecta
- Simon Willison's test for agentic systems: an agent with access to private data, exposure to untrusted content and the ability to communicate externally can be steered into disclosing the data. The model records which legs are present and which control removes the others.
- Vector as a class of behaviour
- A threat entry records the vector as a class of behaviour and never as an operational recipe. That is enough to design a control, a detection and a test, and keeps the model shareable with a supplier, an auditor and a works council.
- Reviewer decisions
- A named person accepts each candidate, reclassifies it, rejects it with a reason and a revisitWhen trigger, or defers it to an owner and a date after which the pipeline blocks. Accepting residual risk is a separate decision for the risk owner.
- verifiedBy
- The field that points an accepted threat to an attack case described by its set-up and expected outcome. A threat without one is declared, not verified, because an accepted threat that nothing tests is a belief.
Interactive exercises
Do them here and get feedback at once. Choose a card and then where it belongs, or drag it.
Interactive exercise 1 · Match
Six trust boundaries of an AI system
Match each recurring boundary of an AI or agentic system to the question the threat model asks at it.
Interactive exercise 2 · Scenario
An outbound tool for the claims-triage agent
Apply the lethal trifecta and the reviewer's decisions to a change at Hansa Mutual.
Teaching plan
| 15 min | Lecture on the four questions, why the snapshot is harder to defend, and the five vocabularies with their limits; participants match STRIDE, ATT&CK, ATLAS and D3FEND to harm, route and answer. |
| 15 min | The teacher walks the six AI trust boundaries and the lethal trifecta; groups record the legs held by an agent they know and the control that cuts one. |
| 15 min | Read Hansa's threat model for the claims-triage agent: why T-101 is accepted, T-102 reclassified and T-103 rejected with a revisit trigger. |
| 35 min | Exercise: participants write three threat entries for a changed boundary, decide each as a named reviewer and check them against the gate rules. |
| 10 min | Debrief on review quality: provenance beside each candidate, a reason with every acceptance, and sampling by a second reviewer. |
Discussion
- The gate rule that fails when a boundary changed without any threat considered is called the most valuable. Why can a reviewer who reads only candidates not see that failure?
- A long list of fluent candidates invites complacency and automation bias. What in the design of the review loop would you change to counter that in your own team?
- Nordvik models a few systems in depth because its reviewers are few; Hansa needs generation because no person can read every pull request. Which constraint governs your choice of method?
Written exercise
Exercise · 35 minutes
Decide three candidate threats for a changed boundary
Work on Hansa Mutual's claims-triage agent, or on an AI system you know, after a change that adds a new intake path for third-party content. Record which legs of the lethal trifecta the system holds and which control cuts the remaining one. Write three candidate threats for the changed boundary. For each give a stable identifier, the boundary, a STRIDE category, the vector as a class of behaviour with no adversary strings, and a mitigation family outside the model. Then act as the named reviewer: accept, reclassify, reject with a reason and a revisit trigger, or defer with an owner and a date. For each accepted threat name an owned control and describe an attack case by its set-up and expected outcome.
Deliverable: A threat model excerpt with the trifecta record and three decided entries, each with reviewer, reason, controls and a verifiedBy attack case where accepted.
Self-test
Choose an answer to see whether it is right, or open the answer below each question.
At which autonomy level does the chapter place the AI generator of candidate threats by default?
Show the answer
B. Level 1 Assisted, writing only to a pull request comment
The generator works at Level 1 Assisted, writes only to a pull request comment and never to the accepted model, and no AI accepts a threat, a risk or an exception.In Hansa's threat model, why is T-103, claim data leaving through an outbound channel, rejected?
Show the answer
D. Because the manifest holds no outbound tool, and revisitWhen brings it back if one is added
The architecture cuts the third leg of the trifecta by denying egress and the manifest has no outbound tool, so T-103 is rejected with the trigger revisitWhen: tools, which raises it again the day an outbound tool is added.Which mitigation does the soundness criterion on the right family explicitly rule out as a replacement for a control?
Show the answer
A. Improving the system prompt in place of a control outside the model
A candidate must be mitigated by the right family, never 'improve the system prompt' in place of a control outside the model, because prompt injection is a property of the architecture and the controls sit outside the model.