From appsec
This skill should be used when the user asks to "run STRIDE analysis", "check STRIDE", "threat model with STRIDE", or invokes /appsec:stride. Dispatches 6 category subagents (S-T-R-I-D-E) in parallel for comprehensive STRIDE threat modeling coverage.
npx claudepluginhub florianbuetow/claude-code --plugin appsecThis skill uses the workspace's default tool permissions.
Dispatch parallel subagents covering all 6 STRIDE threat categories. Each
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
Dispatch parallel subagents covering all 6 STRIDE threat categories. Each category runs as an independent subagent analyzing the scoped code for that class of threat. STRIDE maps each category to a violated security property: Spoofing (Authentication), Tampering (Integrity), Repudiation (Non-repudiation), Information Disclosure (Confidentiality), Denial of Service (Availability), Elevation of Privilege (Authorization).
Read ../../shared/schemas/flags.md for the
full flag specification. This dispatcher supports all cross-cutting flags.
| Flag | Dispatcher-Specific Behavior |
|---|---|
--scope | Propagated to all subagents. Default changed. |
--depth | Propagated to all subagents. Default standard. |
--severity | Applied during consolidation to filter the merged output. |
--format | Applied to final consolidated output. |
--only S,T,E | Run only the listed categories. Accepts comma-separated STRIDE letters (e.g., S, T, R, I, D, E). Unlisted categories are skipped. |
--fix | Propagated to subagents; each produces fix suggestions inline. |
--quiet | Propagated to subagents; suppress explanations. |
--explain | Propagated to subagents; add learning material per finding. |
Read ../../shared/frameworks/stride.md
for the full STRIDE framework specification including threat descriptions,
per-element applicability matrix, risk assessment guidance, and documentation
templates.
All 6 STRIDE categories are typically relevant to any codebase with user-facing functionality. However, perform a lightweight scan to confirm the codebase has code to analyze, and to build a targeted file list for each subagent.
| Category | Skill | Relevant File Patterns | Notes |
|---|---|---|---|
| S - Spoofing | spoofing | Auth controllers, session middleware, token validation, login/register routes | Almost always relevant if the app has users |
| T - Tampering | tampering | Input handlers, database queries, API endpoints, file operations, config files | Almost always relevant |
| R - Repudiation | repudiation | Logging config, audit trail, transaction records, security event handlers | Relevant if there are security-sensitive actions |
| I - Information Disclosure | info-disclosure | Error handlers, API responses, log statements, config files, environment variables | Almost always relevant |
| D - Denial of Service | dos | Input parsers, regex patterns, resource allocation, file uploads, API rate limiting | Almost always relevant |
| E - Elevation of Privilege | privilege-escalation | Authorization middleware, role checks, admin routes, permission models, RBAC config | Almost always relevant if the app has roles |
For each category, use Glob and Grep to build a focused file list of the most relevant files. Pass this scoped list to the subagent rather than the full scope, so each subagent focuses on its area of expertise.
If --only is specified, dispatch only the listed categories.
CRITICAL: All Task tool calls MUST appear in the SAME response message. This is what triggers parallel execution. If you emit them across separate messages, they run sequentially and waste time.
| Letter | Subagent Skill | Finding Prefix | Security Property | Focus |
|---|---|---|---|---|
| S | skills/spoofing/SKILL.md | SPOOF | Authentication | Credential theft, session hijacking, token manipulation, identity impersonation |
| T | skills/tampering/SKILL.md | TAMP | Integrity | SQL injection, parameter tampering, MITM, file modification, config tampering |
| R | skills/repudiation/SKILL.md | REPUD | Non-repudiation | Missing audit logs, log tampering, insufficient forensic evidence |
| I | skills/info-disclosure/SKILL.md | DISC | Confidentiality | Data breaches, error message leaks, timing attacks, cleartext transmission |
| D | skills/dos/SKILL.md | DOS | Availability | Resource exhaustion, algorithmic complexity, DDoS, decompression bombs |
| E | skills/privilege-escalation/SKILL.md | PRIV | Authorization | Broken access control, IDOR, JWT manipulation, role confusion |
Each subagent Task call must include a FULLY self-contained prompt. Subagents get their own isolated context window and cannot see the main conversation.
Each subagent prompt must contain:
--scope, --depth, --severity, --format, etc.).shared/schemas/findings.md) for output format.Analyze the following files for STRIDE {LETTER} ({CATEGORY_NAME}) threats:
FILES:
{FILE_LIST}
STEP 1: Read the skill definition at:
{ABSOLUTE_PATH_TO_PLUGIN}/skills/{SKILL_NAME}/SKILL.md
STEP 2: Follow the workflow defined in that skill to analyze the listed files.
Focus on threats to the {SECURITY_PROPERTY} security property.
STEP 3: Read the findings schema at:
{ABSOLUTE_PATH_TO_PLUGIN}/shared/schemas/findings.md
STEP 4: Output findings in the schema format. Set metadata.framework to "stride"
and metadata.category to "{LETTER}".
FLAGS: --scope {SCOPE} --depth {DEPTH} --severity {SEVERITY}
IMPORTANT: Return ONLY the findings list. Do NOT produce a summary or
cross-category analysis. The dispatcher handles consolidation.
Emit one Task tool call per relevant category, ALL in a single response:
subagent_type: "general-purpose"description: "STRIDE {LETTER} - {CATEGORY_NAME}"prompt: The fully self-contained prompt above, filled in for this category.Do NOT emit Task calls one at a time. Do NOT wait between dispatches.
After ALL subagents return their results:
Collect all findings from all subagent responses into a single list.
Two findings are duplicates if they share the same location.file AND
location.line (or overlapping line ranges). When duplicates exist:
T and I keeps both in
references.stride).For each finding, populate cross-framework references where known:
references.owasp: Map to OWASP Top 10 category.references.cwe: Map to CWE identifier.references.mitre_attck: Map to ATT&CK technique ID.references.sans_cwe25: Map to SANS/CWE Top 25 rank if applicable.Use the cross-framework mapping tables in stride.md for guidance.
Build a summary matrix showing which STRIDE categories produced findings for each component or trust boundary. This mirrors the STRIDE per-element analysis approach:
| Component | S | T | R | I | D | E | Findings |
|---|---|---|---|---|---|---|---|
| Auth controller | X | X | SPOOF-001, PRIV-003 | ||||
| API gateway | X | X | X | TAMP-002, DISC-001 |
Sort findings: critical > high > medium > low. Within the same severity, sort by confidence (high > medium > low).
Wrap the consolidated findings in the aggregate output format from
shared/schemas/findings.md, including categories_checked,
categories_skipped, total_findings, and by_severity.
Output the consolidated report in the requested --format. Include:
If --depth expert is set, after consolidation, launch red team subagents
to simulate exploitation of the findings. Each red team agent receives the
consolidated findings and constructs multi-step attack chains that cross
STRIDE categories (e.g., Spoofing leads to Elevation of Privilege).
Read ../../shared/frameworks/dread.md for
DREAD scoring criteria. Each finding receives a DREAD score in expert mode.
Launch red team agents as parallel Task calls (same single-response rule).
Red team output is appended to findings with prefix RT and
metadata.tool set to "red-team".