SecLab
Secure Design & Threat ModelingprojectDifficulty 4/538 min

Project: a one-page threat model for your own system

Objective: After this lesson you have a one-page threat model for a real feature of yours, with tickets and recorded risks.

V15A06:2025SSDF PO.1Microsoft SDL
Step 1 of 5 · read4 min

The final lesson, and why it is a project

The previous forty-four lessons taught you to recognise and fix bug classes. This one differs in kind: it teaches nothing new, it asks you to produce something usable at work.

That is why it is a project rather than a challenge. A challenge has an answer you can compare against; a project has an artefact whose value lies in applying to your own system — and nobody but you can verify that.

What to produce: a one-page threat model for a real feature in your project.

Three criteria for choosing the feature, and the third is the important one:

  1. It is being designed, or coding just started. Threat modeling after the code exists turns every finding into a refactor rather than a decision — as stride-in-practice argued.
  2. It touches money, permissions, or several customers' data. A feature that changes a UI colour has nothing to threat model.
  3. You are the person who will write its code. This criterion decides the value: abuse-cases argued that for business-logic bugs the person building the feature is the best finder, being the only one who knows which behaviour is correct for the business.

Rubric — six criteria, and 5 and 6 are what separate a good threat model:

#CriterionPassing means
1Data flowA diagram exists, hand-drawn is fine. Four boxes and four arrows suffice
2Trust boundariesMarked on the arrows, including boundaries that do not go over HTTP
3Six STRIDE lettersAll six considered, R and D included
4TicketsEach "fix" threat has a real, numbered ticket
5Accepted risksWith a reason, a decision-maker and a review date
6What you cannot stopStated explicitly, not left silent

Criterion 6 is the path's final one and the most worth carrying: every fix step in the previous forty-four lessons ended with the question "what does this patch not stop". That is not a presentational convention — it is a skill a tech lead recognises in somebody immediately, and it is what separates a usable security report from one that produces a feeling of safety.

View path

Comments

Join the discussion
Sign up to comment

Commenting needs an account with at least one completed lesson. That condition is what keeps this thread worth reading: every point belongs to someone who can be asked back, and reputation accrues over time.

Sign upSign in

You can still read every comment below without an account. Signing in brings you back to this exact spot, not to the top of the page.

Loading comments…