跳到主要内容
知仓学习社ZHICANG

threat-model-discipline

Use when starting an engagement, before exploitation, or whenever the attack surface changes — build/validate the threat model and detect drift (new…

读文件写文件无严重或高危命中hypnguyen1209/offensive-claude

它会碰到什么

扫了多少2 个文本文件,8 KB
它会碰到什么读文件写文件
命中总数2 处
命中统计严重 0 · 高 0 · 中 2 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Threat-Model Discipline

Overview

You cannot test what you have not modeled. A threat model names the assets, entry points, trust

boundaries, relevant ATT&CK techniques, and existing mitigations — so coverage is deliberate, not

accidental. On a long engagement the surface drifts (a new endpoint, a new dependency); **un-reviewed

drift is where bugs hide.** This skill keeps the model complete and re-checks it for drift.

When to Activate

  • At engagement start (after recon-osint), before weaponize/exploit.
  • Whenever recon is re-run or the target changes — to catch new attack surface.
  • At /engage.gate — the gate refuses to advance on un-acknowledged drift.

The model (JSON, materialized from recon)

threat-model.json (see templates/threat-model/): five required lists —

assets, entry_points, trust_boundaries, attck (technique ids), mitigations.

# 1. Lint - every required field present, no placeholders, valid ATT&CK ids
python skills/threat-model-discipline/scripts/threatmodel_lint.py lint .engage/recon/threat-model.json

# 2. Drift - diff a re-run against the reviewed baseline; NEW entry points/assets/boundaries are
#    unreviewed surface and BLOCK the gate until re-reviewed or acknowledged
python skills/threat-model-discipline/scripts/threatmodel_lint.py drift \
    .engage/recon/threat-model.baseline.json .engage/recon/threat-model.json

Or use /engage.threatmodel (materialize | lint | drift).

Red Flags — STOP

  • "We'll model it as we go" — unmodeled surface = untested surface. Model first.
  • "Recon changed but the threat model didn't" — re-run drift; new surface must be re-reviewed.
  • A threat model full of TBD/[fill in] — that is not a model; the lint fails it.
  • A new entry_point appeared and you proceeded anyway — that is the exact gap attackers use.

Rationalizations

| Excuse | Reality |

|--------|---------|

| "The model is obvious, skip it" | Obvious to you ≠ documented. Coverage you can't diff is coverage you can't trust. |

| "Drift is just noise" | A new entry point is new attack surface. Acknowledge it explicitly or re-review. |

| "ATT&CK mapping is busywork" | It turns 'we tested stuff' into 'we covered these techniques' — the report's backbone. |

Pairs with scope-discipline (what you may touch) and finding-discipline (what counts as proven).

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。