owasp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited owasp (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are in AUTONOMOUS MODE. Do NOT ask questions. Audit every OWASP category systematically.
TARGET: $ARGUMENTS
If no arguments provided, audit the entire project in the current working directory against all OWASP Top 10 categories.
============================================================ PHASE 0: TECH STACK DETECTION ============================================================
Auto-detect the project's technology stack:
package.json → Node.js (Express, Fastify, NestJS, Next.js, etc.)pubspec.yaml → Flutter / Dartrequirements.txt / pyproject.toml → Python (Django, Flask, FastAPI, etc.)Cargo.toml → Rust (Actix, Axum, Rocket, etc.)go.mod → Go (Gin, Echo, Fiber, etc.)pom.xml / build.gradle → Java/Kotlin (Spring, Quarkus, etc.)Gemfile → Ruby (Rails, Sinatra, etc.)*.php → PHP (Laravel, Symfony, etc.)Identify the web framework, ORM/database layer, auth library, and template engine. These determine what patterns to scan for in each OWASP category.
============================================================ PHASE 1: A01 — BROKEN ACCESS CONTROL ============================================================
Scan for access control failures:
AUTH MIDDLEWARE COVERAGE:
IDOR (Insecure Direct Object References):
findById(req.params.id) without ownership checkPATH TRAVERSAL:
../ sanitizationfs.readFile(userInput), open(user_path)CORS MISCONFIGURATION:
* or overly permissive originsPRIVILEGE ESCALATION:
For each finding: file path, line number, severity, description, fix.
============================================================ PHASE 2: A02 — CRYPTOGRAPHIC FAILURES ============================================================
Scan for cryptographic weaknesses:
WEAK ALGORITHMS:
EXPOSED SECRETS:
WEAK TRANSPORT:
rejectUnauthorized: false, verify=False)ws:// instead of wss://)DATA EXPOSURE:
============================================================ PHASE 3: A03 — INJECTION ============================================================
Scan for injection vulnerabilities:
SQL INJECTION:
query("SELECT * FROM users WHERE id = " + id)NOSQL INJECTION:
{ $where: userInput }, { field: { $gt: userInput } }COMMAND INJECTION:
exec(), spawn(), system() with user-controlled argumentsXSS (Cross-Site Scripting):
innerHTML, dangerouslySetInnerHTML with user data| safe, {!! !!}, <%- %>)document.write(), eval() with user-controlled stringsLDAP INJECTION:
XPATH INJECTION:
For each: exact code location, injection type, proof pattern, fix.
============================================================ PHASE 4: A04 — INSECURE DESIGN ============================================================
Scan for design-level security flaws:
MISSING RATE LIMITING:
BUSINESS LOGIC FLAWS:
MISSING SECURITY CONTROLS:
============================================================ PHASE 5: A05 — SECURITY MISCONFIGURATION ============================================================
Scan for configuration issues:
DEBUG/DEVELOPMENT MODE:
DEBUG=True, NODE_ENV=development in production configs/debug, /swagger unprotected)DEFAULT CREDENTIALS:
postgres, root, admin)UNNECESSARY FEATURES:
X-Powered-By)MISSING SECURITY HEADERS:
============================================================ PHASE 6: A06 — VULNERABLE AND OUTDATED COMPONENTS ============================================================
Scan for vulnerable dependencies:
DEPENDENCY AUDIT:
KNOWN CVE CHECK:
FRAMEWORK VERSIONS:
============================================================ PHASE 7: A07 — IDENTIFICATION AND AUTHENTICATION FAILURES ============================================================
Scan for authentication weaknesses:
PASSWORD POLICIES:
SESSION MANAGEMENT:
MFA:
CREDENTIAL STORAGE:
============================================================ PHASE 8: A08 — SOFTWARE AND DATA INTEGRITY FAILURES ============================================================
Scan for integrity issues:
INSECURE DESERIALIZATION:
JSON.parse() on untrusted input without validationpickle.loads(), yaml.load() (unsafe loaders) on user dataObjectInputStream with untrusted dataCI/CD INTEGRITY:
latest or *)UPDATE MECHANISMS:
============================================================ PHASE 9: A09 — SECURITY LOGGING AND MONITORING FAILURES ============================================================
Scan for logging deficiencies:
MISSING SECURITY EVENTS:
LOG QUALITY:
MONITORING:
============================================================ PHASE 10: A10 — SERVER-SIDE REQUEST FORGERY (SSRF) ============================================================
Scan for SSRF vulnerabilities:
URL HANDLING:
DNS REBINDING:
CLOUD METADATA:
============================================================ SELF-HEALING VALIDATION (max 2 iterations) ============================================================
After producing the security analysis, validate thoroughness:
IF VALIDATION FAILS:
============================================================ OUTPUT ============================================================
Project: [name] Stack: [detected technologies] Date: [date]
| ID | Category | Status | Findings |
|---|---|---|---|
| A01 | Broken Access Control | [PASS/WARN/FAIL] | N |
| A02 | Cryptographic Failures | [PASS/WARN/FAIL] | N |
| A03 | Injection | [PASS/WARN/FAIL] | N |
| A04 | Insecure Design | [PASS/WARN/FAIL] | N |
| A05 | Security Misconfiguration | [PASS/WARN/FAIL] | N |
| A06 | Vulnerable Components | [PASS/WARN/FAIL] | N |
| A07 | Auth Failures | [PASS/WARN/FAIL] | N |
| A08 | Data Integrity Failures | [PASS/WARN/FAIL] | N |
| A09 | Logging Failures | [PASS/WARN/FAIL] | N |
| A10 | SSRF | [PASS/WARN/FAIL] | N |
For each category with WARN or FAIL:
#### [Category Name]
| # | Severity | File | Line | Description | Fix |
|---|---|---|---|---|---|
| 1 | Critical | path/to/file.ts | 42 | Description | Recommended fix |
[Ordered list of fixes by severity and effort, Critical first]
============================================================ NEXT STEPS ============================================================
After reviewing the audit:
/pentest to verify exploitability of injection and auth findings."/dependency-scan to auto-fix vulnerable components (A06)."/encryption to address cryptographic failures (A02)."/secure for the full security posture assessment."============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.md in that memory directoryEntry format:
### /owasp — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT ============================================================
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.