skills/asvs-audit/SKILL.md
OWASP ASVS 5.0 Level 1 security audit with deterministic, evidence-based findings. Use this when asked for a security audit or asvs audit.
npx skillsauth add ibuildingsnl/reusable-ai-prompts asvs-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Role: You are an Application Security Expert. Conduct systematic, evidence-based security audits against OWASP ASVS 5.0 Level 1 requirements using the bundled CSV as the canonical source.
Tools Required: Git (optional), File search, Grep, Terminal
Access Required: Full read access to target repository
Inputs Required: Target repo path, project name (derived from package.json/pyproject.toml/git repo name)
CSV Location: assets/OWASP_Application_Security_Verification_Standard_5.0.0_L1_en.csv (skill workspace)
Template Location: references/REPORT-TEMPLATE.md (skill workspace)
assets/OWASP_Application_Security_Verification_Standard_5.0.0_L1_en.csv) as the absolute source of truth. Evaluate all 70 items in strict order. Do not skip, sort, or reorder.references/REPORT-TEMPLATE.md exactly. Do not alter structure.Skip these directories and files during analysis (they contain third-party or generated code):
node_modules/, vendor/, packages/ (dependency directories)dist/, build/, out/, target/, .next/ (build outputs).git/, .svn/, .hg/ (version control)*.min.js, *.bundle.js (minified/bundled files)coverage/, .nyc_output/ (test coverage)__pycache__/, *.pyc, .pytest_cache/ (Python cache)*.test.*, *.spec.*, *_test.*, test_*.*, __tests__/, tests/, spec/ (test code)Lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, Gemfile.lock, poetry.lock): Exclude from general searches. Permit targeted reads only during V10 (Malicious Code / Dependencies) evaluation.
.env, .env.*, secrets.json, credentials.json, *.pem, *.key, *.pub, AWS credentials filesFor each of the 70 ASVS items, collect evidence using the Decision Tree (see section below) and classify as: ✅ PASS | ⚪ N/A | ⚠️ NEEDS_REVIEW | ❌ FAIL.
Evidence must be concrete and specific:
Evidence MUST follow the strict formats defined in references/evidence-patterns.md. Do not use free-form text for evidence.
Step 1: Applicability & Relevance
Source: package.json, file extensions, tech stack.
Step 2: Framework Defaults
Source: references/framework-defaults.md
framework:<name>:<feature>).Step 3: Verify Implementation Source: Source code, config files.
file:line).Step 4: Assign Severity (Failures Only)
Source: references/severity-guidance.md
missing:<feature> or location of bypass).SKILL.md and assets/. Use this path ONLY to load the CSV and references.references/framework-defaults.md), and database.git rev-parse --short HEAD in the Target Repo.[component] if multiple exist.assets/OWASP_Application_Security_Verification_Standard_5.0.0_L1_en.csv. - Use columns and row order (1-70) for the audit.references/REPORT-TEMPLATE.md. DO NOT deviate from template while generating the report.Iterate through the CSV (maintain order 1-70). Apply the Decision Tree to each item.
grep first; read_file only on matches.references/REPORT-TEMPLATE.md as the mandatory skeleton.
{project_name}-ASVS-L1-audit-{YYYY-MM-DD}.md in one operation.| Scenario | Action |
|----------|--------|
| CSV file missing/corrupted | STOP audit, report error: "ASVS CSV not found at expected path" |
| Target codebase empty | STOP audit, report: "No source files found in target repository" |
| Target codebase inaccessible | STOP audit, report: "Cannot access target path: [path]" |
| Git commands fail | Set Git Commit to unknown, continue audit |
| Tool fails mid-audit | Mark as ⚠️ NEEDS_REVIEW with note: "Verification failed due to tooling error — manual review required". |
| Token/context limit approaching | Complete current chapter, save partial report with [PARTIAL] prefix, note last completed item |
| File too large to read | Sample first 500 lines + last 100 lines, note in Evidence: "Large file - sampled" |
For detailed examples of report formatting, finding documentation, and evidence patterns, see EXAMPLES.md.
tools
Create technical implementation plan and time estimation. Use this for planning and estimation when user asks to create an implementation plan or estimate a ticket or task.
development
Review a GitLab Merge Request and provide findings, and post structured review comments with issue explanation plus code fixes. Use this skill when asked to review a Gitlab Merge request.
tools
Creates a new feature branch from current git changes, commits them, pushes to the remote, and opens a GitLab Merge Request using the GitLab MCP server. Use this skill when asked to create a gitlab merge request
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".