skills/security/secure-code-review/SKILL.md
Security-focused code review for staged changes or specified files. Checks for injection, auth flaws, crypto misuse, data exposure, and insecure patterns. Works with any language.
npx skillsauth add abhiunix/community-registry secure-code-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.
When asked to do a security review, analyze the specified code (or staged git changes) for security vulnerabilities. This is not a general code review — focus exclusively on security.
If reviewing staged changes:
git diff --cached --stat # see which files changed
git diff --cached # full diff
If reviewing specific files or directories: read them directly.
If nothing specified, ask the user what to review.
Before reviewing, understand:
This context determines what to focus on.
Run through these checks for every piece of code reviewed. Skip categories that don't apply (e.g., skip SQL injection for code that doesn't touch databases).
SQL Injection
.extra(), .raw(), $queryRawUnsafe)Command Injection
exec, system, popen, backticks)shell=True with variable argumentseval(), Function(), exec() with any non-literal inputXSS
innerHTML, dangerouslySetInnerHTML, v-html with user datahref, src, onclick, or style attributesPath Traversal
Template Injection (SSTI)
alg: none allowed, missing expiration validation, weak signing secretMath.random(), random.random(), rand()Cache-Control: no-store for sensitive responses*) on authenticated endpointsTODO/FIXME/HACK comments around security-sensitive codepickle.loads(), yaml.load() (not safe_load), Java ObjectInputStream, PHP unserialize() with untrusted inputStructure your review as:
## Security Review
### Summary
One-line summary. Overall risk: Low / Medium / High / Critical.
### Findings
#### [SEV: Critical/High/Medium/Low] Finding title
- **File:** path/to/file:line_number
- **Category:** Injection / Auth / Authz / Crypto / Data Exposure / Config
- **Issue:** What's wrong
- **Risk:** What an attacker could do with this
- **Fix:**
// concrete code fix or approach
### No Issues Found In
- List areas you checked that looked good (so the user knows you checked them)
escape() might already be handling the sanitization you're worried aboutdevelopment
Generate a STRIDE-based threat model from codebase and architecture analysis. Identifies assets, trust boundaries, data flows, threats, and mitigations. Language-agnostic.
development
Run a comprehensive security audit against a codebase. Covers OWASP Top 10, secrets exposure, dependency vulnerabilities, misconfigurations, and insecure patterns. Language-agnostic.
development
Manage Trello boards, lists, and cards via the Trello REST API.
tools
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks OpenClaw to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.