Claude Skills Guide

Claude Code OWASP Top 10 Security Scanning Workflow

The OWASP Top 10 remains the definitive guide to web application security risks, but manually checking your code against these vulnerabilities time after time becomes tedious. Claude Code combined with specialized skills transforms security scanning from a periodic chore into an automated workflow that catches issues as you code.

Setting Up Your Security Scanning Environment

Before building a scanning workflow, you need the right skills installed. The foundation starts with understanding which skills support security analysis:

# Place tdd.md in .claude/ then invoke: /tdd
# Place pdf.md in .claude/ then invoke: /pdf
# Place supermemory.md in .claude/ then invoke: /supermemory

The tdd skill helps you write security-focused tests, while supermemory maintains a persistent vulnerability database across sessions. If you’re building PDF reports of findings, the pdf skill generates professional documentation.

Building the OWASP Scanning Workflow

The core workflow combines multiple Claude capabilities to scan code against the OWASP Top 10 categories:

1. A01:2021 – Broken Access Control

Access control vulnerabilities appear when applications fail to enforce permission boundaries. Your scanning workflow should check for:

Ask Claude to audit your authentication module:

Review this Express.js route handler for broken access control:
[code snippet]

Claude analyzes the code and identifies missing middleware, hardcoded role checks, or areas where user input could manipulate access levels.

2. A02:2021 – Cryptographic Failures

formerly A3:2017 – Sensitive Data Exposure, this category covers improper cryptographic implementation. Your workflow should flag:

# This triggers a security flag
import hashlib
password_hash = hashlib.md5(password.encode()).hexdigest()

# The scanner recommends:
import hashlib
import secrets
salt = secrets.token_hex(16)
password_hash = hashlib.pbkdf2_hmac('sha256', 
    password.encode(), salt.encode(), 100000)

The scanning workflow detects weak cryptographic functions and suggests modern alternatives.

3. A03:2021 – Injection

SQL injection, NoSQL injection, and command injection remain prevalent. Claude’s scanning identifies:

// Vulnerable pattern
const query = `SELECT * FROM users WHERE id = ${userId}`;

// Claude recommends parameterized queries
const query = 'SELECT * FROM users WHERE id = ?';
db.execute(query, [userId]);

4. A04:2021 – Insecure Design

This newer category focuses on architectural flaws rather than implementation bugs. Your workflow should evaluate:

The scanning workflow works well alongside the tdd skill to generate security test cases that verify your design assumptions.

5. A05:2021 – Security Misconfiguration

Misconfigured servers, frameworks, and dependencies create easy attack vectors. Automated scanning catches:

# Example security header check in nginx config
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "DENY" always;
add_header Content-Security-Policy "default-src 'self'" always;

6. A06:2021 – Vulnerable and Outdated Components

Dependency scanning has become critical as supply chain attacks increase. Pair this with secret scanning to prevent credential leaks in your repositories. Claude can:

Check these dependencies for known vulnerabilities:
- express: 4.18.0
- lodash: 4.17.20
- react: 17.0.2

7. A07:2021 – Identification and Authentication Failures

Weak authentication implementations expose applications to credential-based attacks. The scanning workflow checks for:

8. A08:2021 – Software and Data Integrity Failures

This category covers CI/CD vulnerabilities and insecure deserialization. Your workflow should verify:

9. A09:2021 – Security Logging and Monitoring Failures

Without proper logging, breaches go undetected. Claude audits your logging implementation:

10. A10:2021 – Server-Side Request Forgery (SSRF)

SSRF vulnerabilities occur when applications fetch remote resources without validation. The scanner identifies:

# Vulnerable
image_url = request.GET['url']
image = fetch(image_url)

# Protected
from urllib.parse import urlparse
image_url = request.GET['url']
parsed = urlparse(image_url)
if parsed.netloc not in ALLOWED_DOMAINS:
    raise ValidationError("Domain not allowed")

Automating the Complete Workflow

Chain these scanning capabilities together using Claude’s skill composition:

# .claude/commands/scan-owasp.md
# Run full OWASP Top 10 scan

Analyze the codebase for OWASP Top 10 (2021) vulnerabilities:

1. Check for broken access control patterns
2. Identify cryptographic failures and hardcoded secrets
3. Detect injection vulnerabilities in database queries
4. Evaluate security design weaknesses
5. List security misconfigurations
6. Flag outdated dependencies with known CVEs
7. Review authentication implementation
8. Check for insecure deserialization
9. Audit logging for sensitive data exposure
10. Identify potential SSRF vectors

For each finding, provide:
- Severity (Critical, High, Medium, Low)
- Location (file and line number)
- Remediation recommendation

Run this command on every pull request to maintain continuous security validation. Store results in supermemory for tracking vulnerability remediation over time, and generate PDF reports using the pdf skill for compliance documentation.

Integrating with Development Workflow

The most effective approach embeds security scanning into your existing development process. Add a pre-commit hook:

# .git/hooks/pre-commit
claude --print "scan code for OWASP top 10 vulnerabilities --severity critical"

For teams using CI/CD, integrate scanning into GitHub Actions with approval workflows so security findings require human sign-off before merging:

name: OWASP Security Scan
on: [push, pull_request]
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Claude Security Scan
        run: |
          claude --print "Run OWASP top 10 security scan on this codebase" > results.json
      - name: Upload Results
        uses: actions/upload-artifact@v4
        with:
          name: security-scan
          path: results.json

Conclusion

Building a Claude Code OWASP Top 10 security scanning workflow transforms security from a periodic audit into continuous protection. The key lies in combining Claude’s code analysis capabilities with specialized skills like tdd for security testing, supermemory for tracking findings, and pdf for compliance reporting. Pair this workflow with the security code review checklist automation to cover both OWASP categories and project-specific security standards.

Start with the ten categories above, customize the scanning rules to your tech stack, and integrate checks into your development workflow. Security improves dramatically when scanning happens at every code change rather than waiting for dedicated audit phases.

Built by theluckystrike — More at zovo.one