From epic
Runs a security review checklist with optional engagement scoping. Auto-activates when diff touches auth, DB, API, infra, or secrets.
How this skill is triggered — by the user, by Claude, or both
Slash command
/epic:secureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
NO DEPLOYMENT WITHOUT SECURITY REVIEW OF ALL CHANGED FILES. Every code change is a potential attack vector.
NO DEPLOYMENT WITHOUT SECURITY REVIEW OF ALL CHANGED FILES. Every code change is a potential attack vector.
Check for engagement scoping:
cat .harness/engagement.md 2>/dev/null
If .harness/engagement.md exists:
If not found: apply full OWASP Top 10 checklist (default behavior). No scope restrictions.
See references/engagement.md for the engagement file format.
Identify security-relevant changes from the diff (auth, DB, API, infra, secrets).
Run the Checklist below, marking each item as pass, fail, or N/A with reason.
For each failure, cite the file and line number with severity (CRITICAL/HIGH/MEDIUM). Report findings using the Evidence Required section.
eval(), exec(), or template injection vectors — these functions execute arbitrary code and bypass all input validation.env files in .gitignore — committed .env files expose secrets permanently even after deletion (git history retains them)See references/security.md for the full OWASP Top 10 checklist.
| Excuse | Rebuttal | What to do instead |
|---|---|---|
| "This is internal-only, no security risk" | Internal tools get exposed. Assume every endpoint is public-facing. | Apply the same security standards as public APIs. |
| "We'll add security later" | Security debt compounds exponentially. Fix it now or pay 10x later. | Build it secure from the start. Retrofitting misses edge cases. |
| "The framework handles security" | Frameworks provide tools, not guarantees. OWASP Top 10 still applies. | Verify framework defaults and add application-layer checks. |
| "Security review is overkill for this" | One missed injection is a breach. Every input surface matters. | Run the checklist. It takes 2 minutes, a breach takes months. |
| "We'll harden it before production" | Security bolted on later is always incomplete. | Build it secure now. Retrofitting misses edge cases. |
| "It's an internal API, no one will abuse it" | Lateral movement attacks start from internal APIs. | Internal does not mean trusted. Validate and authorize every request. |
| "I'll just disable CORS for development" | Dev shortcuts leak into production. | Use a proper CORS allow-list from day one. |
| "Engagement scoping is bureaucratic overhead" | Unscoped assessments waste time on irrelevant surface area. | Define scope once, get focused results. Opt-in only. |
Before claiming security review is complete, show ALL applicable:
grep -r "sk-\|password\s*=" --include="*.{ts,js,py}" . shows clean.env in .gitignore: confirmedA blank checklist is not a review. Each item needs a pass or N/A.
HTTP instead of HTTPS for sensitive dataeval() or string-concatenated SQL anywhere.harness/engagement.md is presentGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub epicsagas/epic-harness --plugin epic-harness