🚀 Submit a Challenge — SecDim AppSec Village CTF at DEF CON 34 and Win a ROG Xbox Ally

Rapid Threat Modelling for Developers

4h 5mBeginnerSecure DesignFeatured

Learn to identify who can attack your system, where trust boundaries sit, and what categories of threat apply to each feature you build before you write a line of code. Using the SecDim Threat Thinking Model, you will run structured threat analysis on real features in under 30 minutes, without a security background. The course covers AI-assisted threat enumeration, the new attack surface introduced by LLM-powered features, and two hands-on labs where you model a live system and exploit one yourself.

Topics

  1. Introduction

    Lesson5m

    Introduces the course structure, learning objectives, and the three-part arc: threat model foundations, attacker tactics, and AI as a modern threat surface. Describes what learners will build, do, and be able to apply by the end.

  2. Threat Actors and Attack Sources

    Lesson20m

    Covers the five categories of human threat actor and three non-human attack sources, each grounded in a real incident. Gives you the first question every threat model must answer: who would target this system, and what do they already have?

  3. Trust Boundaries

    Lesson20m

    Defines trust boundaries and shows where they appear in real systems: the internet edge, service-to-service calls, the database read path, third-party responses, and your own dependencies. Every boundary is a point where trust must be evaluated, not assumed.

  4. STRIDE

    Lesson20m

    Introduces STRIDE as six questions to ask about any feature: spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege. Each category is explained through a before-and-after code example showing the vulnerability and its fix.

  5. AI-Driven Threat Modelling

    Lesson20m

    Shows how to structure prompts that produce useful STRIDE threat lists from an LLM, and where AI output consistently falls short without developer-supplied context. Covers four named gap categories -- business logic, ownership models, internal service architecture, and timing side-channels -- with corrected code for each.

  6. SecDim Threat Thinking Model

    Lesson15m

    Introduces the SecDim Threat Thinking Matrix: a grid of five actor types against six plain-language threat categories that makes STRIDE coverage visible at a glance. Two worked examples with fully filled matrices show the feature-first and attack-first strategies in practice.

  7. Challenge the Assumptions

    Lesson15m

    Examines how attackers exploit the implicit assumptions baked into code logic -- negative amounts, skipped steps, out-of-order requests. Two worked examples (payment threshold and shopping cart flow) show how to read assumptions out of code and close them with explicit validation.

  8. Explore Internals and Externals

    Lesson15m

    Covers threats that originate from framework behaviour (SSTI, SSRF, mass assignment) and from business processes and physical access that surround the application. The help-desk password reset path demonstrates how a technically sound digital control can be bypassed by a human process.

  9. Exhaust Resources

    Lesson15m

    Explains how a small, valid input causes disproportionate resource consumption at the CPU, memory, filesystem, and database layers -- and how application-layer denial of service differs from infrastructure flooding. Introduces domain DoS: exhausting logical business resources that standard monitoring cannot observe.

  10. Threat Modelling Lab

    Lab30m

    Apply the SecDim Threat Thinking Matrix to Purple Car Online, a car catalogue whose recently departed manager is now a named threat actor. Run AI-assisted STRIDE analysis on the payment flow, play the attack-and-defence game in workshop or solo mode, and document the gaps between AI output and your own findings.

  11. AI as a New Threat Surface

    Lesson20m

    Builds a full threat model for an LLM-powered feature using the same actors, boundaries, and STRIDE vocabulary from earlier modules. Covers the four risk areas -- prompt injection, tool abuse, data leakage, and integrity drift -- with the attack surface map showing the three paths untrusted text can take.

  12. Securing AI Systems

    Lesson20m

    Implements the five structural controls for AI-powered features: secret isolation, tool gateway design, planner/executor separation, retrieval hardening, and output constraints. Each control is built in code, with a reference architecture showing how they compose into a safe agentic AI pattern.

  13. Hack Your Own Program

    Lab30m

    Put on an attacker's hat and work through two applications across five phases: reconnaissance, weaponisation, delivery, exploitation, and patch. Exploit a path traversal vulnerability and an IDOR, fix both at the root cause level, and map each finding to STRIDE categories and the threat actors who would realistically use them.