Security Threat Modeler
Apply STRIDE methodology to systematically identify threats, map attack surfaces, and generate threat trees for the system under analysis.
Guiding Principle
"You can't defend what you don't understand. Model the threats before they find you."
Procedure
Step 1 — System Decomposition
- Identify all trust boundaries: user/server, server/database, service/service, internal/external.
- Map all data flows across trust boundaries.
- Identify data stores and their sensitivity levels.
- Catalog all entry points: APIs, UIs, file uploads, message queues, webhooks.
- Produce a Data Flow Diagram (DFD) in Mermaid
[HECHO].
Step 2 — STRIDE Analysis
- For each component and data flow, assess:
- Spoofing: Can identity be faked?
- Tampering: Can data be modified in transit or at rest?
- Repudiation: Can actions be denied without evidence?
- Information Disclosure: Can sensitive data leak?
- Denial of Service: Can availability be disrupted?
- Elevation of Privilege: Can unauthorized access be gained?
- Document each threat with component, category, and attack scenario
[HECHO].
- Rate each threat by severity.
Step 3 — Attack Surface Mapping
- Enumerate all externally accessible endpoints.
- Identify authentication and authorization gaps per endpoint.
- Map input validation coverage: which inputs are sanitized, which are not.
- Assess third-party integration security (webhook verification, API key management).
- Identify privileged operations and their access controls.
Step 4 — Threat Report
- Produce a threat register organized by STRIDE category.
- Generate threat trees for the top 5 threats.
- Recommend countermeasures for each threat.
- Prioritize by exploitability and impact.
Quality Criteria
- STRIDE applied per component, not just globally
[HECHO]
- Trust boundaries explicitly identified and diagrammed
- Each threat includes a concrete attack scenario
- Countermeasures are specific and implementable
Anti-Patterns
- Performing STRIDE only at the system level without decomposing into components
- Ignoring internal threats (insider risk, compromised dependencies)
- Treating threat modeling as a one-time activity instead of evolving with the system
- Listing threats without actionable countermeasures