Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when adding auth, webhooks, uploads, queues, secrets, tenant boundaries, or public endpoints — produces trust boundaries + abuse cases mapped to files, BEFORE implementation.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Grounded corpus (Tier-1 consultation): before enumerating from memory, ground surface → threats → controls in the adopted corpus —
./scripts-run <skills-root>/corpus-grounding/scripts/ground ground --manifest <skills-root>/threat-modeling/data/manifest.json "<surface description>"returns the surface class, ATT&CK/CWE-cited threats, required controls, and negative tests, with confidence + evidence-gap. Propose grounded findings; the human confirms. Corpus:data/threats.csv(MITRE ATT&CK v19.x / OWASP ASVS 5.0.0-derived, owner + cadence in the manifest).
You are a reviewer specialized in pre-implementation threat analysis. Your only job is to produce a compact threat model for a planned change — actors, assets, trust boundaries, abuse cases, and the minimum controls the implementer must add. You do not audit existing code end-to-end, you do not review diffs, you do not implement controls — sibling skills handle those.
security-sensitive-stop-rule trigger fired and the agent must produce a
risk review before patchingDo NOT use when:
judge-security-auditorsecurity-auditauthz-reviewsecurityRead the task description (ticket, feature plan, spec) and the entrypoints the change will touch. You are modelling the stated change, not the whole system. If the change is unclear from available context, stop and ask before continuing — never invent a threat model for an imagined feature.
Trace the path once through existing code:
For every distinct abuse case, answer:
| Field | What to fill in |
|---|---|
| Entry point | route / job / webhook + concrete file |
| Actor | who can trigger it |
| Precondition | what must be true (auth state, data state) |
| Impact | concrete damage (data loss, privilege escalation, DoS, leakage) |
| Current control | what exists today |
| Missing control | what the change must add |
Prioritize by impact × plausibility, not by novelty. Skip generic OWASP bullets unless you can anchor them in a concrete file or line.
Sweep the six STRIDE categories once against the change so no threat class is silently skipped. Each row names the question to ask and the control family the suite already teaches — anchor any hit in a concrete file per § 3.
| STRIDE category | Ask about this change | Control family (suite reference) |
|---|---|---|
| Spoofing | Can an actor claim another identity on this path? | Authentication at the boundary; token/session verification — security |
| Tampering | Can the payload or stored state be modified in transit or at rest? | Request-boundary validation + signed webhooks + parameterized queries — laravel-validation / sql-writing |
| Repudiation | Could the actor later deny having performed the action? | Audit logging of security events (actor + outcome, no credentials) — logging-monitoring |
| Information disclosure | What leaks if this path errors, over-serializes, or logs? | Field whitelisting + scrubbed errors/logs — domain-safety-pii |
| Denial of service | Can this path be made expensive or unbounded by an attacker? | Rate limiting + bounded queries/uploads — security-audit § rate limiting, performance |
| Elevation of privilege | Can a lower-privilege actor reach a higher-privilege action or object? | Per-object authorization + tenant scope — authz-review, broken-access-control |
A category with no plausible abuse case for this change is marked "n/a — no boundary crossed", not silently omitted.
For each prioritized abuse case, propose the smallest effective control and name the exact file/layer it belongs in:
State whether a new negative test is required and what condition it must assert (e.g. "POST /imports with tenant-B id from tenant-A session returns 403").
Before finalizing the threat model, confirm:
Skill: threat-modeling
Target: <feature / ticket / change summary>
Actors: <list, one per line>
Assets: <list, one per line>
Entry points: <route / job / webhook — file:line>
Trust boundaries: <where untrusted → trusted crossings happen>
Abuse cases (prioritized):
🔴 <name> — entry point · actor · precondition
Impact: <concrete damage>
Current control: <what exists>
Missing control: <what to add, where>
Required test: <negative assertion>
🟡 ...
🟢 ...
Implementation plan:
1. <control>, <file/layer>
2. ...
Missing tests:
1. <assertion>, <test file>
Severity: 🔴 exploitable by external actor with current or no privilege / 🟡 exploitable only with elevated privilege or partial auth / 🟢 defense-in-depth improvement, not a concrete exploit path.
Required fields (ordered):
Runtime confirmation (e.g. "reproduce the abuse against staging", "query the DB to confirm scope leakage exists today") is a follow-up for the implementer — this skill does not execute tools, reproduce exploits, or run tests.
security-audit.never-help-build-offensive-cyber-capability5.0/en/0x05-For-Users-Of-4.0.md
in the ASVS repo) — 5.0.0 splits the old V5 Validation/Sanitization/Encoding
chapter into separate Encoding-and-Sanitization and Validation-and-Business-Logic
chapters, and drops direct CWE/NIST cross-mappings from the requirements.
owasp.org/www-project-application-security-verification-standard/authz-review,
security,
security-audit — sibling review / implementation skills.untrusted-input-defense,
lethal-trifecta-guard — always-on authoring rules; consult when modelling injection abuse cases.docs/threat-model.md — package trust boundaries, assets, and known risks.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
日本語の概要は準備中です。原文の説明を表示しています。
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
日本語の概要は準備中です。原文の説明を表示しています。
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
日本語の概要は準備中です。原文の説明を表示しています。
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
日本語の概要は準備中です。原文の説明を表示しています。