AI Red Team · Module 3 · Identify

AI-Assisted Threat Modelling and Risk Assessment

The lesson makes ID.RA Risk Assessment continuous. Threat models live beside the architecture as code and are regenerated on every change; AI proposes candidates using STRIDE with ATT&CK for classical boundaries and ATLAS and OWASP for AI systems; intelligence and adversary capability enter as structured, versioned inputs; attack paths are computed on a graph that includes AI edges; and machine-generated risk passes seven soundness checks before a named reviewer decides.

Lesson 10 of 28Chapter 1090 minutes

Read the chapterThe whitepaperThe slides

All courses / AI Red Team / Module 3 / Chapter 10

Learning objectives

After the lesson the participant can:

Key concepts

Candidate threats
AI proposes threats for every pull request that touches a trigger path and shows only what differs from the accepted model. A candidate joins the model only when a named person accepts it, and a rejected candidate stays rejected, with a reason, until the architecture changes.
Mitigation family
Because prompt injection is a property of the architecture, a candidate that proposes improving the system prompt as mitigation is unsound. Least privilege for tools, allow-listed retrieval, output validation or human approval are in the right family, outside the model.
Versioned assumptions
Adversary capability enters the risk model as a small set of named, versioned assumptions, such as time to exploit, the credibility of voice and video impersonation and the volume of targeted phishing, so that changing one rescores every dependent risk in a visible pull request.
AI edges in the attack graph
An agent holding a tool credential is an edge to everything the tool can change; a retrieval index ingesting external content is an edge from whoever can write the source to every prompt it feeds; a coding agent is an edge from anything it reads to everything its engineer can do.
Soundness checks
Grounding, classification, mitigation family, likelihood basis, impact basis, completeness and stability. The mechanical part is automated in the pipeline, a named reviewer judges against provenance, and the quality of that judgement is itself measured through sampled second reviews.

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

The soundness checks

Match each soundness check to the question the reviewer answers when applying it.

Interactive exercise 2 · Put in order

A threat-modelling review on a pull request

Put the steps of the chapter's AI-assisted threat-modelling review in order.

Teaching plan

15 minThe teacher presents the threat-modelling loop and the four questions that frame threat modelling as a practice, with the DORA Article 8 and AI Act Article 15(5) implications.
20 minParticipants classify example boundaries, a public endpoint, a service account, a retrieval source and a tool credential, by STRIDE, technique and OWASP identifier.
15 minWalk through attack-path analysis and the soundness table, then the Nordvik threat model after pull request 412 with its accepted and rejected candidates.
30 minExercise: groups review a set of candidate threats for a described architecture change and record decisions.
10 minCompare decisions between groups and discuss what a reviewer who accepts every candidate in seconds would have missed.

Discussion

  1. A missed threat is invisible in the diff. Which of the seven checks addresses that, and how far can it be trusted?
  2. Why should path-finding remain a deterministic computation while ranking may use AI, and what makes the ranking the most dangerous step?
  3. How would treating time to exploit as a versioned assumption change your organisation's current risk register?

Written exercise

Exercise · 30 minutes

Review AI-proposed threats on a pull request

The change: Nordvik Region's citizen-service assistant gains a new retrieval source written by a third party, or your own system gains a comparable boundary. The teacher supplies five candidate threats, of which some are ungrounded, misclassified or carry a mitigation inside the model. For each candidate, apply the soundness checks, mark it accepted, rejected or amended with a one-line reason, and for accepted threats name controls that act outside the model and the test that would verify closure. State whether any changed boundary has no candidate, and whether residual risk needs the risk owner's approval before merge.

Deliverable: A threat-model excerpt with five reviewed candidates, each with decision, named reviewer and reason, controls for accepted threats and a verification test.

Self-test

Choose an answer to see whether it is right, or open the answer below each question.

  1. In the worked example, why does the rejected candidate T-033 stay in the threat-model file?

    Show the answer

    C. So the next regeneration does not raise it again and an auditor can see it was considered
    The chapter states that the rejected candidate stays with its reason, so the next regeneration does not raise it again for the same architecture state and an auditor can see that it was considered.

  2. What may the threat-model generator write to, according to the chapter?

    Show the answer

    A. Only a pull request comment, never the accepted model
    The generator reads architecture definitions, the accepted model and pinned catalogues, runs on trusted infrastructure and writes only to a pull request comment; a named reviewer decides each candidate.

  3. Which use does the chapter rule out at every autonomy level for AI in risk assessment?

    Show the answer

    D. Accepting a threat, a risk or an exception
    The level table states that Level 4 Autonomous is not used: no AI accepts a threat, a risk or an exception. Acceptance of residual risk is reserved to the risk owner.