skills/security-review/SKILL.md
AI-powered codebase security scanner that reasons about code like a security researcher — tracing data flows, understanding component interactions, and catching vulnerabilities that pattern-matching tools miss. Use this skill when asked to scan code for security vulnerabilities, find bugs, check for SQL injection, XSS, command injection, exposed API keys, hardcoded secrets, insecure dependencies, access control issues, or any request like "is my code secure?", "review for security issues", "audit this codebase", or "check for vulnerabilities". Covers injection flaws, authentication and access control bugs, secrets exposure, weak cryptography, insecure dependencies, and business logic issues across JavaScript, TypeScript, Python, Java, PHP, Go, Ruby, and Rust.
npx skillsauth add williamlimasilva/.copilot security-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
An AI-powered security scanner that reasons about your codebase the way a human security researcher would — tracing data flows, understanding component interactions, and catching vulnerabilities that pattern-matching tools miss.
Use this skill when the request involves:
/security-review or /security-review <path>Unlike traditional static analysis tools that match patterns, this skill:
Follow these steps in order every time:
Determine what to scan:
/security-review src/auth/), scan only that scopereferences/language-patterns.md to load language-specific vulnerability patternsBefore scanning source code, audit dependencies first (fast wins):
package.json + package-lock.json for known vulnerable packagesrequirements.txt / pyproject.toml / Pipfilepom.xml / build.gradleGemfile.lockCargo.tomlgo.sumreferences/vulnerable-packages.md for a curated watchlistScan ALL files (including config, env, CI/CD, Dockerfiles, IaC) for:
.env files accidentally committedreferences/secret-patterns.md for regex patterns and entropy heuristics to applyThis is the core scan. Reason about the code — don't just pattern-match.
Read references/vuln-categories.md for full details on each category.
Injection Flaws
Authentication & Access Control
Data Handling
Cryptography
Business Logic
After the per-file scan, perform a holistic review:
For EACH finding:
Output the full report in the format defined in references/report-format.md.
For every CRITICAL and HIGH finding, generate a concrete patch:
Explicitly state: "Review each patch before applying. Nothing has been changed yet."
| Severity | Meaning | Example | |----------|---------|---------| | 🔴 CRITICAL | Immediate exploitation risk, data breach likely | SQLi, RCE, auth bypass | | 🟠 HIGH | Serious vulnerability, exploit path exists | XSS, IDOR, hardcoded secrets | | 🟡 MEDIUM | Exploitable with conditions or chaining | CSRF, open redirect, weak crypto | | 🔵 LOW | Best practice violation, low direct risk | Verbose errors, missing headers | | ⚪ INFO | Observation worth noting, not a vulnerability | Outdated dependency (no CVE) |
For detailed detection guidance, load the following reference files as needed:
references/vuln-categories.md — Deep reference for every vulnerability category with detection signals, safe patterns, and escalation checkers
SQL injection, XSS, command injection, SSRF, BOLA, IDOR, JWT, CSRF, secrets, cryptography, race condition, path traversalreferences/secret-patterns.md — Regex patterns, entropy-based detection, and CI/CD secret risks
API key, token, private key, connection string, entropy, .env, GitHub Actions, Docker, Terraformreferences/language-patterns.md — Framework-specific vulnerability patterns for JavaScript, Python, Java, PHP, Go, Ruby, and Rust
Express, React, Next.js, Django, Flask, FastAPI, Spring Boot, PHP, Go, Rails, Rustreferences/vulnerable-packages.md — Curated CVE watchlist for npm, pip, Maven, Rubygems, Cargo, and Go modules
lodash, axios, jsonwebtoken, Pillow, log4j, nokogiri, CVEreferences/report-format.md — Structured output template for security reports with finding cards, dependency audit, secrets scan, and patch proposal formatting
report, format, template, finding, patch, summary, confidencetools
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
development
Guide for setting up vcpkg in C++ projects, managing dependency versions, and cross-compiling. Covers manifest initialization, CMake and Visual Studio integration, classic-to-manifest migration, version pinning, baselines, overrides, triplets, and cross-compilation. Use when a user is working with vcpkg project setup, installation, version management, or cross-platform builds. For specialized tasks, additional references cover custom registries and overlay ports (references/registries.md), CI/CD and binary caching (references/ci.md), and troubleshooting and dependency lifecycle (references/troubleshooting.md).
testing
Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.
development
Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.