OWASP Top 10 Security Vulnerabilities
Expert guidance for identifying, preventing, and remediating the most critical web application security risks based on OWASP Top 10 2021.
When to Use This Skill
- Conducting security audits and code reviews
- Implementing secure coding practices in new features
- Reviewing authentication and authorization systems
- Assessing input validation and sanitization
- Evaluating third-party dependencies for vulnerabilities
- Designing security controls and defense-in-depth strategies
- Preparing for security certifications or compliance audits
- Investigating security incidents or suspicious behavior
OWASP Top 10 2021 Overview
Ranked by Risk Severity:
- A01 - Broken Access Control (↑ from #5)
- A02 - Cryptographic Failures (formerly Sensitive Data Exposure)
- A03 - Injection (↓ from #1)
- A04 - Insecure Design (NEW)
- A05 - Security Misconfiguration
- A06 - Vulnerable and Outdated Components
- A07 - Identification and Authentication Failures
- A08 - Software and Data Integrity Failures (NEW)
- A09 - Security Logging and Monitoring Failures
- A10 - Server-Side Request Forgery (SSRF) (NEW)
Quick Reference
Load detailed guidance for each vulnerability:
| Vulnerability |
Reference File |
| Broken Access Control |
skills/owasp-top-10/references/broken-access-control.md |
| Cryptographic Failures |
skills/owasp-top-10/references/cryptographic-failures.md |
| Injection |
skills/owasp-top-10/references/injection.md |
| Insecure Design |
skills/owasp-top-10/references/insecure-design.md |
| Security Misconfiguration |
skills/owasp-top-10/references/security-misconfiguration.md |
| Vulnerable Components |
skills/owasp-top-10/references/vulnerable-components.md |
| Authentication Failures |
skills/owasp-top-10/references/authentication-failures.md |
| Integrity Failures |
skills/owasp-top-10/references/integrity-failures.md |
| Logging & Monitoring |
skills/owasp-top-10/references/logging-monitoring.md |
| SSRF |
skills/owasp-top-10/references/ssrf.md |
| Prevention Strategies |
skills/owasp-top-10/references/prevention-strategies.md |
| Assessment Workflow |
skills/owasp-top-10/references/assessment-workflow.md |
Security Audit Workflow
- Identify Scope: Determine application components and attack surface
- Select Vulnerabilities: Choose relevant OWASP categories based on features
- Load Reference: Read appropriate reference file(s) for detailed patterns
- Analyze Code: Review code against vulnerable and secure patterns
- Document Findings: Record vulnerabilities with severity and remediation
- Verify Fixes: Test that remediations properly address issues
- Test Security: Run automated security testing (SAST, DAST, SCA)
Core Security Principles
Defense in Depth
- Layer security controls at network, application, data, and monitoring levels
- Ensure failure of one control doesn't compromise entire system
Secure by Default
- Deny all access by default, explicitly grant permissions
- Fail securely (errors don't expose sensitive information)
- Minimize attack surface (disable unused features)
- Apply least privilege to all accounts and services
Input Validation
- Validate type, length, format, and allowed values
- Use allow-lists over deny-lists
- Sanitize for specific context (SQL, HTML, shell, etc.)
- Never trust client input
Common Mistakes
- Trusting User Input: Always validate and sanitize all user-supplied data
- Rolling Your Own Crypto: Use established libraries (bcrypt, AES-256)
- Exposing Errors: Log detailed errors internally, show generic messages to users
- Missing Authorization: Check permissions on every request, not just UI
- Weak Session Management: Use secure, httpOnly, sameSite cookies with HTTPS
- Ignoring Dependencies: Regularly audit and update third-party libraries
- No Logging: Log security events for detection and incident response
- Default Configurations: Harden all systems, disable defaults
Security Testing Tools
SAST (Static): SonarQube, Semgrep, ESLint security plugins
DAST (Dynamic): OWASP ZAP, Burp Suite
SCA (Dependencies): npm audit, Snyk, Dependabot
Secrets Scanning: GitGuardian, TruffleHog
Penetration Testing: Metasploit, Kali Linux tools
Resources
1---2name: owasp-top-10-43description: OWASP Top 10 security vulnerabilities with detection and remediation patterns. Use when conducting security audits, implementing secure coding practices, or reviewing code for common security vulnerabilities.4---56# OWASP Top 10 Security Vulnerabilities78Expert guidance for identifying, preventing, and remediating the most critical web application security risks based on OWASP Top 10 2021.910## When to Use This Skill1112- Conducting security audits and code reviews13- Implementing secure coding practices in new features14- Reviewing authentication and authorization systems15- Assessing input validation and sanitization16- Evaluating third-party dependencies for vulnerabilities17- Designing security controls and defense-in-depth strategies18- Preparing for security certifications or compliance audits19- Investigating security incidents or suspicious behavior2021## OWASP Top 10 2021 Overview2223**Ranked by Risk Severity:**24251. **A01** - Broken Access Control (↑ from #5)262. **A02** - Cryptographic Failures (formerly Sensitive Data Exposure)273. **A03** - Injection (↓ from #1)284. **A04** - Insecure Design (NEW)295. **A05** - Security Misconfiguration306. **A06** - Vulnerable and Outdated Components317. **A07** - Identification and Authentication Failures328. **A08** - Software and Data Integrity Failures (NEW)339. **A09** - Security Logging and Monitoring Failures3410. **A10** - Server-Side Request Forgery (SSRF) (NEW)3536## Quick Reference3738Load detailed guidance for each vulnerability:3940| Vulnerability | Reference File |41|---|---|42| **Broken Access Control** | `skills/owasp-top-10/references/broken-access-control.md` |43| **Cryptographic Failures** | `skills/owasp-top-10/references/cryptographic-failures.md` |44| **Injection** | `skills/owasp-top-10/references/injection.md` |45| **Insecure Design** | `skills/owasp-top-10/references/insecure-design.md` |46| **Security Misconfiguration** | `skills/owasp-top-10/references/security-misconfiguration.md` |47| **Vulnerable Components** | `skills/owasp-top-10/references/vulnerable-components.md` |48| **Authentication Failures** | `skills/owasp-top-10/references/authentication-failures.md` |49| **Integrity Failures** | `skills/owasp-top-10/references/integrity-failures.md` |50| **Logging & Monitoring** | `skills/owasp-top-10/references/logging-monitoring.md` |51| **SSRF** | `skills/owasp-top-10/references/ssrf.md` |52| **Prevention Strategies** | `skills/owasp-top-10/references/prevention-strategies.md` |53| **Assessment Workflow** | `skills/owasp-top-10/references/assessment-workflow.md` |5455## Security Audit Workflow56571. **Identify Scope**: Determine application components and attack surface582. **Select Vulnerabilities**: Choose relevant OWASP categories based on features593. **Load Reference**: Read appropriate reference file(s) for detailed patterns604. **Analyze Code**: Review code against vulnerable and secure patterns615. **Document Findings**: Record vulnerabilities with severity and remediation626. **Verify Fixes**: Test that remediations properly address issues637. **Test Security**: Run automated security testing (SAST, DAST, SCA)6465## Core Security Principles6667### Defense in Depth68- Layer security controls at network, application, data, and monitoring levels69- Ensure failure of one control doesn't compromise entire system7071### Secure by Default72- Deny all access by default, explicitly grant permissions73- Fail securely (errors don't expose sensitive information)74- Minimize attack surface (disable unused features)75- Apply least privilege to all accounts and services7677### Input Validation78- Validate type, length, format, and allowed values79- Use allow-lists over deny-lists80- Sanitize for specific context (SQL, HTML, shell, etc.)81- Never trust client input8283## Common Mistakes84851. **Trusting User Input**: Always validate and sanitize all user-supplied data862. **Rolling Your Own Crypto**: Use established libraries (bcrypt, AES-256)873. **Exposing Errors**: Log detailed errors internally, show generic messages to users884. **Missing Authorization**: Check permissions on every request, not just UI895. **Weak Session Management**: Use secure, httpOnly, sameSite cookies with HTTPS906. **Ignoring Dependencies**: Regularly audit and update third-party libraries917. **No Logging**: Log security events for detection and incident response928. **Default Configurations**: Harden all systems, disable defaults9394## Security Testing Tools9596**SAST (Static)**: SonarQube, Semgrep, ESLint security plugins97**DAST (Dynamic)**: OWASP ZAP, Burp Suite98**SCA (Dependencies)**: npm audit, Snyk, Dependabot99**Secrets Scanning**: GitGuardian, TruffleHog100**Penetration Testing**: Metasploit, Kali Linux tools101102## Resources103104- **OWASP Top 10 2021**: https://owasp.org/Top10/105- **OWASP Cheat Sheets**: https://cheatsheetseries.owasp.org/106- **OWASP ASVS**: Application Security Verification Standard107- **CWE Top 25**: Common Weakness Enumeration108- **NIST Cybersecurity Framework**: https://www.nist.gov/cyberframework109- **CVE Database**: https://cve.mitre.org/110- **Snyk Vulnerability DB**: https://snyk.io/vuln/