Review real software repositories for likely security issues using the local OWASP Top 10:2025 category set, official OWASP-mapped CWE lists, and canonical MITRE CWE records. Use when auditing source code, configuration, IaC, pipelines, dependencies, auth flows, crypto, logging, or error handling, and when the goal is evidence-based findings mapped to both CWE and OWASP 2025 with confidence levels and coverage gaps.
93
92%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Risky
Do not use without reviewing
Use this skill to review a real repository for likely application-security issues using the local OWASP Top 10:2025 and MITRE CWE knowledge pack in this package.
Produce evidence-based repository findings that:
cwe_idThis is a repository review skill, not a generic security education skill.
Use these local files first. Do not browse the web during a repository review if these files exist.
knowledge/owasp_2025_categories.jsonknowledge/cwe_catalog.jsonknowledge/owasp_to_cwe_index.jsonknowledge/detection_playbook.mdschemas/finding.schema.json when the user explicitly asks for machine-readable JSON output or validationIf the knowledge pack is missing or the user explicitly asks to refresh it, stop the review workflow and use builder.md instead.
Inspect the repository structure before forming conclusions.
Look for concrete implementation surfaces, especially:
For each suspicious pattern:
cwe_id you can support from knowledge/cwe_catalog.jsonUse these status rules:
confirmed-likely: the repository contains a concrete insecure implementation or configuration pattern with a plausible abuse pathsuspicious-needs-verification: the repository contains a real signal, but exploitability depends on an upstream control, runtime condition, deployment setting, or missing contextFor every primary CWE:
knowledge/owasp_to_cwe_index.jsonknowledge/owasp_2025_categories.jsonknowledge/cwe_catalog.jsonNever confuse the weakness with the category:
Do not report a finding unless all of these are true:
Apply these guardrails on every finding:
Start broad, then go deep where the evidence is strongest.
Prioritize:
Report the most defensible findings first. Avoid flooding the user with low-confidence noise.
Use practical engineering judgment.
critical: strong evidence of high-impact compromise such as RCE, auth bypass to privileged functions, or clear secret/key exposure in a critical pathhigh: strong evidence of serious data access, write access, injection, or auth failuremedium: meaningful weakness with realistic impact but narrower reach, stronger preconditions, or compensating controls likelylow: real issue with limited impact or primarily defense-in-depth valueConfidence should reflect evidence quality, not impact:
high: direct insecure implementation or config is visible in the repositorymedium: evidence is solid but depends on one or two explicit assumptionslow: there is a real signal, but substantial deployment or runtime uncertainty remainsReturn a concise Markdown security-review report suitable for chat.
Do not return raw JSON by default. Only return JSON when the user explicitly asks for a machine-readable export, asks to validate output against schemas/finding.schema.json, or the calling environment requires structured output.
Use this chat report shape:
## Security Review Summary
- Project: <project type>
- Stack: <languages and frameworks>
- Scope reviewed: <short coverage summary>
- Result: <finding count and highest severity, or "no evidence-backed findings">
## Confirmed Likely Findings
### F-001: <title>
- Severity: <low|medium|high|critical>
- Confidence: <low|medium|high>
- Mapping: <OWASP category id and name> / <CWE id and name>
- Evidence: `<path>:<lines>` - <concrete repository evidence>
- Why it matters: <reasoning>
- Exploit path: <plausible abuse path>
- Remediation: <specific fix>
- Assumptions: <explicit assumptions, or "None">
## Suspicious Items Needing Verification
Use the same finding format for `suspicious-needs-verification` items.
## Manual Verification Needed
- <unresolved trust boundary or runtime condition>
## Coverage Gaps
- <source, deployment, SaaS, runtime, or infrastructure area not reviewable from the repository>If no evidence-backed findings are identified, say so directly and still include manual verification items and coverage gaps. Never state or imply that the repository is secure.
For optional JSON export, use the logical shape defined by schemas/finding.schema.json with scan_summary, findings, manual_verification_needed, and coverage_gaps.
confirmed-likely findings from suspicious-needs-verification items in the chat reportschemas/finding.schema.jsoncoverage_gaps whenever infrastructure, runtime policy, SaaS settings, secrets managers, or deploy-time controls were not reviewable from sourcemanual_verification_needed for every suspicious but unresolved trust boundaryUse knowledge/detection_playbook.md for the detailed repo-review checklist. At minimum, review with these lenses:
A01:2025 Broken Access Control: missing authorization, IDOR/BOLA, admin surfaces, path traversal, forced browsing, SSRF-related boundary failuresA02:2025 Security Misconfiguration: debug surfaces, permissive CORS, unsafe parser flags, exposed admin features, insecure defaults, embedded secretsA03:2025 Software Supply Chain Failures: untrusted registries, risky install/build hooks, weak CI/CD trust assumptions, unmaintained or pinned-bad componentsA04:2025 Cryptographic Failures: weak algorithms, plaintext handling, key misuse, disabled certificate validation, weak RNG, insecure password hashingA05:2025 Injection: raw query construction, shell injection, XSS, template injection, XPath/LDAP/EL injection, unsafe eval pathsA06:2025 Insecure Design: missing rate limits, dangerous workflow assumptions, client-side enforcement, upload design flaws, anti-abuse gapsA07:2025 Authentication Failures: weak auth flows, bad token/session handling, password reset issues, brute-force gaps, MFA weaknessesA08:2025 Software or Data Integrity Failures: unsafe deserialization, unsigned updates, untrusted artifacts, mutable trusted state, CI tampering opportunitiesA09:2025 Security Logging and Alerting Failures: missing audit coverage, sensitive data in logs, log injection, no alerting around security eventsA10:2025 Mishandling of Exceptional Conditions: fail-open behavior, swallowed exceptions, partial rollbacks, unsafe fallback logic, abnormal-condition bypassessuspicious-needs-verificationThe best output is short, defensible, specific, and directly traceable to repository evidence plus the local OWASP/CWE pack.
0d7f002
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.