agentleFS
rohitgollarahallirohitgollarahalli/claude-skills/skills/security-review/SKILL.md

security-review

Skill0 starsChanged 5 months agoMITView on GitHub

Review code or a diff for security vulnerabilities and report them ranked by severity with concrete remediations. Use this whenever the user asks to "security review", "check for vulnerabilities", "is this secure?", "audit this code", review auth/crypto/input-handling, or before shipping anything that touches authentication, user input, secrets, file paths, or external requests — even if they just ask "is it safe to ship this?"

  • Deletes or force-pushes

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use linkerd-patterns, dependency-cve-sweep and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • xfstudioSkill

    linkerd-patterns

    Implement Linkerd service mesh patterns for lightweight, security-focused service mesh deployments. Use when setting up Linkerd, configuring traffic policies, or implementing zero-trust networking with minimal overhead.

    Also in 5 projects that use this

  • berntpoppSkill

    dependency-cve-sweep

    Use when handling Dependabot PRs, CodeQL/Trivy alerts, or doing a routine dependency/CVE sweep for this repo.

    Also in 12 projects that use this

  • berntpoppSkill

    fleet-standard-adoption

    Use when bringing this repo into compliance with a GeneFoundry fleet standard (tool-naming, response-envelope, container-hardening, versioning, MCP transport, or logging) or closing its tracking issue.

    Also in 12 projects that use this

  • HABUBUSSSkill

    project-guidelines-example

    Also in 16 projects that use this

  • niloykumarbarmanSkill

    agent-sort

    Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

    Also in 13 projects that use this

  • royaluniondesign-sysSkill

    configure-ecc

    Interactive installer for Everything Claude Code — guides users through selecting and installing skills and rules to user-level or project-level directories, verifies paths, and optionally optimizes installed files.

    Also in 11 projects that use this

  • +2 more from berntpopp

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 167 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not produce working exploit payloads beyond what's needed to demonstrate the issue to the developer.

    line 70

“Common” is measured: kept by at least 6 in 10 of the 167 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Security Review

The goal is to find the issues an attacker would, and explain them so they get fixed correctly. Think in terms of trust boundaries: wherever untrusted input crosses into trusted execution, data access, or output is where vulnerabilities live. Prioritize exploitability and impact over theoretical purity.

What to check

Walk the code with these categories in mind (a practical subset of OWASP):

  1. Injection — SQL, NoSQL, OS command, LDAP, template, header injection. Any place user input is concatenated into a query, command, or markup.
  2. AuthN / AuthZ — missing or broken authentication; missing authorization checks (can user A act on user B's resources?); insecure direct object references; privilege escalation.
  3. Secrets & crypto — hardcoded credentials/keys/tokens, secrets in logs, weak or home-grown crypto, predictable randomness for security purposes, missing TLS/verification.
  4. Input validation & output encoding — XSS (stored/reflected), unvalidated input crossing a boundary, missing output encoding, mass assignment.
  5. Unsafe operations — path traversal, unsafe deserialization, SSRF (user-controlled URLs fetched server-side), unrestricted file upload, XXE, open redirects.
  6. Data exposure — sensitive data in responses/logs/errors, missing access controls on endpoints, verbose error messages leaking internals.
  7. Dependencies & config — known-vulnerable dependencies, insecure defaults, debug mode in prod, permissive CORS.

Output format

Lead with an overall risk read, then findings by severity. Each finding names the location, explains the vulnerability and a realistic exploit, rates severity, and gives a concrete fix.

**Overall:** <Critical / High / Medium / Low / Looks clean> — <one line>

### Critical / High
- `path:line` — <vulnerability>. **Exploit:** <how an attacker abuses it>.
  **Severity:** <why this rating>. **Fix:** <specific remediation>.

### Medium
- ...

### Low / hardening
- ...

### Notes
- <what you reviewed, and what was out of scope or couldn't be assessed>

Guardrails

  • Rate by real exploitability and impact, not theory. Don't cry wolf — false alarms train people to ignore reviews.
  • Give remediations that fix the root cause (parameterized queries, not input blocklists).
  • Be explicit about scope and confidence: what you reviewed, what you couldn't see (runtime config, infra), and where you're inferring.
  • This is a code review, not a penetration test or a guarantee. Say so — say "no obvious issues in what I reviewed," never "this is secure."
  • Do not produce working exploit payloads beyond what's needed to demonstrate the issue to the developer.

Example

Overall: High — one command injection and a missing authorization check.

Critical / High

  • routes/export.py:54 — os.system(f"convert {filename} ...") runs a user-supplied filename through a shell. Exploit: a filename like x; rm -rf / executes arbitrary commands. Severity: High — remote code execution. Fix: avoid the shell; pass an argument list to subprocess.run([...], shell=False) and validate the filename.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.