Agent Skills
› mtarcure/claude-vibe-squad
› security-threat-model
security-threat-model
GitHub用于在系统设计或审查前构建精简威胁模型。明确资产、对手及信任边界,按STRIDE枚举威胁,区分控制措施的有效性,评估剩余风险并做出处置决策,终止于预设阈值。
触发场景
设计系统架构
审查安全策略
分析信任边界
安装
npx skills add mtarcure/claude-vibe-squad --skill security-threat-model -g -y
SKILL.md
Frontmatter
{
"name": "security-threat-model",
"audience": "specialist",
"description": "Use before designing or reviewing a system whose assets, adversary, trust zones, and residual risks are not yet explicit: enumerate reachable STRIDE threats at each boundary, distinguish observed controls from assumptions, and terminate at a declared reporting floor."
}
Security Threat Model
Build a threat model that is right-sized to the system and that terminates, rather than one that expands until every mechanism looks unsafe.
Steps
- State the asset: what is actually worth protecting here — data, funds, availability, integrity of a decision — and what its loss would cost.
- State the adversary: capability, position, and motivation. An unbounded adversary produces an unbounded model and no decisions.
- Draw the system as trust zones and the flows that cross them. Every trust-zone crossing is where the model does its work; flows inside a zone rarely are.
- For each crossing, enumerate threats systematically — spoofing, tampering, repudiation, disclosure, denial, elevation — and keep only those the stated adversary can reach.
- Record the existing control for each retained threat and whether it was observed working or merely assumed to exist. Assumed controls are gaps.
- Rank residual risk by asset loss × adversary reach, using
review-severity-ladder, and stop enumerating below the agreed floor. - Decide per residual: mitigate, bound the mechanism, remove the mechanism, or accept with a documented rationale and a revisit condition.
- When the model keeps producing unmitigable criticals on one mechanism, remove or bound that mechanism — chasing an airtight control is the wrong response.
- Write the assumptions down as first-class output; the assumptions are what will be wrong later, and they are what a reviewer should attack.
Acceptance
- Asset, adversary capability, and trust zones are stated before any threat is listed.
- Threats are enumerated per trust-zone crossing and filtered to the stated adversary.
- Every control is marked observed or assumed; assumed controls are treated as gaps.
- Residuals carry an explicit decision — mitigate, bound, remove, or accept with rationale and revisit condition.
- Assumptions are recorded as their own section, and the model terminates at a stated floor.
版本历史
- d5262e2 当前 2026-09-11 11:26


