Threat Model Spec v0.4.0 Enhancement Plan¶
Status: ✅ Completed (2026-04-19)
All 10 planned enhancements were implemented in v0.4.0.
This document outlines planned enhancements to the threat-model-spec project to provide more comprehensive threat modeling capabilities.
Overview¶
The current implementation provides strong support for:
- STRIDE threat categories
- MITRE ATT&CK/ATLAS mappings
- OWASP Top 10 (API, LLM, Web)
- CWE mappings
- CVSS scoring
- Asset classification
- DFD, attack-chain, sequence diagrams
The enhancements below address gaps in mitigation tracking, compliance mapping, privacy frameworks, and threat lifecycle management.
Planned Enhancements¶
1. Mitigations/Countermeasures¶
Priority: High
Add the ability to document how identified threats are addressed. This is the most commonly requested feature in threat modeling tools.
New Types:
Mitigation- Links threats to controls with status trackingMitigationStatus- Enum: implemented, planned, accepted, transferred, not-applicable
Fields:
- ID, ThreatIDs (links to threats), Control, Status, Owner, Description, VerifiedDate
2. Threat Status Tracking¶
Priority: High
Track the lifecycle of identified threats from identification through resolution.
New Type:
ThreatStatus- Enum: identified, analyzing, mitigated, accepted, transferred, monitoring
Integration:
- Add Status field to Attack, Flow (attack type), and STRIDEMapping types
3. Control Framework Mappings¶
Priority: High
Bridge threat models to security control frameworks for compliance and audit purposes.
New Mappings:
NISTCSFMapping- NIST Cybersecurity Framework (Identify, Protect, Detect, Respond, Recover)CISControlMapping- CIS Critical Security Controls v8ISO27001Mapping- ISO 27001 control references
4. Compliance Framework References¶
Priority: Medium
Map threats and mitigations to regulatory compliance requirements.
New Type:
ComplianceMapping- Links to SOC 2, PCI-DSS, HIPAA, GDPR, etc.
5. LINDDUN Privacy Framework¶
Priority: Medium
Support privacy-focused threat modeling alongside STRIDE.
New Types:
LINDDUNThreat- Enum: L, I, N, D, D2, U, N2LINDDUNMapping- Privacy threat mapping with affected data types
6. Threat Actors/Adversary Profiles¶
Priority: Medium
Document adversary capabilities and motivations for risk-based prioritization.
New Type:
ThreatActor- Type, sophistication, motivation, resources, TTPs
7. Detection/Response Capabilities¶
Priority: Medium
Document how threats would be detected and responded to.
New Type:
Detection- Method, data source, coverage level, response playbook reference
8. Assumptions and Prerequisites¶
Priority: Low
Document trust assumptions that underlie the threat model.
New Type:
Assumption- Description, impact if violated, validation status
9. CVE References¶
Priority: Low
Link threat models to specific known vulnerabilities.
New Mapping:
CVEMapping- CVE ID, description, affected components, URL
10. Attack Trees Diagram Type¶
Priority: Low
Add hierarchical threat decomposition visualization.
New Diagram Type:
attack-tree- Root goal, sub-goals, AND/OR nodes, leaf attacks
Architecture Decisions¶
Non-Breaking Changes¶
All additions will be backward-compatible:
- New fields use
omitemptytags - Existing JSON files remain valid
- New types are additive to existing structures
File Organization¶
New types will be organized as:
ir/mitigations.go- Mitigation and threat status typesir/controls.go- Control framework mappings (NIST CSF, CIS, ISO 27001)ir/compliance.go- Compliance framework mappingsir/linddun.go- LINDDUN privacy frameworkir/threat_actor.go- Threat actor profilesir/detection.go- Detection and response typesir/assumptions.go- Assumptions and prerequisites
Schema Regeneration¶
After adding new types:
- Run
go generate ./...to regenerate JSON schemas - Update embedded schemas in
schema/directory - Validate with
schemago lint
Implementation Order¶
- Phase 1 (High Priority)
- Mitigations and MitigationStatus
- Threat status tracking
-
Control framework mappings (NIST CSF, CIS)
-
Phase 2 (Medium Priority)
- Compliance framework references
- LINDDUN privacy framework
- Threat actors
-
Detection capabilities
-
Phase 3 (Low Priority)
- Assumptions
- CVE references
- Attack trees diagram type
Testing Strategy¶
- Unit tests for all new types
- Validation tests for new fields
- Integration tests with D2 rendering
- STIX export tests for new mappings
- Example threat models demonstrating new features