Threat Model
Agile threat modeling as an agent-guided concept model. Guides structured threat assessment through progressive discovery: scope, identify, evaluate, mitigate, posture. Stores versioned threat models with automatic risk matrix computation, control coverage tracking, and a compact posture snapshot for monitoring.
Follows the discipline's methodology: identify threats, assess likelihood × impact, define compensating controls, and track residual risk through mitigated/accepted/deferred/unaddressed status per scenario.
2026.08.28.1
Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.
Upgrade note: License text only. No API, schema, or runtime behavior changed.
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| likelihoodScale | string | Definition of likelihood levels for consistent scoring |
| impactScale | string | Definition of impact levels for consistent scoring |
| mitigationFramework | string | Reference framework for control selection (CWE, NIST, OWASP, custom) |
| Argument | Type | Description |
|---|---|---|
| subject | string | What is being assessed (system, feature, change) |
| scope | string | Boundary statement: what is/is not included |
| currentPosture | string | Current security posture before this change |
| assets | array | Key assets at stake (credential types, data, integrations) |
| Argument | Type | Description |
|---|---|---|
| threats | array |
| Argument | Type | Description |
|---|---|---|
| openQuestions | array | |
| adjustments | array | Optional re-scoring of threats based on discussion |
| Argument | Type | Description |
|---|---|---|
| controls | array | |
| acceptances | array | |
| deferred | array | Threat IDs to mark as deferred |
| recommendation | string |
| Argument | Type | Description |
|---|---|---|
| changesNoted | array | Summary of changes identified during review discussion |
Resources
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
2026.08.26.1
Fixed: Added missing description field to upgrade entry for version
2026.08.24.2. The omission caused swamp extension pull to fail with a catalog
validation error ("upgrades.N.description: Invalid input: expected string,
received undefined").
2026.08.24.3
Added: Output metadata attributes for observability.
durationMs: Method execution duration in milliseconds.collectedBy: Extension name that produced the data.fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
2026.08.24.2
Added Troubleshooting section documenting strict method ordering, threat ID validation, hardcoded risk matrix, and read-only revisit method.
2026.08.21.2
Changed: evaluate and mitigate now validate that the threat IDs they
reference actually exist in the current assessment before applying any
change. Previously, calling evaluate with an adjustment for a typo'd or
stale threatId, or calling mitigate with a control's mitigates list, an
acceptance's threatId, or a deferred entry pointing at a threat ID that
was never identified, silently did nothing — the assessment was written back
unchanged with no indication that the reference didn't resolve. Both methods
now throw a descriptive error listing the unknown ID(s) and the known IDs on
the assessment, so a typo surfaces immediately instead of producing a
posture snapshot that quietly omits the intended change.
2026.08.21.1
Changed: Added .describe() to previously undocumented fields on the
AssetSchema, ThreatScenarioSchema, ControlSchema, AcceptanceSchema,
AssessmentSchema, and PostureSchema resource schemas (e.g. title,
description, effectiveness, acceptedBy, byStatus, byRiskLevel,
unmitigatedAboveThreshold). No behavioral change.
2026.07.18.1
Added: An upgrades array entry (no-op) to mod.ts for proper typeVersion tracking on existing instances. No schema or behavior changes.
2026.07.18.1
Added: An upgrades array entry (no-op) to mod.ts for proper typeVersion tracking on existing instances. No schema or behavior changes.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned