Get the FREE Ultimate OpenClaw Setup Guide →

OWASP 2025 Mapping

npx machina-cli add skill allsmog/vuln-scout/owasp-2025 --openclaw
Files (1)
SKILL.md
9.5 KB

OWASP Top 10 2025 Reference

Purpose

Provide comprehensive mapping of OWASP Top 10 2025 categories to detection patterns, CWE references, and related plugin skills. This serves as the master reference for vulnerability categorization.

When to Use

Activate this skill when:

  • Starting a security audit and need to ensure comprehensive coverage
  • Mapping findings to industry-standard categories
  • Generating reports with OWASP/CWE references
  • Understanding which vulnerability classes to prioritize

OWASP Top 10 2025 Overview

RankCategoryDescriptionPlugin Coverage
A01Broken Access ControlAuthorization failures, IDOR, privilege escalationbusiness-logic skill
A02Security MisconfigurationDefault creds, debug mode, missing headerssecurity-misconfiguration skill
A03Software Supply ChainDependency vulns, build pipeline(Out of scope)
A04Cryptographic FailuresWeak crypto, hardcoded secretscryptographic-failures skill
A05InjectionSQLi, Command, LDAP, XSSvuln-patterns skill
A06Insecure DesignBusiness logic flaws, missing controlsbusiness-logic skill
A07Authentication FailuresAuth bypass, session issues, credential stuffingvuln-patterns skill
A08Data Integrity FailuresDeserialization, CI/CD issuesvuln-patterns skill
A09Logging & Alerting FailuresLog injection, insufficient logginglogging-failures skill
A10Mishandling of ExceptionsXXE, error handling, stack tracesexception-handling skill

A01: Broken Access Control

CWEs: CWE-22, CWE-284, CWE-285, CWE-639, CWE-862, CWE-863

Covered by: business-logic skill

Detection Patterns:

# Missing authorization checks
grep -rniE "isAdmin|hasRole|checkPermission|authorize" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

# IDOR patterns (direct object references)
grep -rniE "user_id|userId|account_id|order_id" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

# Privilege escalation
grep -rniE "role.*=|setRole|updateRole|isAdmin.*true" --include="*.go" --include="*.py" --include="*.java"

Key Indicators:

  • Missing @PreAuthorize, @RequiresPermission annotations
  • Direct use of user-supplied IDs without ownership verification
  • Role checks only on frontend, not backend

A02: Security Misconfiguration

CWEs: CWE-16, CWE-209, CWE-215, CWE-548, CWE-756

Covered by: security-misconfiguration skill

Detection Patterns:

# Debug mode enabled
grep -rniE "DEBUG.*=.*[Tt]rue|FLASK_DEBUG|APP_DEBUG|debug.*mode" --include="*.py" --include="*.env" --include="*.yaml" --include="*.json"

# Default credentials
grep -rniE "password.*=.*['\"]admin|pass.*=.*['\"]123|secret.*=.*['\"]test" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

# Exposed endpoints
grep -rniE "/admin|/debug|/actuator|/swagger|/graphql" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

A04: Cryptographic Failures

CWEs: CWE-326, CWE-327, CWE-328, CWE-330, CWE-338, CWE-798

Covered by: cryptographic-failures skill

Detection Patterns:

# Weak hash algorithms
grep -rniE "md5|sha1\(|SHA1|MessageDigest.*MD5" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

# Hardcoded secrets
grep -rniE "api_key.*=.*['\"]|password.*=.*['\"]|secret.*=.*['\"]|token.*=.*['\"]" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

# Insecure random
grep -rniE "Math\.random|rand\(\)|random\(\)|Random\(\)" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

A05: Injection

CWEs: CWE-77, CWE-78, CWE-79, CWE-89, CWE-90, CWE-91, CWE-94

Covered by: vuln-patterns skill, dangerous-functions skill

Detection Patterns:

# SQL Injection
grep -rniE "execute\(.*\+|query\(.*\+|raw\(.*\+|SELECT.*\+|WHERE.*\+" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

# Command Injection (see dangerous-functions skill for full list)
grep -rniE "os/exec|subprocess|Runtime\.getRuntime|shell_exec|system\(" --include="*.go" --include="*.py" --include="*.java" --include="*.php"

# XSS - DOM manipulation (see dangerous-functions skill)
grep -rniE "innerHTML|document\.write|\.html\(|v-html" --include="*.ts" --include="*.js" --include="*.jsx" --include="*.tsx" --include="*.vue"

A06: Insecure Design

CWEs: CWE-209, CWE-256, CWE-501, CWE-522, CWE-656

Covered by: business-logic skill, threat-modeling skill

Detection Patterns:

# Missing rate limiting
grep -rniE "login|authenticate|password|reset" --include="*.go" --include="*.py" --include="*.java" | grep -v "rate\|limit\|throttle"

# Trust boundary violations
grep -rniE "trusted|verified|validated" --include="*.go" --include="*.py" --include="*.java"

# State machine issues
grep -rniE "state.*=|status.*=|step.*=" --include="*.go" --include="*.py" --include="*.java"

A07: Authentication Failures

CWEs: CWE-287, CWE-288, CWE-294, CWE-307, CWE-384, CWE-640

Covered by: vuln-patterns skill

Detection Patterns:

# Weak session management
grep -rniE "session\[|Session\.|setSession|getSession" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

# Password issues
grep -rniE "password.*==|strcmp.*password|password\.equals" --include="*.go" --include="*.py" --include="*.java" --include="*.php"

# JWT issues
grep -rniE "jwt\.decode|verify.*false|algorithm.*none|HS256" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

A08: Data Integrity Failures

CWEs: CWE-345, CWE-353, CWE-502, CWE-565, CWE-784, CWE-829

Covered by: vuln-patterns skill (deserialization section)

Detection Patterns:

# Unsafe deserialization (see dangerous-functions for full list)
grep -rniE "unserialize|ObjectInputStream|yaml\.load|json\.loads" --include="*.go" --include="*.py" --include="*.java" --include="*.php"

# Missing signature verification
grep -rniE "verify.*false|skipVerification|insecure" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

A09: Logging & Alerting Failures

CWEs: CWE-117, CWE-223, CWE-532, CWE-778

Covered by: logging-failures skill, sensitive-data-leakage skill

Detection Patterns:

# Log injection
grep -rniE "log\.(info|debug|error|warn).*\+" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

# Secrets in logs (covered by sensitive-data-leakage)
grep -rniE "log.*(password|secret|token|key|credential)" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

A10: Mishandling of Exceptions

CWEs: CWE-390, CWE-392, CWE-460, CWE-611, CWE-755

Covered by: exception-handling skill

Detection Patterns:

# XXE (XML External Entity)
grep -rniE "XMLParser|DocumentBuilder|SAXParser|xml\.parse|etree\.parse" --include="*.go" --include="*.py" --include="*.java" --include="*.ts" --include="*.php"

# Empty catch blocks
grep -rniE "catch.*\{\s*\}|except.*pass|rescue.*end" --include="*.java" --include="*.py" --include="*.rb"

# Stack trace exposure
grep -rniE "printStackTrace|traceback|stack.*trace|\.stack" --include="*.go" --include="*.py" --include="*.java" --include="*.ts"

CWE Quick Reference

CWENameOWASP 2025
CWE-22Path TraversalA01
CWE-77Command InjectionA05
CWE-78OS Command InjectionA05
CWE-79XSSA05
CWE-89SQL InjectionA05
CWE-117Log InjectionA09
CWE-209Error Message Info DisclosureA02, A10
CWE-284Improper Access ControlA01
CWE-287Improper AuthenticationA07
CWE-326Inadequate Encryption StrengthA04
CWE-327Broken Crypto AlgorithmA04
CWE-330Insufficient RandomnessA04
CWE-384Session FixationA07
CWE-502Deserialization of Untrusted DataA08
CWE-532Sensitive Info in LogsA09
CWE-611XXEA10
CWE-639User-Controlled KeyA01
CWE-755Improper Exception HandlingA10
CWE-778Insufficient LoggingA09
CWE-798Hardcoded CredentialsA04
CWE-862Missing AuthorizationA01
CWE-863Incorrect AuthorizationA01

Audit Checklist

When performing a comprehensive audit, ensure coverage of:

  • A01: Check all endpoints for authorization
  • A02: Review configuration files, environment variables
  • A04: Search for hardcoded secrets, weak crypto
  • A05: Trace user input to SQL, commands, HTML output
  • A06: Review business logic, state machines
  • A07: Test authentication flows, session management
  • A08: Find deserialization points
  • A09: Check logging for injection, secrets exposure
  • A10: Find XML parsers, review error handling

Integration with Commands

CommandOWASP Coverage
/full-auditAll categories (comprehensive)
/sinksA05 (Injection) primarily
/threatsA01, A06, A07 (design-level)
/scan --tools semgrepA02, A04, A05, A08
/verifyConfirms A05, A10 findings

Source

git clone https://github.com/allsmog/vuln-scout/blob/main/whitebox-pentest/skills/owasp-2025/SKILL.mdView on GitHub

Overview

Provides a master mapping of OWASP Top 10 2025 categories to detection patterns, CWE references, and related plugin skills. It helps whitebox pentesters align findings with industry-standard categories, generate CWE-informed reports, and prioritize vulnerability classes.

How This Skill Works

The skill links each OWASP 2025 category to CWE identifiers (where applicable) and the plugin skills that cover it (e.g., A01 maps to the business-logic skill). It also includes practical detection patterns and indicators to validate category classification during audits, enabling consistent reporting across engagements.

When to Use It

  • Starting a security audit to ensure comprehensive coverage across OWASP Top 10 2025 categories.
  • Mapping findings to industry-standard categories and CWE references.
  • Generating reports that cite OWASP and CWE mappings and plugin coverage.
  • Understanding which vulnerability classes to prioritize during pentests.
  • Cross-referencing findings with deployment context and security controls in whitebox tests.

Quick Start

  1. Step 1: Identify the OWASP Top 10 2025 categories relevant to your scope and map each finding to its category.
  2. Step 2: For each category, attach any CWE references and the corresponding plugin skill that covers detection patterns.
  3. Step 3: Generate a report that cites OWASP categories, CWE references, and plugin mappings to guide remediation.

Best Practices

  • Use the master mapping as the reference baseline for all findings.
  • Cross-check each finding against the associated CWE and plugin skill.
  • Keep the OWASP 2025 coverage up-to-date with the edition changes.
  • Document triage by category risk and business impact.
  • Automate report generation with embedded CWE and plugin references where possible.

Example Use Cases

  • A01 Broken Access Control mapped to CWE-22, CWE-284, CWE-285, CWE-639, CWE-862, CWE-863 with the business-logic plugin.
  • A02 Security Misconfiguration mapped to CWE-16, CWE-209, CWE-215, CWE-548, CWE-756 using the security-misconfiguration plugin.
  • A04 Cryptographic Failures mapped to CWE-326, CWE-327, CWE-328, CWE-330, CWE-338, CWE-798 with the cryptographic-failures plugin.
  • A05 Injection mapped to common injection patterns (SQLi, Command, LDAP, XSS) using the vuln-patterns plugin.
  • A09 Logging & Alerting Failures mapped to log injection and insufficient logging using the logging-failures plugin.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers