security-reviewer
This skill performs multi-language security reviews of web applications, APIs, and CLIs by checking code for common vulnerabilities across eight categories…
Community author
- Agents
- Claude Code
- License
- MIT (permissive)
- Pin
- 40ace4apinned Oct 9, 2026
- Context cost
- about 1,100 tokenswhen the skill loads
- GitHub stars
- 79on security-phoenix-demo/security-skills-claude-code
- Scripts
- None found
What it does
“Multi-language security review for web apps, APIs, and CLIs. Use whenever code is added or modified — new endpoints, auth/RBAC changes, template or DOM rendering, outbound HTTP, dependency updates, IaC/config changes, or end-of-feature reviews. Covers Python, JavaScript, TypeScript, Go, Rust, Java/Kotlin, Ruby, C#/.NET, plus shared OWASP Top 10 and ASVS L1 logic. Triggers on phrases like "security review", "review this for security", "audit this code", "is this safe", "AppSec check", "threat-model this change", "supply chain risk", "before I merge", or whenever a senior engineer would pause to ask "what could go wrong here". Pairs with the `security-reviewer` subagent and the session-start / pre-bash / post-edit hooks shipped alongside it.”
Generated summary from the skill's own text
This skill performs multi-language security reviews of web applications, APIs, and CLIs by checking code for common vulnerabilities across eight categories: authentication, output encoding, SSRF, secrets management, input handling, configuration, supply chain, and failure modes. It supports Python, JavaScript, TypeScript, Go, Rust, Java, Ruby, and C#/.NET, and outputs severity-ranked findings with file paths and concrete fixes.
When to use it
- New HTTP route, RPC handler, or auth/RBAC change added
- Frontend rendering or template change that could expose XSS
- Dependency manifest or lockfile update
- Before merging code marked security-sensitive or pre-release
When not to
- Looking for a comprehensive multi-day security audit or pentest
- Need formal compliance certification or compliance reporting
- Code in unsupported languages
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add security-phoenix-demo/security-skills-claude-code --skill security-reviewerInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install security-phoenix-demo/security-skills-claude-code security-reviewer@40ace4aa71017b8214fd9d1a071de235a1abc022Installs the commit we checked (40ace4a).
Copy by hand
Download the folder at 40ace4a and put it in .claude/skills/security-reviewer for Claude Code and in .agents/skills/security-reviewer for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "security-reviewer" by Security-Phoenix-demo. Source, pinned to commit 40ace4aa71017b8214fd9d1a071de235a1abc022: https://github.com/security-phoenix-demo/security-skills-claude-code/tree/40ace4aa71017b8214fd9d1a071de235a1abc022/plugins/phoenix-security-review/skills/security-reviewer 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/security-reviewer/ for Claude Code and .agents/skills/security-reviewer/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/security-phoenix-demo/security-reviewer
SKILL.md at the pin
--- name: security-reviewer description: Multi-language security review for web apps, APIs, and CLIs. Use whenever code is added or modified — new endpoints, auth/RBAC changes, template or DOM rendering, outbound HTTP, dependency updates, IaC/config changes, or end-of-feature reviews. Covers Python, JavaScript, TypeScript, Go, Rust, Java/Kotlin, Ruby, C#/.NET, plus shared OWASP Top 10 and ASVS L1 logic. Triggers on phrases like "security review", "review this for security", "audit this code", "is this safe", "AppSec check", "threat-model this change", "supply chain risk", "before I merge", or whenever a senior engineer would pause to ask "what could go wrong here". Pairs with the `security-reviewer` subagent and the session-start / pre-bash / post-edit hooks shipped alongside it. --- # Security Reviewer A pragmatic AppSec review pass for any modern stack. Output is short, severity-ranked findings with file paths, evidence, and a concrete fix — never a 30-page "report". ## When to run Run on any of: - New HTTP route, RPC handler, or queue consumer - Auth, session, RBAC, or tenant-isolation change - Frontend rendering / templating change (XSS surface) - Outbound HTTP, file fetch, or URL handling (SSRF surface) - Database query change (injection / IDOR surface) - Dependency manifest change or lockfile bump - Config / IaC change (CORS, headers, CSP, IAM, secrets) - End of a major feature, pre-release, or before opening a PR labelled `security-sensitive` If unsure, run it. False positives are cheap; missed CVEs are not. ## Eight-point check (language-agnostic) These eight categories drive every review. Every finding maps to one. 1. **Authn/Authz** — every route has explicit auth + role/tenant checks; no implicit "logged-in means allowed" 2. **Output encoding** — all user-influenced HTML/markdown/JSON/log output is encoded for its sink 3. **SSRF & outbound HTTP** — URL allow-listed, redirects bounded, IMDS / link-local / RFC1918 blocked unless intentional 4. **Secrets & key material** — no client-side storage, no hardcoded keys, no secrets in URLs or logs 5. **Input handling** — parameterised queries, path containment, redirect target validation, deserialisation guards 6. **Config & headers** — CSP, HSTS, X-Content-Type-Options, secure cookies, CORS allowlist, rate limits, dev-bypass off in prod 7. **Supply chain** — dependencies pinned, lockfile committed, manifest scanned, no unknown registries, install scripts reviewed 8. **Failure modes** — fail-closed on auth/policy errors, no broad `except`/`catch`, errors don't leak stack traces or PII ## Routing When language is known, load the matching reference and use its diagnostic patterns. When mixed, run all relevant ones. | Detected from… | Read… | |---|---| | `pyproject.toml`, `requirements*.txt`, `Pipfile`, `setup.py` | `languages/python.md` | | `package.json`, `*.ts`, `*.tsx`, `*.js`, `*.jsx` | `languages/javascript-typescript.md` | | `go.mod` | `languages/go.md` | | `Cargo.toml` | `languages/rust.md` | | `pom.xml`, `build.gradle*`, `*.kt`, `*.java` | `languages/java.md` | | `Gemfile`, `*.rb` | `languages/ruby.md` | | `*.csproj`, `*.sln`, `*.cs` | `languages/dotnet.md` | Then consult the cross-cutting checklists: - `checklists/owasp-asvs.md` — OWASP Top 10 (2021) and ASVS L1 controls keyed to the eight-point check - `checklists/endpoint-checklist.md` — per-endpoint review template - `playbooks/triage.md` — what to do once a finding fires (severity rubric, fix templates, follow-up tickets) ## Output format Every review emits a finding list. Nothing else. ``` [SEVERITY] <one-line summary> File: <path>:<line> Category: <one of the 8 categories> Evidence: <code snippet or pattern matched> Fix: <concrete change, ideally a diff> Refs: <CWE-XXX, OWASP A0X:2021, ASVS V-X.Y.Z> ``` Severities: `CRITICAL` (auth bypass, RCE, secret leak in prod), `HIGH` (data exposure, SSRF to internal, missing CSRF on state change), `MEDIUM` (weak crypto choice, missing rate limit, stack trace leak), `LOW` (defence-in-depth, hygiene). If nothing fires, say so explicitly and list residual risks or untested areas — silence is not a clean bill. ## Hook integration Three hooks ship with this skill (`/.claude/hooks/`): - **`session-start.sh`** — fingerprints the project on session open, runs a fast dependency audit if tooling is present, and injects a security-context block so every agent in the session starts informed. - **`pre-bash-package-guard.sh`** — gates package-manager invocations (`npm/yarn/pnpm/pip/uv/poetry/cargo/go get/gem/bundle/composer/dotnet add`). Blocks installs of typosquatted, brand-new, or known-malicious packages; prompts for confirmation on borderline cases. - **`post-edit-quickscan.sh`** — runs a fast pattern scan on files touched by `Edit`/`Write`/`MultiEdit` and feeds findings back to the agent that made the change. Subagents that consume this skill should treat the `## SECURITY CONTEXT` block (when injected by `session-start.sh`) as authoritative project metadata. ## Author / provenance Maintained by Phoenix Security as part of the Phoenix developer-tooling kit. Pairs with `phoenix-final-gate` (spec-pipeline review) and `opengrep-rule-generator` (rule synthesis from findings).
From security-phoenix-demo/security-skills-claude-code at 40ace4a, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 40ace4aFiles
- SKILL.md5.3 KB · fc77a15b8f0c
- checklists/
- endpoint-checklist.md2.8 KB · a4bfed217284
- owasp-asvs.md4.3 KB · 6ed9fd5d3ce4
- languages/
- dotnet.md6.2 KB · a7de7b21f8aa
- go.md5.0 KB · 8fc9609c0c43
- java.md5.8 KB · 7c6a0373e3da
- javascript-typescript.md6.2 KB · c8a4864e2831
- python.md5.1 KB · 29ad6747e2de
- ruby.md4.5 KB · 47ae5dfc97db
- rust.md5.1 KB · 7e04a2082a9b
- playbooks/
- triage.md4.0 KB · 0759c8f385c0
11 files, 54 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 40ace4aRelated in Security
sensitive-logging-audit
The skill helps audit and fix sensitive data leaks in Python SDK logging, exceptions, and telemetry by collecting candidate sinks, manually tracing values…
by OpenAIOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 970 tokens · pinned 6 days ago
django-access-review
This skill guides agents through investigating Django and Django REST Framework code for IDOR and access control vulnerabilities.
by SentryOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.5K tokens · pinned 6 days ago
secret-serialization
This skill detects credential leaks through generated serialization when types storing secrets are converted to strings or dictionaries by logging, tracing…
by SentryOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.4K tokens · pinned 6 days ago
ai-inventory
This skill generates an AI Bill of Materials (AIBOM) for Python projects by identifying AI models, datasets, frameworks, and tools using the Snyk AIBOM API.
by SnykOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.7K tokens · pinned 6 days ago
authoring
This skill helps agents author Falcon Fusion workflow YAML files by discovering action IDs from the live API, validating YAML against the schema, and…
by CrowdStrikeOfficial publisher
Contains scripts
Claude Code · about 5.2K tokens · pinned 6 days ago
operating-havoc-c2
This skill deploys the Havoc C2 framework with evasive Demon agents for authorized red-team engagements.
by mukul975Community
Contains scripts
Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 6 days ago