/engage.threatmodel
Materialize, lint, and drift-check the engagement threat model
> /plugin marketplace add hypnguyen1209/offensive-claude > /plugin install offensive-claude@offensive-claude-marketplace
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/engage.threatmodel
Context preview
What this command does when you run it.
Materialize, lint, and drift-check the engagement threat model
Command definition
engage.threatmodel.mddescription: Materialize, lint, and drift-check the engagement threat model
/engage.threatmodel
Builds the threat model from recon-osint output, lints it for completeness, and diffs a re-run against the reviewed baseline to catch new unreviewed attack surface (drift). Backed by `skills/threat-model-discipline/` + `scripts/threatmodel_lint.py`; the drift check hooks into `/engage.gate`.
Usage
`/engage.threatmodel {materialize|lint|drift} ...`
Process
1. **Materialize** — from recon-osint output, fill `templates/threat-model/threat-model.md` and its machine-readable `threat-model.json` (assets, entry_points, trust_boundaries, attck, mitigations). 2. **Lint** — `threatmodel_lint.py lint .engage/recon/threat-model.json`: every required field present, no `TBD`/`[fill in]` placeholders, valid ATT&CK ids. Exit 1 if incomplete. 3. **Baseline** — after review, save `threat-model.baseline.json`. 4. **Drift** — re-run recon → regenerate `threat-model.json` → `threatmodel_lint.py drift baseline.json threat-model.json`. A NEW entry point / asset / trust boundary is unreviewed surface and **blocks the gate** (exit 1) until re-reviewed or explicitly acknowledged. Removed surface is recorded but does not block.
Notes
- `attck` changes are not surface drift (they're coverage, not new surface) — only
entry_points/assets/trust_boundaries additions block.
- Pairs with `scope-discipline` (what's in bounds) and `finding-discipline` (what counts as proven).
Read more
description: Materialize, lint, and drift-check the engagement threat model
/engage.threatmodel
Builds the threat model from recon-osint output, lints it for completeness, and diffs a re-run against the reviewed baseline to catch new unreviewed attack surface (drift). Backed by `skills/threat-model-discipline/` + `scripts/threatmodel_lint.py`; the drift check hooks into `/engage.gate`.
Usage
`/engage.threatmodel {materialize|lint|drift} ...`
Process
1. **Materialize** — from recon-osint output, fill `templates/threat-model/threat-model.md` and its machine-readable `threat-model.json` (assets, entry_points, trust_boundaries, attck, mitigations). 2. **Lint** — `threatmodel_lint.py lint .engage/recon/threat-model.json`: every required field present, no `TBD`/`[fill in]` placeholders, valid ATT&CK ids. Exit 1 if incomplete. 3. **Baseline** — after review, save `threat-model.baseline.json`. 4. **Drift** — re-run recon → regenerate `threat-model.json` → `threatmodel_lint.py drift baseline.json threat-model.json`. A NEW entry point / asset / trust boundary is unreviewed surface and **blocks the gate** (exit 1) until re-reviewed or explicitly acknowledged. Removed surface is recorded but does not block.
Notes
- `attck` changes are not surface drift (they're coverage, not new surface) — only
entry_points/assets/trust_boundaries additions block.
- Pairs with `scope-discipline` (what's in bounds) and `finding-discipline` (what counts as proven).
A spec-driven offensive security framework for Claude Code — structured engagement workflows based on the Cyber Kill Chain, 31 kill-chain skills (multi-file progressive-disclosure) plus a discipline layer (a SessionStart dispatcher + 6 process/discipline
Repo: hypnguyen1209/offensive-claude
Other commands on offensive-claude.
- /engage.actions
Execute Phase 7 - Actions on Objectives and Goal Achievement
Open command - /engage.c2
Execute Phase 6 - Command and Control Infrastructure Setup
Open command - /engage.crash
Crash → root cause → reachability → empirical exploitability verdict (native bugs)
Open command - /engage.cvediff
Find the canonical fix commit(s) for a CVE across sources, then diff for root cause
Open command - /engage.deliver
Execute Phase 3 - Delivery and Payload Deployment
Open command - /engage.exploit
Execute Phase 4 - Exploitation and Access Establishment
Open command

