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 |
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-103description: 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---5
6# OWASP Top 10 Security Vulnerabilities
7
8Expert guidance for identifying, preventing, and remediating the most critical web application security risks based on OWASP Top 10 2021.
9
10## When to Use This Skill
11
12- Conducting security audits and code reviews
13- Implementing secure coding practices in new features
14- Reviewing authentication and authorization systems
15- Assessing input validation and sanitization
16- Evaluating third-party dependencies for vulnerabilities
17- Designing security controls and defense-in-depth strategies
18- Preparing for security certifications or compliance audits
19- Investigating security incidents or suspicious behavior
20
21## OWASP Top 10 2021 Overview
22
23**Ranked by Risk Severity:**
24
251. **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 Misconfiguration
306. **A06** - Vulnerable and Outdated Components
317. **A07** - Identification and Authentication Failures
328. **A08** - Software and Data Integrity Failures (NEW)
339. **A09** - Security Logging and Monitoring Failures
3410. **A10** - Server-Side Request Forgery (SSRF) (NEW)
35
36## Quick Reference
37
38Load detailed guidance for each vulnerability:
39
40| 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
54## Security Audit Workflow
55
561. **Identify Scope**: Determine application components and attack surface
572. **Select Vulnerabilities**: Choose relevant OWASP categories based on features
583. **Load Reference**: Read appropriate reference file(s) for detailed patterns
594. **Analyze Code**: Review code against vulnerable and secure patterns
605. **Document Findings**: Record vulnerabilities with severity and remediation
616. **Verify Fixes**: Test that remediations properly address issues
627. **Test Security**: Run automated security testing (SAST, DAST, SCA)
63
64## Core Security Principles
65
66### Defense in Depth
67- Layer security controls at network, application, data, and monitoring levels
68- Ensure failure of one control doesn't compromise entire system
69
70### Secure by Default
71- Deny all access by default, explicitly grant permissions
72- Fail securely (errors don't expose sensitive information)
73- Minimize attack surface (disable unused features)
74- Apply least privilege to all accounts and services
75
76### Input Validation
77- Validate type, length, format, and allowed values
78- Use allow-lists over deny-lists
79- Sanitize for specific context (SQL, HTML, shell, etc.)
80- Never trust client input
81
82## Common Mistakes
83
841. **Trusting User Input**: Always validate and sanitize all user-supplied data
852. **Rolling Your Own Crypto**: Use established libraries (bcrypt, AES-256)
863. **Exposing Errors**: Log detailed errors internally, show generic messages to users
874. **Missing Authorization**: Check permissions on every request, not just UI
885. **Weak Session Management**: Use secure, httpOnly, sameSite cookies with HTTPS
896. **Ignoring Dependencies**: Regularly audit and update third-party libraries
907. **No Logging**: Log security events for detection and incident response
918. **Default Configurations**: Harden all systems, disable defaults
92
93## Security Testing Tools
94
95**SAST (Static)**: SonarQube, Semgrep, ESLint security plugins
96**DAST (Dynamic)**: OWASP ZAP, Burp Suite
97**SCA (Dependencies)**: npm audit, Snyk, Dependabot
98**Secrets Scanning**: GitGuardian, TruffleHog
99**Penetration Testing**: Metasploit, Kali Linux tools
100
101## Resources
102
103- **OWASP Top 10 2021**: https://owasp.org/Top10/
104- **OWASP Cheat Sheets**: https://cheatsheetseries.owasp.org/
105- **OWASP ASVS**: Application Security Verification Standard
106- **CWE Top 25**: Common Weakness Enumeration
107- **NIST Cybersecurity Framework**: https://www.nist.gov/cyberframework
108- **CVE Database**: https://cve.mitre.org/
109- **Snyk Vulnerability DB**: https://snyk.io/vuln/