skip to content

SDLC Integration and Tooling

How threat modeling survives sprints: what fires a model, who runs the session, keeping it current, and the tools that automate it. Interviewers probe it to spot a one-off done for compliance.

on this pageshow

explore

questions

page 1 of 2

Who should be in the room for a threat modeling session, and why each?

level: juniorimportance: must knowfreq 60%

answer

  1. the room decides what you can find
  2. design intent plus implementation reality
  3. who operates it, not only who drew it
  4. someone who knows which flows carry value
  5. four to seven, not twenty

basics

~20 s

A threat modeling session needs whoever knows the design and whoever knows reality: the architect or tech lead, the developers building it, an ops or SRE voice, and a product owner who knows which flows carry value.

solid answer

~50 s

The room should hold four kinds of knowledge. The architect or tech lead explains what the design is meant to do. The developers building it know what the code actually does, including the shortcuts. Ops or SRE know how it runs in production - the interlocks, the manual overrides, the support access paths that never appear on a design document. Product knows which flows carry value, so the room can tell an annoying threat from an expensive one; on a subscription-billing rewrite the product manager may be the only person who knows which calls move money. Someone facilitates, and that person need not be from security. Keep it small - four to seven people - because a room of twenty produces discussion, not findings. The failure to watch for is a session held inside the security team alone, which models the design as documented rather than the system as it exists.

go deeper

for a junior

Be ready to name the roles and give one reason each: architect for design intent, developers for what the code really does, ops for how it runs, product for what the damage would cost. Say that you would rather have a small room than a full one.

for a middle

Explain what each role contributes that the others cannot, and why a security-only room models the documentation instead of the system. Have an answer for the size question and for who facilitates.

for a senior

Show that you treat the invite list as a decision you make days in advance, and that you have a policy for a missing key participant: move the session, or run it and label the unexamined area with an owner and a follow-up rather than pretending the gap is not there.

for a principal

Own the organisational version: which teams can staff a session without you, how you avoid rooms so senior that engineers stop volunteering the awkward truth, and when to split one large system into several scoped sessions instead of assembling an unworkable twenty-person meeting.

## Why the attendee list is the decision that decides the session A threat modeling session finds threats that someone in the room has enough knowledge to imagine. Everything else about facilitation - the agenda, the clock, the notes - only shapes how efficiently that knowledge is drained. So the invite list is the highest-leverage decision the facilitator makes, and it is made days before the session starts. ## The four kinds of knowledge to get into the room **Design intent.** The architect or tech lead can say what the system is supposed to do, which components are new, and what assumptions the design rests on. Without them the room argues about what the picture means instead of what could go wrong with it. **Implementation reality.** The developers who are writing or will write the code know the difference between the design and the thing. They know that the internal call is unauthenticated because it was easier, that the retry path writes to a second store, that an admin script exists. Excluding implementers to save their time is the most common way to produce a model of a system that does not exist. **Operational reality.** Ops, SRE or platform engineers know how the system behaves once deployed: the break-glass access, the shared credential in the runbook, the batch job nobody owns, the physical or process interlocks. Consider a hospital pharmacy integration with a dispensing robot. The design document shows an order service calling a device gateway. The one ops engineer who understands the dosing interlocks - what the robot refuses to do, and which of those refusals are enforced in software the team controls - was not invited, so the session never asks what happens when a malformed or replayed order reaches the device, and the asset actually at stake, the safety of a physical process, is never modeled at all. Whoever runs it belongs in the room. **Business value.** A product owner or product manager tells the room which flows matter and what a bad outcome costs. This is what turns a flat list of technical possibilities into something rankable. On a subscription-billing rewrite, the product manager may be the only person who can say which of six endpoints actually moves money, which refunds are irreversible, and which report is the one finance reconciles against. ## Who facilitates, and who does not need to be there A facilitator runs the session; a scribe (sometimes the same person) captures. Neither role requires a security title, and mature programmes deliberately hand facilitation to the delivery team. Security expertise in the room is valuable but it is not the qualifying condition - a session run by a team on its own design is far better than a session that never happens because no security engineer was free. People who usually should not be there: large stakeholder audiences, managers attending for visibility, and anyone whose presence makes engineers reluctant to admit what the code really does. Psychological safety is functional here, not decorative - the value of the session comes from people volunteering the embarrassing detail. ## Size and the practical shape Roughly four to seven participants is the workable range. Below that you lose a perspective; above it, air time per person collapses and the session becomes a presentation. If a system genuinely spans many teams, run several sessions scoped to parts of it rather than one session with twenty attendees. ## When a key person cannot come Do not silently proceed as if the gap does not exist. Two honest options: move the session, or run it and explicitly record the areas that could not be examined - for example, mark the device-interlock flows as unexamined, with a named person and a short follow-up booked. A model with a labelled hole is useful; a model that quietly omits the riskiest subsystem is worse than none, because it creates confidence that was never earned. ## What interviewers are listening for They want to hear that you treat the invite list as a design decision with named roles and reasons, that you include the people who operate and who own the business outcome rather than only architects, that you keep the room small, and that you have a stated policy for the case where the one person who knows the dangerous part is missing.

  • The one ops engineer who understands a dispensing robot's dosing interlocks cannot attend. Do you run the session anyway?
    Either move it or run it with the gap made explicit. If you run it, model everything else, then record the interlock flows as unexamined with that engineer named as owner and a short follow-up booked. What you must not do is produce a model that silently omits the most dangerous subsystem, because the team will read the absence of threats there as evidence there are none.
  • Why does a product owner belong in a technical threat modeling session?
    Because impact is a business fact, not a technical one. Engineers can enumerate what is possible; product says which flows move money, which actions are irreversible, and which data would be genuinely damaging to expose. Without that, everything on the list looks equally severe, and the team spends its sprint on the cheapest threat to fix rather than the one that matters.
  • Does the facilitator have to come from the security team?
    No. Facilitation is a running-the-room skill: asking questions, keeping the clock, capturing decisions. A trained tech lead facilitating their own team's design will usually outperform a security engineer who sees the system for the first time that morning, and it scales - security cannot attend every session. Security's leverage is training facilitators and reviewing the highest-risk models afterwards.

saying these in an interview costs you the question

  • Says the security team runs the session by itself
  • Invites architects only, no implementers
  • Leaves ops out because it is not deployed yet
  • Excludes product as too non-technical
  • Fills the room with twenty stakeholders and observers
  • Proceeds silently when the key subsystem owner is absent

context

open as a page

What can an automated threat-model generator's output be trusted to deliver, and where does it stop?

level: middleimportance: must knowfreq 62%

basics

~20 s

Generated output is a floor, not a finished model. A tool reliably applies the same per-element rules everywhere and catches structural gaps, such as a data store drawn with no trust boundary. It cannot judge business impact or whether the diagram is true.

open as a page

Why keep a threat model as code in pytm or threagile instead of a drawn diagram?

level: middleimportance: must knowfreq 58%

basics

~20 s

Because the model becomes a version-controlled source file that diffs in a pull request. pytm's Python and threagile's YAML sit beside the code and regenerate the data-flow diagram and threat report on every run, so the picture never goes stale.

open as a page

How do you check that a threat model still matches the system that is actually deployed?

level: middleimportance: must knowfreq 55%

basics

~20 s

Reconcile the model against independent evidence of the running system - deployment descriptors, service and datastore inventories, routing and access config, traffic telemetry - and record every element, flow or trust boundary that reality has and the model does not.

open as a page

Which changes to a system should trigger a new or updated threat model?

level: middleimportance: must knowfreq 62%

basics

~20 s

Trigger on architectural change, not code volume: a new component or service, a new trust boundary such as a new caller or tenant, a new class of data, and any incident that disproves a design assumption.

open as a page

When one threat recurs across thirty-eight threat models, what changes about how you fix it?

level: middleimportance: must knowfreq 60%

basics

~20 s

A threat repeating across nearly every model is a missing platform capability, not thirty-eight product defects. Build the control once where every service inherits it, then each model names that control instead of carrying its own ticket.

open as a page

Which metrics show whether a threat modeling practice is actually working?

level: middleimportance: must knowfreq 57%

basics

~10 s

Four families: coverage of in-scope designs and services against a stated denominator, findings closed and mean time to close, time-to-model from trigger to owned findings, and escaped issues found after the design passed.

open as a page

What makes an engineer the right pick as a squad's threat modeling champion?

level: middleimportance: must knowfreq 58%

basics

~20 s

Pick the engineer whose design opinion the squad already follows, who wants the role, and whose hours for it are protected. Spare capacity is the worst criterion: an uninfluential engineer with free time produces threat models nobody acts on.

open as a page

Your threat model produced 60 threats: how do you turn them into backlog items teams actually close?

level: middleimportance: must knowfreq 62%

basics

~20 s

One ticket per threat, in the team's normal delivery backlog, each carrying the threat statement, the agreed control, a named individual owner and a due date. A single 'security' epic hides ownership and lets the whole batch stall.

open as a page

How does the Microsoft Threat Modeling Tool turn a diagram you drew into a list of threats?

level: middleimportance: should knowfreq 46%

basics

~20 s

A template supplies stencils with properties and threat rules. You place stencils and set their properties, and the rule engine walks each interaction between elements, firing every rule whose conditions match and emitting a STRIDE-categorised threat you then triage.

open as a page

As facilitator of a threat modeling session, how do you stop it becoming a security lecture?

level: middleimportance: should knowfreq 46%

basics

~20 s

Facilitate by asking, not telling. The facilitator's job is keeping the team producing threats: pose questions about the design, park teaching and fix debates in a parking lot, watch the clock, and check part-way through that findings are accumulating.

open as a page

What is an LLM-drafted threat model good for when its threats read plausible but generic?

level: middleimportance: should knowfreq 54%

basics

~20 s

It is a first-pass checklist, not an analysis. The draft reliably names the obvious threat for each component type, so a review starts from a filled page instead of a blank one. Ranking and business impact stay human work.

open as a page

A threat-model generator clears a partner link marked 'private network'. Do you accept the result?

level: seniorimportance: should knowfreq 45%

basics

~20 s

No. 'Private network' is an assumption the generator accepted as fact, not something it checked. If the partner shares that circuit with its other customers, the link is untrusted and every threat suppressed by that label comes back.

open as a page

How do you choose between OWASP Threat Dragon, the Microsoft Threat Modeling Tool and IriusRisk for a team?

level: seniorimportance: should knowfreq 52%

basics

~20 s

Match the tool to the team's ceremony budget. Threat Dragon is free and keeps models as plain JSON; the Microsoft Threat Modeling Tool generates threats from Windows-only stencil templates; IriusRisk is a commercial platform with a countermeasure library.

open as a page

A pytm model declares a dataflow encrypted while the real traffic is plaintext. What fails?

level: seniorimportance: should knowfreq 44%

basics

~20 s

pytm reasons only over what the model asserts. Declaring a flow encrypted stops the disclosure and tampering rules from matching that hop, so the generated report reads clean about a link anyone on the internal network can read.

open as a page

Why require the threat-model diagram update in the same pull request as the code change?

level: seniorimportance: should knowfreq 40%

basics

~20 s

It turns drift into a review-time question. The reviewer sees the model diff next to the code diff and can refuse a change whose new flow, store or boundary is missing, instead of discovering the gap at the next audit.

open as a page

How do you set threat-modeling cadence between modeling every story and modeling once?

level: seniorimportance: should knowfreq 48%

basics

~20 s

Attach modeling to design decisions rather than a fixed unit of work: a full session per epic or architecture change, plus a cheap per-story filter asking only whether this story changes the design. Both fixed extremes fail.

open as a page

Twenty threat models all assume CI runners cannot reach production databases, and nobody has tested it. What do you do?

level: seniorimportance: should knowfreq 44%

basics

~20 s

Turn the repeated assumption into a test the platform owns and runs continuously. An unverified inherited control is a shared belief, not a control, and twenty models depend on it, so one wrong belief invalidates all twenty at once.

open as a page

Your dashboard reports 94% of services threat-modeled: how do you check that number is honest?

level: seniorimportance: should knowfreq 44%

basics

~20 s

Interrogate the three hidden choices behind the percentage: which population forms the denominator, what test earns a service a tick in the numerator, and how recent the model must be to count. Then sample and reconcile against an independent inventory.

open as a page

How do you run an escaped-issue review when an incident hits a system you threat-modeled?

level: seniorimportance: should knowfreq 51%

basics

~20 s

Walk a fixed chain and stop at the first no: was it in scope, on the diagram, enumerated, rated correctly, accepted deliberately, controlled, and was the model current. Each stop names a different part of the practice to fix.

open as a page

How do you close a threat modeling session so the findings actually get acted on?

level: seniorimportance: should knowfreq 54%

basics

~20 s

Capture during the session, not after, and reserve the last ten minutes to give every finding a disposition, a named owner and a date, in the team's normal tracker. A list with no owners is not an outcome.

open as a page

What is your definition of done for a threat-model finding before its ticket can be closed?

level: seniorimportance: should knowfreq 50%

basics

~20 s

Done means the agreed control is merged and running in the environment the threat targets, and evidence exists that fails if the control is removed. A design note, a ticket comment or a reviewer's approval is not done.

open as a page

How do you validate an LLM-drafted threat model that may omit components or assert controls you lack?

level: seniorimportance: should knowfreq 43%

basics

~20 s

Check the inventory before the threats: reconcile every component and data store in the draft against the real system, then make an owner point at evidence for each control the draft claims exists. Anything unverified reverts to a stated assumption.

open as a page

With a security champion in every squad, what should the central security team still own itself?

level: principalimportance: should knowfreq 49%

basics

~20 s

The centre keeps the method, not every session: curriculum and coaching, a small library of reference models, a published risk line above which it reviews the design itself, and a sample review that stops model quality drifting.

open as a page

Your squad's only threat modeling champion resigns four months in — how do you keep the practice alive?

level: seniorimportance: nice to knowfreq 31%

basics

~20 s

Treat champion turnover as expected. Before the champion leaves, get the models and the reasoning behind them into the squad's repository, hand over to a named successor who inherits the same protected hours, and have the central team cover the gap.

open as a page

Automation filed 180 generated threats as tickets overnight and the team closed most in a day. What does that tell you?

level: principalimportance: nice to knowfreq 28%

basics

~20 s

It tells you auto-filing moved review work onto a sprint board without doing any of it. Mass closure is the team correctly rejecting undifferentiated output, and the real cost is that the next genuine finding gets closed the same way.

open as a page

IriusRisk returns 300 countermeasures for one regulated payments design. How do you turn that into work a team will do?

level: principalimportance: nice to knowfreq 30%

basics

~20 s

Treat the output as an inventory of what the library knows, not a backlog. Re-rank against your product's real assets, record a reason on every dismissal, ticket only what changes the design, and tune the rules.

open as a page

A threagile run emits 240 risks whose tracking status lives in the repo — who may mark one accepted?

level: principalimportance: nice to knowfreq 31%

basics

~20 s

Whoever owns the consequence, not whoever can merge. Storing tracking statuses in the model repo makes acceptance a one-line code change, so it needs a named accountable owner, a stated expiry and a review path stricter than an ordinary merge.

open as a page

How do you retire a threat model for a decommissioned service so it stops being cited as evidence?

level: principalimportance: nice to knowfreq 20%

basics

~20 s

Give every model a status and a verification date, mark this one retired with the date, reason and successor, and generate assurance packs from the live index rather than circulated copies, so a retired model can never read as current coverage.

open as a page

In what order do you threat-model an estate of 140 services with no existing models?

level: principalimportance: nice to knowfreq 34%

basics

~20 s

Rank by consequence and reach, not alphabetically: services that cross an external or tenant boundary, hold the most damaging assets, or sit on the critical path go first. Accept that the long tail never gets a full model.

open as a page

showing 1–30 of 34