| name | owasp-checker |
| description | Verify compliance with OWASP Top 10 2021 security standards. Use when performing OWASP compliance checks and security certification. |
| allowed-tools | Read, Grep, Glob, Bash |
OWASP Top 10 Checker Skill
Purpose
This skill provides systematic verification of application compliance with the OWASP Top 10 2021 security standards, ensuring comprehensive security coverage across all critical categories.
When to Use
- Final security validation before deployment
- Security certification and compliance
- Security audit preparation
- Post-remediation verification
- Quarterly security reviews
- Pre-release security checklist
OWASP Top 10 2021 Compliance Workflow
A01:2021 - Broken Access Control
Risk: Users can act outside of their intended permissions
Compliance Checks:
1. Authorization Enforcement:
grep -r "@requires_auth\|@login_required\|@permission_required" src/
grep -r "auth_required\|check_permission" src/
grep -r "@app.route\|@router.get\|@router.post" src/ --include="*.py" -A 5
Checklist:
2. Insecure Direct Object References (IDOR):
grep -r "request.*\['id'\]\|request.*\.id\|params\['id'\]" src/
Checklist:
3. CORS Configuration:
grep -r "Access-Control-Allow-Origin" src/ config/
grep -r "CORS.*origin" src/ --include="*.py" --include="*.js"
Checklist:
4. Disable Directory Listing:
grep -r "autoindex\|directory.*listing" config/
Checklist:
Status: ☐ Pass ☐ Fail
A02:2021 - Cryptographic Failures
Risk: Sensitive data exposed due to weak or missing encryption
Compliance Checks:
1. Data in Transit:
grep -r "SECURE_SSL_REDIRECT\|HTTPS_ONLY\|ssl.*required" config/ src/
grep -r "tls.*version\|ssl.*version" config/
grep -r "http://\|ws://" src/ | grep -v "localhost\|127.0.0.1"
Checklist:
2. Data at Rest:
grep -r "encrypt\|cipher\|AES" src/
grep -r "password.*plain\|password.*clear" src/
Checklist:
3. Weak Cryptography:
grep -r "md5\|sha1\|DES\|RC4" src/ --include="*.py" --include="*.js"
grep -r "ECB.*mode" src/
Checklist:
4. Random Number Generation:
grep -r "random\.random\|Math\.random" src/
grep -r "secrets\|os\.urandom\|crypto\.randomBytes" src/
Checklist:
Status: ☐ Pass ☐ Fail
A03:2021 - Injection
Risk: Untrusted data sent to interpreter as command/query
Compliance Checks:
1. SQL Injection Prevention:
grep -r "execute.*%\|execute.*\+\|execute.*format\|execute.*f\"" src/ --include="*.py"
grep -r "SELECT.*\+\|INSERT.*\+\|UPDATE.*\+\|DELETE.*\+" src/
Checklist:
2. Command Injection Prevention:
grep -r "subprocess.*shell=True\|os\.system\|os\.popen" src/ --include="*.py"
grep -r "exec\|eval\|child_process" src/ --include="*.js"
Checklist:
3. LDAP Injection:
grep -r "ldap.*search\|ldap.*filter" src/
Checklist:
4. NoSQL Injection:
grep -r "find.*\$where\|\.exec(" src/ --include="*.js"
Checklist:
5. Template Injection:
grep -r "render_template_string\|Jinja2.*from_string" src/
grep -r "autoescape.*False" src/
Checklist:
Status: ☐ Pass ☐ Fail
A04:2021 - Insecure Design
Risk: Missing or ineffective security controls in design
Compliance Checks:
1. Threat Modeling:
Checklist:
2. Security Design Patterns:
Checklist:
3. Rate Limiting:
grep -r "rate.*limit\|throttle" src/ config/
Checklist:
4. Business Logic:
Checklist:
Status: ☐ Pass ☐ Fail
A05:2021 - Security Misconfiguration
Risk: Insecure default configurations, incomplete setups
Compliance Checks:
1. Security Headers:
grep -r "X-Frame-Options\|X-Content-Type-Options\|Content-Security-Policy" src/ config/
grep -r "Strict-Transport-Security\|X-XSS-Protection" src/ config/
Checklist:
2. Error Handling:
grep -r "DEBUG.*True\|development.*mode" config/ src/
grep -r "traceback\|stack.*trace" src/
Checklist:
3. Default Credentials:
grep -r "password.*=.*admin\|password.*=.*password" src/ config/
Checklist:
4. Unnecessary Features:
find . -name "*sample*" -o -name "*test*" -o -name "*demo*" | grep -v node_modules
Checklist:
5. Missing Patches:
pip list --outdated 2>/dev/null || npm outdated 2>/dev/null
Checklist:
Status: ☐ Pass ☐ Fail
A06:2021 - Vulnerable and Outdated Components
Risk: Using components with known vulnerabilities
Compliance Checks:
1. Dependency Inventory:
pip list --format=json > dependencies.json 2>/dev/null || npm list --json > dependencies.json 2>/dev/null
Checklist:
2. Vulnerability Scanning:
pip-audit --format json 2>/dev/null || npm audit --json 2>/dev/null
safety check --json 2>/dev/null
Checklist:
3. Version Management:
cat requirements.txt setup.py package.json 2>/dev/null
Checklist:
4. Component Retirement:
Checklist:
Status: ☐ Pass ☐ Fail
A07:2021 - Identification and Authentication Failures
Risk: Weak authentication allows impersonation
Compliance Checks:
1. Password Policy:
grep -r "password.*length\|password.*complexity" src/
grep -r "MIN_PASSWORD_LENGTH\|PASSWORD_VALIDATORS" config/ src/
Checklist:
2. Multi-Factor Authentication:
grep -r "mfa\|2fa\|totp\|two.*factor" src/
Checklist:
3. Session Management:
grep -r "SESSION.*TIMEOUT\|session.*expir" config/ src/
grep -r "SESSION_COOKIE_SECURE\|SESSION_COOKIE_HTTPONLY" config/ src/
Checklist:
4. Credential Storage:
grep -r "bcrypt\|argon2\|scrypt\|pbkdf2" src/
grep -r "hashlib\.md5.*password\|hashlib\.sha1.*password" src/
Checklist:
5. Account Enumeration:
grep -r "user.*not.*found\|invalid.*username" src/
Checklist:
6. Brute Force Protection:
grep -r "login.*attempt\|failed.*attempt\|account.*lock" src/
Checklist:
Status: ☐ Pass ☐ Fail
A08:2021 - Software and Data Integrity Failures
Risk: Code and infrastructure not protected from integrity violations
Compliance Checks:
1. Insecure Deserialization:
grep -r "pickle\.loads\|yaml\.load\(" src/ --include="*.py"
grep -r "eval\|unserialize" src/
Checklist:
2. CI/CD Pipeline Security:
Checklist:
3. Update Mechanism:
Checklist:
4. Supply Chain Security:
Checklist:
Status: ☐ Pass ☐ Fail
A09:2021 - Security Logging and Monitoring Failures
Risk: Breaches not detected, incidents not responded to
Compliance Checks:
1. Security Event Logging:
grep -r "logging\|logger\|log\." src/ --include="*.py" --include="*.js"
grep -r "audit.*log\|security.*log" src/
Checklist:
2. Log Content:
Checklist:
3. Log Protection:
find . -name "*.log" -ls 2>/dev/null
Checklist:
4. Monitoring and Alerting:
Checklist:
5. Incident Response:
Checklist:
Status: ☐ Pass ☐ Fail
A10:2021 - Server-Side Request Forgery (SSRF)
Risk: Application fetches remote resources without validating user-supplied URL
Compliance Checks:
1. URL Validation:
grep -r "requests\.get\|urllib\.request\|fetch\|axios\.get" src/
grep -r "url.*request\|user.*url" src/
Checklist:
2. Network Segmentation:
Checklist:
3. Input Validation:
grep -r "validate.*url\|sanitize.*url\|parse.*url" src/
Checklist:
Status: ☐ Pass ☐ Fail
Overall Compliance Report Format
# OWASP Top 10 2021 Compliance Report
**Date**: [YYYY-MM-DD]
**Application**: [name]
**Assessed By**: OWASP Checker
## Compliance Summary
| Category | Status | Critical Issues | Notes |
|----------|--------|-----------------|-------|
| A01 - Broken Access Control | ✅/⚠️/❌ | [count] | [summary] |
| A02 - Cryptographic Failures | ✅/⚠️/❌ | [count] | [summary] |
| A03 - Injection | ✅/⚠️/❌ | [count] | [summary] |
| A04 - Insecure Design | ✅/⚠️/❌ | [count] | [summary] |
| A05 - Security Misconfiguration | ✅/⚠️/❌ | [count] | [summary] |
| A06 - Vulnerable Components | ✅/⚠️/❌ | [count] | [summary] |
| A07 - Auth Failures | ✅/⚠️/❌ | [count] | [summary] |
| A08 - Integrity Failures | ✅/⚠️/❌ | [count] | [summary] |
| A09 - Logging Failures | ✅/⚠️/❌ | [count] | [summary] |
| A10 - SSRF | ✅/⚠️/❌ | [count] | [summary] |
**Legend**:
- ✅ Pass: Fully compliant
- ⚠️ Partial: Some issues, not critical
- ❌ Fail: Critical issues found
**Overall Compliance**: [XX]% ([X]/10 categories passed)
## Critical Findings
[List all critical non-compliance items that must be fixed]
## Recommendations
### Immediate (Critical)
1. [Item]
### Short-term (High)
1. [Item]
### Long-term (Medium)
1. [Item]
## Certification
This application [IS / IS NOT] compliant with OWASP Top 10 2021 standards.
**Assessor**: [name]
**Date**: [YYYY-MM-DD]
**Next Assessment**: [YYYY-MM-DD]
Best Practices
Assessment Process:
- Complete all categories
- Document evidence for each check
- Retest after remediation
- Keep assessment current (quarterly)
Compliance Tracking:
- Track compliance over time
- Maintain compliance dashboard
- Regular reassessment (quarterly)
- Update after major changes
Remediation:
- Fix critical items immediately
- Schedule high/medium items
- Document compensating controls
- Verify fixes effectiveness
Documentation:
- Keep detailed compliance records
- Document exceptions with justification
- Track remediation progress
- Maintain audit trail
Integration with Security Workflow
Input: Implemented and tested application
Process: Systematic OWASP Top 10 compliance verification
Output: Compliance report with certification status
Next Step: Security certification or deployment approval
Remember
- Compliance is not security: OWASP Top 10 is baseline, not complete security
- Context matters: Adapt checks to your application type
- Defense in depth: Multiple layers of controls
- Continuous compliance: Not a one-time check
- Document everything: Maintain audit trail
- Stay current: OWASP Top 10 updates periodically
Your goal is to ensure applications meet OWASP Top 10 security standards and maintain compliance over time.