The OWASP Application Security Verification Standard (ASVS) is your best friend if you require an organised method for organising, defining the scope, and measuring web application penetration testing. In order for your pentest to concentrate on demonstrating risk with realistic attacks (the “how”), ASVS is an open, community-maintained standard that specifies what to check in a web application (the “what”).
What is OWASP ASVS?
A benchmark for the level of rigour required in a verification, OWASP ASVS is a requirements framework for testing application security controls. It is used by teams to write acceptance criteria, define scope, and coordinate testing and development around a single security bar.
Fresh update: ASVS v5.0.0 is the latest stable release (May 2025). It modernizes requirement IDs and chapters (e.g., Encoding & Sanitization → Injection Prevention) and standardizes how to reference requirements like v5.0.0-1.2.5.
ASVS levels (L1–L3) and what they mean for a pentest
ASVS defines three verification levels—use them to match test depth to business risk:
- Level 1 (L1): Low assurance; fully penetration-testable (no source/doc access required). Great for black/grey-box engagements on lower-risk apps.
- Level 2 (L2): Most apps; adds deeper controls that often benefit from limited design/code insight (grey/white-box).
- Level 3 (L3): High-assurance systems (finance, healthcare, critical services); expects the highest rigor, typically including architecture review and code insights.
ASVS vs OWASP Top 10 vs WSTG (how they fit together)
- ASVS = WHAT to verify (requirements & levels).
- OWASP Top 10 = awareness of common risks; useful, but not a verification standard. OWASP explicitly cautions that tools cannot “fully cover” Top 10—use ASVS for proper requirements.
- WSTG (Web Security Testing Guide) = HOW to test (techniques & test cases). Use WSTG to implement ASVS requirements during a pentest.
Using ASVS to guide a web application penetration test (step-by-step)
- Pick the verification level
Map business risk to L1/L2/L3 and write it into your SoW. (Example: customer portal with PII → L2; payment orchestration → L3.) - Select relevant chapters/controls
In v5, requirements are grouped into chapters/sections (e.g., Encoding & Sanitization → Injection Prevention, Authentication, Session Management, Access Control, Cryptography, Logging, Data Protection). Use them to build a targeted checklist. - Map ASVS → WSTG test cases
For each requirement ID, assign concrete WSTG tests (manual and tool-assisted). This turns “what to verify” into “exact tests we’ll run.” - Define evidence & pass/fail
Reference requirement IDs in notes and findings (e.g.,v5.0.0-1.2.5
), and capture PoC, headers, payloads, and screenshots. - Report with ASVS alignment
Label each finding with the ASVS requirement(s) it violates and the target level (L1/L2/L3) the app failed to meet. This makes remediation and retesting crystal-clear.

Example: ASVS-to-Pentest mapping (mini table)
ASVS (v5) Requirement | Pentest activity (WSTG-style) | Evidence |
---|---|---|
v5.0.0-1.2.5 Injection Prevention (OS command) | Try using file operations, template parameters, or process wrappers to inject commands. | Payloads, error traces, shell effect denied |
v5.0.0-(Auth section) MFA & credential protections | Test lockout, recovery abuse, MFA flows, and bypass attempts. | Auth logs, OTP throttling, reset token scope |
v5.0.0-(Session section) Session controls | Verify cookie flags, logout, and privilege rotation. | Set-Cookie headers, session IDs rotation proof |
When should you use each level?
- Choose L1 If you want quick, black-box validation for marketing websites or low-risk portals
- Choose L2 For the majority of sensitive SaaS, fintech, and health apps
- Choose L3 For high-assurance systems where compromise could materially affect safety or cost
Common pitfalls (and how ASVS helps)
- Relying on scanners alone: ASVS + WSTG requires manual checks for chained exploits and logical errors.
- Requirement IDs provide you with specific parameters and standards for approval.
- Reports devs can’t act on: Findings mapped to ASVS are easier to triage, fix, and verify