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 —
node <skills-root>/corpus-grounding/scripts/ground.mjs 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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.