OWASP-based secure programming practices. Use when writing or reviewing code handling auth, crypto, user input, secrets, or API endpoints. Consult proactively during reviews and planning.
Actionable security checklists organized by OWASP Top 10 (2021) categories. Each item links to the relevant OWASP Cheat Sheet for detailed guidance.
Grep on references/ for keywords,
ASVS IDs (V1, V1.2, V1.2.4), or topic terms. Never read entire files — search and read only
matching sections with context (30–50 lines).search_standards MCP tool (if available) to query coding and security standards beyond local references.ASVS 5.0 — references/OWASP_Application_Security_Verification_Standard_5.0.0_en.csv
CSV columns: chapter_id,chapter_name,section_id,section_name,req_id,req_description,level (L1=basic, L2=standard, L3=advanced)
| ID | Chapter | Key sections |
|---|---|---|
| V1 | Encoding and Sanitization | V1.1 Architecture, V1.2 Injection Prevention, V1.3 Sanitization, V1.4 Memory, V1.5 Safe Deserialization |
| V2 | Validation and Business Logic | V2.2 Input Validation, V2.3 Business Logic, V2.4 Anti-automation |
| V3 | Web Frontend Security | V3.2 Content Interpretation, V3.3 Cookie Setup, V3.4 Browser Headers, V3.5 Origin Separation, V3.6 Resource Integrity |
| V4 | API and Web Service | V4.1 Generic Web Service, V4.2 HTTP Message Validation, V4.3 GraphQL, V4.4 WebSocket |
| V5 | File Handling | V5.2 Upload and Content, V5.3 Storage, V5.4 Download |
| V6 | Authentication | V6.2 Password, V6.3 General Auth, V6.4 Factor Lifecycle, V6.5 MFA, V6.6 Out-of-Band, V6.7 Cryptographic, V6.8 IdP |
| V7 | Session Management | V7.2 Fundamental, V7.3 Timeout, V7.4 Termination, V7.5 Session Abuse, V7.6 Federated Re-auth |
| V8 | Authorization | V8.2 General Design, V8.3 Operation Level, V8.4 Other |
| V9 | Self-contained Tokens | V9.1 Source and Integrity, V9.2 Content |
| V10 | OAuth and OIDC | V10.1 Generic, V10.2 Client, V10.3 Resource Server, V10.4 Auth Server, V10.5 OIDC Client, V10.6 OpenID Provider |
| V11 | Cryptography | V11.2 Implementation, V11.3 Algorithms, V11.4 Hashing, V11.5 Random Values, V11.6 Public Key, V11.7 In-Use Data |
| V12 | Secure Communication | V12.1 TLS Guidance, V12.2 HTTPS External, V12.3 Service-to-Service |
| V13 | Configuration | V13.2 Backend Communication, V13.3 Secret Management, V13.4 Information Leakage |
| V14 | Data Protection | V14.2 General, V14.3 Client-side |
| V15 | Secure Coding and Architecture | V15.2 Dependencies, V15.3 Defensive Coding, V15.4 Concurrency |
| V16 | Security Logging and Error Handling | V16.2 General Logging, V16.3 Security Events, V16.4 Log Protection, V16.5 Error Handling |
| V17 | WebRTC | V17.1 TURN Server, V17.2 Media, V17.3 Signaling |
Cheat Sheets (109 files) — references/cheatsheets/<Topic>_Cheat_Sheet.md
| Category | Topics (filename prefixes) |
|---|---|
| Access Control | Access_Control, Authorization, Authorization_Testing_Automation, Insecure_Direct_Object_Reference_Prevention, Multi_Tenant_Security, Transaction_Authorization |
| Authentication | Authentication, Credential_Stuffing_Prevention, Forgot_Password, Multifactor_Authentication, Password_Storage, Choosing_and_Using_Security_Questions, SAML_Security, OAuth2, JAAS |
| Sessions and Cookies | Session_Management, Cookie_Theft_Mitigation |
| Tokens | JSON_Web_Token_for_Java |
| Injection | Input_Validation, SQL_Injection_Prevention, Query_Parameterization, OS_Command_Injection_Defense, LDAP_Injection_Prevention, Injection_Prevention, Injection_Prevention_in_Java, NoSQL_Security |
| XSS and Frontend | Cross_Site_Scripting_Prevention, DOM_based_XSS_Prevention, DOM_Clobbering_Prevention, Content_Security_Policy, Prototype_Pollution_Prevention, XSS_Filter_Evasion, XS_Leaks, Clickjacking_Defense, Securing_Cascading_Style_Sheets, HTML5_Security, AJAX_Security, Browser_Extension_Vulnerabilities |
| CSRF and SSRF | Cross-Site_Request_Forgery_Prevention, Server_Side_Request_Forgery_Prevention, Unvalidated_Redirects_and_Forwards |
| Cryptography and TLS | Cryptographic_Storage, Key_Management, Transport_Layer_Security, Transport_Layer_Protection, TLS_Cipher_String, HTTP_Strict_Transport_Security, Pinning |
| API Security | REST_Security, REST_Assessment, GraphQL, gRPC_Security, WebSocket_Security, Web_Service_Security |
| Data Integrity | Deserialization, Mass_Assignment, File_Upload, Bean_Validation |
| Secrets and Config | Secrets_Management, HTTP_Headers, PHP_Configuration, Database_Security |
| Logging and Errors | Logging, Logging_Vocabulary, Error_Handling |
| Infrastructure | Docker_Security, Kubernetes_Security, Infrastructure_as_Code_Security, CI_CD_Security, Network_Segmentation, Secure_Cloud_Architecture, Serverless_FaaS_Security, Zero_Trust_Architecture |
| Supply Chain | Vulnerable_Dependency_Management, Dependency_Graph_SBOM, NPM_Security, Software_Supply_Chain_Security, Third_Party_Javascript_Management |
| AI and LLM | AI_Agent_Security, LLM_Prompt_Injection_Prevention, Secure_AI_Model_Ops |
| Design and Architecture | Threat_Modeling, Abuse_Case, Attack_Surface_Analysis, Secure_Product_Design, Secure_Code_Review, Legacy_Application_Management, Virtual_Patching, Vulnerability_Disclosure, User_Privacy_Protection, Denial_of_Service |
| Mobile and IoT | Mobile_Application_Security, Automotive_Security, Drone_Security |
| Frameworks | Django_Security, Django_REST_Framework, Laravel, Symfony, Ruby_on_Rails, Nodejs_Security, NodeJS_Docker, DotNet_Security, Java_Security, C-Based_Toolchain_Hardening |
| Payments and Microservices | Third_Party_Payment_Gateway_Integration, Microservices_Security, Microservices_based_Security_Arch_Doc |
Language-Specific Security Patterns — references/<language>-security-patterns.md
| File | Covers |
|---|---|
python-security-patterns.md | Injection, deserialization, SSRF, supply chain, XML/XXE, async |
rust-security-patterns.md | Unsafe soundness, FFI, async/concurrency, supply chain, archive traversal |
go-security-patterns.md | Parsing footguns, concurrency, SSRF, template injection, supply chain |
typescript-security-patterns.md | Prototype pollution, XSS/DOM, SSRF, supply chain, type coercion |
Each file includes language-specific security scanner recommendations.
Use Grep on references/ for keywords or IDs. Use Read with offset/limit for targeted sections.
Fall back to web fetch from https://cheatsheetseries.owasp.org/cheatsheets/ if local content is insufficient.
Access-Control-Allow-Origin: * for authenticated endpoints
(HTTP Headers)includeSubDomains and adequate max-age
(HSTS)document.getElementById on user-controllable IDs
(DOM Clobbering Prevention)Object.create(null)
(Prototype Pollution Prevention)X-Content-Type-Options, X-Frame-Options, Referrer-Policy, etc.
(HTTP Headers)Secure, HttpOnly, SameSite, proper Path and Domain
(Cookie Theft Mitigation)When working with a specific framework, consult the relevant cheat sheet for framework-specific pitfalls and mitigations:
| Framework | Cheat Sheet |
|---|---|
| Django | Django Security, Django REST Framework |
| Laravel | Laravel |
| Symfony | Symfony |
| Ruby on Rails | Ruby on Rails |
| Node.js | Node.js Security, Node.js Docker |
| .NET | .NET Security |
| Java | Java Security, Injection Prevention in Java |
| C/C++ | C-Based Toolchain Hardening |
For topics not covered above, browse the full index: OWASP Cheat Sheet Series Index