From appsec
This skill should be used when the user asks to "check for design flaws", "analyze security design", "find insecure design patterns", "review threat model", "check business logic security", "find missing security controls", or mentions "insecure design" in a security context. Maps to OWASP Top 10 2021 A04:2021 - Insecure Design.
npx claudepluginhub florianbuetow/claude-code --plugin appsecThis skill uses the workspace's default tool permissions.
Analyze application architecture and code for missing or ineffective security
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.
Analyze application architecture and code for missing or ineffective security controls that result from absent threat modeling, insufficient security requirements, or failure to use secure design patterns. This is the most subjective OWASP category -- automated scanners provide minimal coverage, so Claude's architectural reasoning is the primary value.
Read ../../shared/schemas/flags.md for the full flag specification. This skill
supports all cross-cutting flags. Key behaviors:
| Flag | Insecure Design-Specific Behavior |
|---|---|
--scope | Default changed. Broader scopes (branch, full) are strongly recommended since design flaws are architectural. |
--depth quick | Check for obvious missing controls (rate limiting, CSRF tokens, security headers). Pattern scan only. |
--depth standard | Full code read of scoped files, analyze request flows and business logic for design gaps. |
--depth deep | Standard + map full request lifecycle, identify trust boundaries, analyze defense-in-depth layering across the codebase. |
--depth expert | Deep + threat model construction, attack tree analysis, DREAD scoring per design flaw. |
--severity | Filter output. Insecure design findings span all severity levels. |
--fix | Generate implementation suggestions for missing controls. |
--explain | Especially useful for this category: adds threat modeling context and design rationale. |
OWASP A04:2021 - Insecure Design
Missing or ineffective security controls as a result of missing threat modeling during design. Unlike implementation bugs (e.g., SQL injection), insecure design refers to the absence of security controls that should have been designed in from the start. No amount of perfect implementation can fix a fundamentally insecure design.
Key concern areas:
STRIDE Mapping: All categories (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege)
Read references/detection-patterns.md for the full pattern catalog with
language-specific examples, regex heuristics, and false positive guidance.
Pattern Summary:
--scope flag (default: changed).file: or changed), warn that design analysis benefits
from broader scope and suggest --scope branch or --scope full.Design flaws have minimal scanner coverage. Check for:
| Scanner | Detect | Design Coverage |
|---|---|---|
| semgrep | which semgrep | Limited: can detect some missing security headers, CSRF patterns |
For this category, Claude analysis is the primary detection method. Scanners provide supplementary signal at best. Note in output: "Insecure design analysis is primarily reasoning-based. Scanner coverage for this category is minimal."
If semgrep is available, run with rules targeting:
semgrep scan --config auto --json --quiet <target>
Filter results to design-relevant rules only. Normalize to findings schema.
This is the core of insecure design detection. Read scoped files and evaluate:
Map the application architecture:
Evaluate security control presence:
Analyze trust boundaries:
Evaluate defense in depth:
Assess business logic security:
At --depth deep or --depth expert, construct a lightweight threat model:
Output findings using the format from ../../shared/schemas/findings.md.
Each finding must include:
DESGN-001, DESGN-002, etc.Because design findings are inherently more subjective than implementation bugs,
include clear reasoning for each finding. Explain why the control is expected and
what threat it mitigates. Use confidence: medium for most design findings unless
the absence is unambiguous (e.g., zero rate limiting on a public login endpoint).
These are the primary insecure design patterns to detect. Each has detailed
examples and heuristics in references/detection-patterns.md.
Primary: Claude reasoning-based analysis (scanners provide minimal coverage
for design flaws).
Supplementary: semgrep (limited rules for missing headers, CSRF patterns).
Fallback: Grep regex patterns from references/detection-patterns.md.
This category relies primarily on Claude's ability to:
Scanner findings for this category should be treated as supplementary evidence, not primary detection. Report scanner status but emphasize that design analysis is reasoning-based.
Use finding ID prefix DESGN (e.g., DESGN-001, DESGN-002).
All findings follow the schema in ../../shared/schemas/findings.md with:
references.owasp: "A04:2021"references.stride: One or more of "S", "T", "R", "I", "D", "E"metadata.tool: "insecure-design"metadata.framework: "owasp"metadata.category: "A04"CWE Mapping by Design Flaw Type:
| Design Flaw | CWE | Typical Severity |
|---|---|---|
| Missing rate limiting | CWE-770 | high |
| No CSRF protection | CWE-352 | high |
| Missing account lockout | CWE-307 | high |
| Client-side-only validation | CWE-602 | high |
| Missing security headers | CWE-693 | medium |
| No defense in depth | CWE-657 | medium |
| Business logic flaws | CWE-840 | high |
| Missing tenant isolation | CWE-284 | critical |
| No idempotency controls | CWE-362 | medium |
After all findings, output a summary:
| Design Flaw Category | Critical | High | Medium | Low |
|------------------------|----------|------|--------|-----|
| Rate Limiting | | | | |
| CSRF Protection | | | | |
| Account Security | | | | |
| Input Validation | | | | |
| Security Headers | | | | |
| Trust Boundaries | | | | |
| Defense in Depth | | | | |
| Business Logic | | | | |
Followed by: top 3 priorities, threat model observations (at --depth deep+),
and overall design security assessment.