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 github/awesome-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
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI. Covers all four build backends (setuptools+setuptools_scm, hatchling, flit, poetry), PEP 440 versioning, semantic versioning, dynamic git-tag versioning, OOP/SOLID design, type hints (PEP 484/526/544/561), Trusted Publishing (OIDC), and the full PyPA packaging flow. Use for: creating Python packages, pip-installable SDKs, CLI tools, framework plugins, pyproject.toml setup, py.typed, setuptools_scm, semver, mypy, pre-commit, GitHub Actions CI/CD, or PyPI publishing.
tools
Audit MCP (Model Context Protocol) server configurations for security issues. Use this skill when: - Reviewing .mcp.json files for security risks - Checking MCP server args for hardcoded secrets or shell injection patterns - Validating that MCP servers use pinned versions (not @latest) - Detecting unpinned dependencies in MCP server configurations - Auditing which MCP servers a project registers and whether they're on an approved list - Checking for environment variable usage vs. hardcoded credentials in MCP configs - Any request like "is my MCP config secure?", "audit my MCP servers", or "check .mcp.json" keywords: [mcp, security, audit, secrets, shell-injection, supply-chain, governance]
tools
Enable code intelligence (go-to-definition, find-references, hover, type info) for any programming language by installing and configuring an LSP server for Copilot CLI. Detects the OS, installs the right server, and generates the JSON configuration (user-level or repo-level). Use when you need deeper code understanding and no LSP server is configured, or when the user asks to set up, install, or configure an LSP server.
development
Use this skill whenever the user wants to build scroll animations, scroll effects, parallax, scroll-triggered reveals, pinned sections, horizontal scroll, text animations, or any motion tied to scroll position — in vanilla JS, React, or Next.js. Covers GSAP ScrollTrigger (pinning, scrubbing, snapping, timelines, horizontal scroll, ScrollSmoother, matchMedia) and Framer Motion / Motion v12 (useScroll, useTransform, useSpring, whileInView, variants). Use this skill even if the user just says "animate on scroll", "fade in as I scroll", "make it scroll like Apple", "parallax effect", "sticky section", "scroll progress bar", or "entrance animation". Also triggers for Copilot prompt patterns for GSAP or Framer Motion code generation. Pairs with the premium-frontend-ui skill for creative philosophy and design-level polish.