| name | owasp-top10 |
| description | OWASP Top 10 (2021) security vulnerability checklist. Systematically checks each vulnerability category against the codebase. Produces blocking findings for any vulnerabilities found. Use during code review, security audits, and before merge requests. |
| license | MIT |
| compatibility | opencode, cursor, windsurf, cline, generic |
| metadata | {"audience":"reviewer, testing, backend-dev, frontend-dev","phase":"review, testing, development"} |
OWASP Top 10 Security Checklist
You are executing an OWASP Top 10 (2021) security assessment against the codebase.
Every finding in this checklist is treated as BLOCKING unless explicitly marked otherwise.
A01:2021 — Broken Access Control
Checks
Code Patterns to Search For
# Look for missing auth checks
grep -r "@GetMapping\|@PostMapping\|@PutMapping\|@DeleteMapping" --include="*.java"
# Verify each has corresponding @PreAuthorize or security check
# Look for IDOR vulnerabilities
grep -r "findById\|getById" --include="*.java"
# Verify ownership check after retrieval
A02:2021 — Cryptographic Failures
Checks
Code Patterns to Search For
# Weak algorithms
grep -rn "MD5\|SHA1\|DES\|RC4" --include="*.java" --include="*.ts"
# Hardcoded keys
grep -rn "secret\|password\|key\s*=" --include="*.java" --include="*.ts"
# Disabled certificate validation
grep -rn "TrustAll\|ALLOW_ALL\|setHostnameVerifier" --include="*.java"
A03:2021 — Injection
Checks
Code Patterns to Search For
# SQL injection - raw string concatenation
grep -rn "SELECT.*+\|INSERT.*+\|UPDATE.*+\|DELETE.*+" --include="*.java"
# Command injection
grep -rn "Runtime.exec\|ProcessBuilder\|exec(" --include="*.java" --include="*.ts"
# XSS - innerHTML
grep -rn "innerHTML\|v-html\|dangerouslySetInnerHTML" --include="*.ts" --include="*.vue" --include="*.tsx"
A04:2021 — Insecure Design
Checks
A05:2021 — Security Misconfiguration
Checks
A06:2021 — Vulnerable and Outdated Components
Checks
Commands to Run
npm audit --audit-level=critical
mvn dependency-check:check
gradle dependencyCheckAnalyze
pip-audit
govulncheck ./...
A07:2021 — Identification and Authentication Failures
Checks
A08:2021 — Software and Data Integrity Failures
Checks
Code Patterns to Search For
# Insecure deserialization
grep -rn "ObjectInputStream\|pickle.loads\|yaml.load\|unserialize" --include="*.java" --include="*.py" --include="*.php"
A09:2021 — Security Logging and Monitoring Failures
Checks
A10:2021 — Server-Side Request Forgery (SSRF)
Checks
Code Patterns to Search For
# SSRF - URL construction from user input
grep -rn "new URL\|HttpClient\|fetch\|axios" --include="*.java" --include="*.ts"
# Verify URL is validated before use
Assessment Output Format
# OWASP Top 10 Assessment
## Project: {{PROJECT_NAME}}
## Date: YYYY-MM-DD
## Scope: [files/modules assessed]
| Category | Status | Findings |
|----------|--------|----------|
| A01: Broken Access Control | 🔴/✅ | X issues |
| A02: Cryptographic Failures | 🔴/✅ | X issues |
| A03: Injection | 🔴/✅ | X issues |
| A04: Insecure Design | 🔴/✅ | X issues |
| A05: Security Misconfiguration | 🔴/✅ | X issues |
| A06: Vulnerable Components | 🔴/✅ | X issues |
| A07: Auth Failures | 🔴/✅ | X issues |
| A08: Integrity Failures | 🔴/✅ | X issues |
| A09: Logging Failures | 🔴/✅ | X issues |
| A10: SSRF | 🔴/✅ | X issues |
## Critical Findings (Must Fix)
1. [A0X] [file:line] — [description] — [remediation]
## Recommendations
1. [description]
## Verdict: [SECURE | VULNERABILITIES FOUND — X blocking issues]
Rules
- Every OWASP finding is BLOCKING — no exceptions
- Search the code — do not rely on assumptions, actually grep for patterns
- Be specific — cite file:line for every finding
- Provide remediation — tell the developer how to fix it
- Check dependencies — run actual scan commands, do not guess