CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

owasp-audit

Audit application source code against the OWASP Top 10:2025 categories — broken access control (incl. SSRF), security misconfiguration, software supply chain failures, cryptographic failures, injection, insecure design, authentication failures, software and data integrity, logging and alerting failures, mishandling of exceptional conditions — with recon, a coverage ledger, per-finding verification, and a findings.json report. Use when the user mentions 'OWASP,' 'OWASP Top 10,' 'security audit,' 'security review,' 'secure code review,' 'code security review,' 'vulnerability audit,' 'find vulnerabilities,' 'appsec review,' 'application security audit,' 'check for security issues,' 'review this PR for security,' 'pre-merge security check,' 'diff review,' 'broken access control,' 'IDOR,' 'SQL injection,' 'XSS,' 'SSRF,' 'webhook security,' or wants to check their codebase for common security weaknesses.

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A very strong skill body: an explicit multi-phase workflow with independent verification, coverage accounting, and machine-validated outputs, plus one of the most actionable checklists possible (exact greps, commands, expected outputs, and fix idioms). The weaknesses are mild: the body carries several verbose remediation narratives that duplicate or belong in the existing references, making it heavier than an ideal overview without adding proportionate value.

Suggestions

Move the long narrative remediations inlined in A01–A06 (open-redirect control-byte rules, VERIFY_PEER three-option ladder, Next.js headers()-merge walkthrough, paid-endpoint concurrency races) into references/checklist-details.md, keeping a one-line trigger plus the grep and a link in the body — the pattern already used for the SSRF bypass set.

Trim the framework-specific footgun blocks (Rails Devise :validatable, Rails admin-engine mounts, NextAuth v5 list) to grep lines in the body with the explanations living in references/frameworks/ playbooks, so the body stays stack-agnostic.

Where checklist bullets restate content from references/webhooks-and-parsers.md (e.g. inbound-webhook authentication), keep only the grep and a single link to avoid maintaining the same guidance in two places.

DimensionReasoningScore

Conciseness

The body (~460 lines) is dense with genuinely non-obvious, high-value content — framework-specific footguns ("AUTH_SECRET unset silently derives a weak dev value", "config.password_length ... only enforced when ... :validatable"), exact grep patterns, and precise fix idioms — so it mostly avoids explaining what Claude already knows. It is not a 5 because several narrative passages run long and could be tightened or pushed to references, e.g. the four-paragraph open-redirect control-byte discussion, the three-option VERIFY_PEER remediation ladder, the Next.js headers()-merge walkthrough, and the A02 paid-endpoint race explanation, some of which restates material already in checklist-details.md/webhooks-and-parsers.md.

4 / 5

Actionability

Guidance is fully executable throughout: copy-paste grep commands with regexes ("AKIA[0-9A-Z]{16}", "^\s*devise\s+:", "catch \{\}"), concrete validation commands ("node <skill-dir>/references/validate-findings.mjs security-audit/findings.json"), owner-run checks with expected output ("curl -sI https://<origin>/<path> | grep -iE 'content-security-policy|...'"), and copy-ready fix patterns ("UPDATE … SET status='processing' WHERE id=? AND status='pending' RETURNING …"). Not a 4: there are no pseudocode gaps — commands, expected outputs, and fix snippets cover the common cases.

5 / 5

Workflow Clarity

The 7-step workflow (Scope → Recon → Hunt → Verify → Coverage critic → Write/validate findings.json → Render) is clearly sequenced with explicit validation checkpoints and feedback loops: an independent per-finding refutation pass with a fixed verdict table, a coverage critic pass over architecture.md + coverage.json, "Fix every validation error before writing prose", and "If they disagree, fix the JSON, re-validate, and re-render". There is even a re-run/carry-forward protocol and a post-fix second-opinion pass. This matches the top anchor (explicit validation steps, error-recovery loops, checklists); it is not a 4 because no checkpoint is implicit or missing.

5 / 5

Progressive Disclosure

Structure is good: every reference is one level deep, well-signaled with a stated purpose ("Hunter prompt, result shape, and the sequential fallback are in references/orchestration.md"), all cited files and anchors exist (checklist-details.md, webhooks-and-parsers.md, findings-format.md, severity-calibration.md, verification.md, recon-and-coverage.md, orchestration.md, diff-review.md, frameworks/README.md plus per-framework playbooks, validators and to-sarif.mjs), and deep detail (SSRF bypass sets, header baselines, payload sets) is correctly split out. It is not a 5 because the SKILL.md body is less an overview than a working checklist — long remediation narratives and framework footgun blocks (Rails admin-engine mounts, NextAuth v5 list, paid-endpoint races) are inlined where a link-plus-trigger-line pattern, already used elsewhere in the body, would keep the body lean.

4 / 5

Total

18

/

20

Passed

Description

96%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it names the full scope (all ten OWASP Top 10:2025 categories), the methodology (recon, coverage ledger, per-finding verification), and the deliverable (findings.json), followed by an explicit and extensive 'Use when' trigger list. The only soft spot is that a few generic security-review trigger phrases overlap with adjacent sibling skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Audit application source code against the OWASP Top 10:2025 categories" (all ten named), "with recon, a coverage ledger, per-finding verification, and a findings.json report" — covering method, scope, and output artifact comprehensively, matching the anchor for multiple specific concrete actions with comprehensive coverage. It is not a 4 because the gaps at that level (minor coverage gaps) are absent: input, process, verification, and deliverable are all named.

5 / 5

Completeness

It explicitly answers both questions: what ("Audit application source code against the OWASP Top 10:2025 categories — ... — with recon, a coverage ledger, per-finding verification, and a findings.json report") and when ("Use when the user mentions 'OWASP,' ... or wants to check their codebase for common security weaknesses"), with an explicit 'Use when' clause and concrete trigger phrases, exactly matching the top anchor. Not a 4 because the 'when' clause is not merely present but specific and trigger-phrase-rich.

5 / 5

Trigger Term Quality

The trigger list is exhaustive and natural: "'OWASP,' 'security audit,' 'security review,' 'secure code review,' 'vulnerability audit,' 'find vulnerabilities,' 'appsec review,' 'check for security issues,' 'review this PR for security,' 'pre-merge security check,' 'IDOR,' 'SQL injection,' 'XSS,' 'SSRF,' 'webhook security'" plus the catch-all "wants to check their codebase for common security weaknesses" — covering synonyms, abbreviations, and scenario phrasings users would actually say. Not a 4 because even uncommon variants (appsec, pre-merge gate, diff review) are present.

5 / 5

Distinctiveness Conflict Risk

The OWASP Top 10 framing and named vulnerability classes give it a clear niche with mostly distinct triggers, but broad phrases like "'security review,'" "'find vulnerabilities,'" and "'diff review'" create minor overlap risk with closely related sibling skills the body itself references (web-pentest, dependency-audit, secrets-audit, a generic security review). It fits anchor 4 (mostly distinct, minor overlap with closely related skills) better than 5, since a few of its triggers would plausibly fire for those adjacent skills too.

4 / 5

Total

19

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

relative_links

Relative link issues: 2 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 3 deeper-than-1-level

Warning

Total

13

/

16

Passed

Repository

briiirussell/cybersecurity-skills

Path

skills/owasp-audit/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.