From review
Performs security reviews on Git diffs identifying high-confidence exploitable vulnerabilities with severity/confidence scoring, OWASP 2025 alignment, and optional GitHub PR comments.
How this skill is triggered — by the user, by Claude, or both
Slash command
/review:security-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Identify HIGH-CONFIDENCE security vulnerabilities with real exploitation potential. Two-axis scoring (severity + confidence), OWASP 2025 aligned, false positive filtered.
Identify HIGH-CONFIDENCE security vulnerabilities with real exploitation potential. Two-axis scoring (severity + confidence), OWASP 2025 aligned, false positive filtered.
Output Path Configuration:
$ARGUMENTS contains --post-to-pr: enable GitHub PR posting (Phase 6)./reviews/security/)Example usage:
/review:security-review — local report to ./reviews/security//review:security-review audits/sec — local report to audits/sec//review:security-review --post-to-pr — local report + post to GitHub PR/review:security-review audits/sec --post-to-pr — bothGIT STATUS:
!`git status`
FILES MODIFIED:
!`git diff --name-only origin/HEAD...`
COMMITS:
!`git log --no-decorate origin/HEAD...`
DIFF CONTENT:
!`git diff --merge-base origin/HEAD`
Review the complete diff above. Focus ONLY on security implications newly added by this PR.
| Category | Key Checks | OWASP |
|---|---|---|
| Access Control | IDOR, privilege escalation, SSRF, CORS, CSRF, path traversal | A01 |
| Security Misconfiguration | Default credentials, debug endpoints, cloud misconfig, XXE | A02 |
| Supply Chain | Dependency confusion, unpinned actions, vulnerable deps, CI/CD risks | A03 |
| Cryptographic Failures | Hardcoded keys, weak algorithms, insecure randomness, cert validation | A04 |
| Injection | SQLi, command injection, XSS, template injection, NoSQL injection | A05 |
| Auth & Session | Authentication bypass, JWT vulns, session management, missing MFA | A07 |
| Deserialization & Integrity | Unsafe deserialization, prototype pollution, unsigned updates | A08 |
| Error Handling | Fail-open patterns, exception swallowing, verbose error disclosure | A10 |
| API Security | BOLA, mass assignment, shadow APIs, missing rate limiting | API Top 10 |
| LLM/AI Security | Prompt injection, unsafe output handling, excessive agency | LLM Top 10 |
See WORKFLOW.md for detailed subcategories and severity assignment reference.
Phase 1 — Repository Context: Identify existing security frameworks, sanitization patterns, and security model in the codebase.
Phase 1.5 — Automated Security Scan (Optional): Run Trivy (vulnerability/IaC scanning) and Gitleaks (secret detection) if available. Locate the scan script via Glob for **/review/scripts/security-scan.sh, then execute: bash {script_path} --quick --output-dir {output-directory}. If tools are not installed, skip gracefully — this phase is informational only. See WORKFLOW.md for details.
Phase 2 — Comparative Analysis: Compare new code against established secure practices. Flag deviations and new attack surfaces. Cross-reference with automated scan results if available.
Phase 3 — Vulnerability Assessment: Trace data flow from user inputs to sensitive operations. Confirm sink reachability and check for sanitizers in the path.
See WORKFLOW.md for detailed methodology and sub-task orchestration.
| Severity | Criteria | Example |
|---|---|---|
| CRITICAL | RCE, auth bypass, mass data exfiltration | Deserialization RCE, SQLi with shell access |
| HIGH | Significant data access or privilege escalation | SQLi read, stored XSS, SSRF to cloud metadata |
| MEDIUM | Limited impact or requires user interaction | Reflected XSS, CSRF, IDOR on non-sensitive data |
| LOW | Defense-in-depth, minimal direct impact | Missing headers, verbose errors |
| Confidence | Description | Action |
|---|---|---|
| HIGH | Data flow confirmed, clear exploit path | Report — include in findings |
| MEDIUM | Pattern match, context needed to confirm | Report only if severity >= HIGH |
| LOW | Theoretical or framework likely handles | Do not report |
Before reporting any finding, assess using both axes:
| Severity \ Confidence | HIGH | MEDIUM | LOW |
|---|---|---|---|
| CRITICAL | Report | Report | Suppress |
| HIGH | Report | Report | Suppress |
| MEDIUM | Report | Suppress | Suppress |
| LOW | Suppress | Suppress | Suppress |
Finding caps: Max 8 meaningful findings (Blocker + Improvement + Question) and max 2 Nits per review. Keep the highest-severity, highest-confidence items.
Self-reflection: After generating all candidate findings, re-evaluate each in context. Remove redundant, low-signal, or theoretical items. Apply false positive filtering from WORKFLOW.md.
Categorize every finding:
After Phase 3 identifies candidate findings, launch N parallel Haiku agents (one per finding) for independent verification.
Each Haiku agent receives:
Each agent verifies:
Each agent returns a verdict:
Apply verdicts: remove DISMISSED findings, adjust DOWNGRADED findings' severity/confidence. Remaining findings proceed to report.
If a Haiku verification agent fails for a finding, default to KEEP (conservative — finding stays).
See WORKFLOW.md for the Haiku verification prompt template and verdict criteria.
For each vulnerability found:
### [Triage] Vuln N: {Category Code}: `{file}:{line}`
* **Severity**: {CRITICAL|HIGH|MEDIUM}
* **Confidence**: {HIGH|MEDIUM}
* **Category**: {OWASP A0X:2025 or API/LLM Top 10}
* **CWE**: CWE-XXX
* **Description**: {What the vulnerability is and how it can be exploited}
* **Exploit Scenario**: {Specific attack path with example payload}
* **Recommendation**: {Concrete fix with code example}
mkdir -p {output-directory}{output-directory}/{YYYY-MM-DD}_{HH-MM-SS}_security-review.mdInclude this header:
# Security Review Report
**Date**: {ISO 8601 date}
**Branch**: {current branch name}
**Commit**: {short commit hash}
**Reviewer**: Claude Code (security-review)
**Framework**: OWASP Top 10 2025 + API Top 10 + LLM Top 10
## Summary
- **Blocker**: {count} findings
- **Improvement**: {count} findings
- **Question**: {count} findings
- **Total**: {count} actionable findings
- **Automated Scan**: {Passed | X issues found | Skipped — tools not installed}
- **Haiku Verification**: {N} findings verified — {kept} kept, {dismissed} dismissed, {downgraded} downgraded
---
Only execute if --post-to-pr flag was passed.
gh pr viewgh pr commentAfter saving the report and confirming the save to the user, invoke the false-positive verifier:
review:verify-findings with the saved report path as the argument.verified.md reportIf the Skill tool is not available (e.g., running inside a subagent), inform the user:
Run verification manually:
/review:verify-findings {report-path}
Apply the false positive filtering rules from WORKFLOW.md before finalizing. Each finding must pass the signal quality matrix above.
npx claudepluginhub joaquimscosta/arkhe-claude-plugins --plugin reviewPerforms systematic security code review for vulnerabilities including injection, XSS, authentication, authorization, and cryptography issues. Reports only high-confidence exploitable findings after tracing data flow and checking framework protections.
Scans PR diffs for Critical/High severity OWASP and LLM security issues in changed files only. Designed for fast CI gating without subagents or threat modeling.
Security-focused code review for PRs, commits, and diffs. Targets auth, crypto, external calls, and value transfer with evidence-based findings and a report artifact.