一键导入
secure
Security review checklist with optional engagement scoping. Use when auth, DB, API, infra, or secrets code is touched.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Security review checklist with optional engagement scoping. Use when auth, DB, API, infra, or secrets code is touched.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Ring 3 evolution engine. Analyzes session observations, generates and improves evolved skills, shows metrics dashboard. Subcommands: status, history, rollback, reset. Use for post-session review and skill improvement.
State-persisted autonomous pipeline: spec → go → audit → eval → ship → evolve in one command. Auto-detects direct/council/interactive mode. Crash-recoverable via PIPELINE-*.json. Hands-off until PR.
Core router. Always active. Auto-invokes matching skill before every response. Runs confusion protocol on high-risk ambiguity.
Loop-breaking self-diagnosis. Use when 3+ consecutive failures occur, circular retries persist, or context overwhelms the session.
Audit phase. Parallel review: code quality + security + tests. Semantic dedup of cross-mode findings. Outputs PASS/WARN/FAIL per dimension. Validates spec coverage.
Conventional Commits 1.0 generator. Stages relevant files, infers type(scope): description, never uses --no-verify.
| name | secure |
| dimension | control_and_safety |
| description | Security review checklist with optional engagement scoping. Use when auth, DB, API, infra, or secrets code is touched. |
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 present