Agent skill

Secure Code Review

by zebbern in zebbern/claude-code-guide

Systematically reviews code for SQL injection, XSS, SSRF, broken access control, cryptographic failures, and other common OWASP Top 10 vulnerabilities, providing vulnerable code examples and…

MITAuto-check passedSecurity

Install Secure Code Review

skills CLI
$ npx skills add zebbern/claude-code-guide --skill secure-code-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zebbern/claude-code-guide secure-code-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zebbern/claude-code-guide.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/secure-code-review .claude/skills/secure-code-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
secure-code-review
GitHub stars
4.6k
Token cost
~4.7k tokens
SKILL.md length
1,188 words
Files
2
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Systematically reviews code for SQL injection, XSS, SSRF, broken access control, cryptographic failures, and other common OWASP Top 10 vulnerabilities, providing vulnerable code examples and…

  • Works in 5 steps: Define scope — Identify the files,… → Full coverage check — Scan through… → Risk classification — Label each finding → …
  • This skill when users ask for a security review
  • SKILL.md covers Usage, Quick Reference, Review Process SOP and A01:2021 — Broken Access Control, plus 7 more sections
  • Calls pip and npm; needs SECRET_KEY and JWT_SECRET

What it does

Secure Code Review is an agent skill from zebbern/claude-code-guide. Systematically reviews code for SQL injection, XSS, SSRF, broken access control, cryptographic failures, and other common OWASP Top 10 vulnerabilities, providing vulnerable code examples and ready-to-use remediation guidance. Trigger this skill when users ask for a security review, vulnerability scan, or penetration testing assistance, or mention keywords like OWASP, SQL injection, XSS, code audit, or security checklist.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Security, covering Web application vulnerabilities and Security review. The repository describes itself as: Claude Code Guide - Setup, Commands, workflows, agents, skills & tips-n-tricks from beginner to power user! The licence is MIT.

When your agent uses it

  • This skill when users ask for a security review
  • Vulnerability scan
  • Penetration testing assistance
  • Mention keywords like OWASP

Example prompts

  • “/secure-code-review”

Requirements

  • Python 3
  • Node.js
  • A credential in SECRET_KEY
  • A credential in FLASK_SECRET_KEY

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Define scope — Identify the files, modules, or code snippets to review
  2. Full coverage check — Scan through A01-A10 sequentially. Every item must appear in the report (mark items with no findings as pass). The…
  3. Risk classification — Label each finding
  4. Every finding must include ready-to-use fix code (actual code, not just a description). Reference specific file:line_number
  5. Output the review report — Use the template below, findings sorted by severity descending, with a prioritized remediation list at the end

What it can do on your machine

Read from SKILL.md and the folder at commit 4698e3b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SECRET_KEY
    • JWT_SECRET
    • FLASK_SECRET_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Secure Code Review loads about 4.7k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 1,188 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from zebbern/claude-code-guide at commit 4698e3b, republished under its MIT licence (© zebbern). 1,188 words, ~4,737 tokens.

Download SKILL.mdSave it as .claude/skills/secure-code-review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
secure-code-review
description
Systematically reviews code for SQL injection, XSS, SSRF, broken access control, cryptographic failures, and other common OWASP Top 10 vulnerabilities, providing vulnerable code examples and ready-to-use remediation guidance. Trigger this skill when users ask for a security review, vulnerability scan, or penetration testing assistance, or mention keywords like OWASP, SQL injection, XSS, code audit, or security checklist.
license
MIT

OWASP Top 10 Code Security Review Checklist

A systematic security review based on the OWASP Top 10 (2021) standard. Each item includes: vulnerability description, typical vulnerable code, inspection checkpoints, and remediation examples. Designed for security-focused code review of web applications.

Usage

Provide the code files or code snippets to review, and specify which OWASP categories to check (or request a full review) to receive an item-by-item audit report.

Example prompts:

  • "Check this code for SQL injection risks"
  • "Run a full OWASP Top 10 security review on this project"
  • "Does this API endpoint have any SSRF vulnerabilities?"

Quick Reference

IDCategoryKey Check
A01Broken Access ControlDoes every endpoint verify the current user's identity? Can users access others' data by changing IDs?
A02Cryptographic FailuresAre passwords hashed with bcrypt/argon2? Are secrets hardcoded?
A03InjectionString-concatenated SQL? shell=True? Unescaped template output?
A04Insecure DesignIs rate limiting in place? Can critical workflows be bypassed?
A05Security MisconfigurationDEBUG enabled? Stack traces in error pages? Default credentials?
A06Vulnerable ComponentsAny CVEs from pip audit / npm audit?
A07Authentication FailuresIs JWT signature verified? Can tokens be revoked? Is MFA available?
A08Integrity FailuresAny pickle.loads deserializing untrusted data?
A09Logging & Monitoring FailuresAre plaintext passwords in logs? Are failed logins recorded?
A10SSRFAre user-supplied URLs filtered against internal IPs?

Review Process SOP

Core principle: prefer false positives over missed true positives.

  1. Define scope — Identify the files, modules, or code snippets to review
  2. Full coverage check — Scan through A01-A10 sequentially. Every item must appear in the report (mark items with no findings as pass). The default behavior is to only report issues found — this process requires full coverage to ensure nothing is missed
  3. Risk classification — Label each finding:
    • RED High: Directly exploitable (RCE, SQL injection, SSRF reaching internal networks, plaintext password storage)
    • YELLOW Medium: Exploitable under specific conditions (missing rate limiting, weak password policy, static tokens)
    • GREEN Low: Defense-in-depth gap with no direct exploitation path (missing security headers, insufficient logging)
  4. Every finding must include ready-to-use fix code (actual code, not just a description). Reference specific file:line_number
  5. Output the review report — Use the template below, findings sorted by severity descending, with a prioritized remediation list at the end

A01:2021 — Broken Access Control

Risk: Users can access other users' data or perform unauthorized operations.

Checkpoints:

  • Does every API endpoint enforce authorization?
  • Are there IDOR vulnerabilities (Insecure Direct Object References) — can users access others' data by modifying ID parameters?
  • Do admin interfaces verify roles?
  • Is access control enforced server-side (not just by hiding UI elements)?
  • Is the CORS policy overly permissive?
Vulnerable Code Example
python
# ❌ Vulnerable: No authorization check — any user can view others' orders by changing user_id
@app.route("/api/orders/<user_id>")
def get_orders(user_id):
    orders = db.query(f"SELECT * FROM orders WHERE user_id = {user_id}")
    return jsonify(orders)
Remediation Example
python
# ✅ Fixed: Verify the authenticated user can only access their own data
@app.route("/api/orders")
@login_required
def get_orders():
    current_user_id = get_current_user().id
    orders = db.query("SELECT * FROM orders WHERE user_id = %s", (current_user_id,))
    return jsonify(orders)

A02:2021 — Cryptographic Failures

Risk: Sensitive data (passwords, credit card numbers, personal information) is unencrypted or uses weak cryptographic algorithms.

Checkpoints:

  • Are passwords stored using secure hashing (bcrypt/scrypt/argon2) rather than MD5/SHA1?
  • Is HTTPS enforced for sensitive data in transit?
  • Are encryption keys hardcoded in the source code?
  • Are deprecated cryptographic algorithms in use (DES, RC4, MD5)?
  • Are sensitive database fields encrypted at rest?
Vulnerable Code Example
python
# ❌ Vulnerable: MD5 for password storage, hardcoded secret key
import hashlib

SECRET_KEY = "my-secret-key-123"

def save_password(password):
    hashed = hashlib.md5(password.encode()).hexdigest()
    db.save(hashed)
Remediation Example
python
# ✅ Fixed: bcrypt for password hashing, secret key from environment variable
import bcrypt
import os

SECRET_KEY = os.environ["SECRET_KEY"]

def save_password(password):
    salt = bcrypt.gensalt()
    hashed = bcrypt.hashpw(password.encode(), salt)
    db.save(hashed)

A03:2021 — Injection

Risk: User input is concatenated directly into SQL, OS commands, LDAP queries, etc., allowing attackers to execute arbitrary queries or commands.

Checkpoints:

  • Do SQL queries use parameterized queries / ORM (not string concatenation)?
  • Are there os.system() or subprocess.call(shell=True) calls that concatenate user input?
  • Does template rendering properly escape user input (preventing XSS)?
  • Are special characters filtered in LDAP / XPath / NoSQL queries?
  • Are unfiltered user inputs logged directly (log injection)?
SQL Injection — Vulnerable Code
python
# ❌ Vulnerable: String-concatenated SQL — attacker can input ' OR 1=1 --
@app.route("/api/user")
def get_user():
    username = request.args.get("username")
    query = f"SELECT * FROM users WHERE username = '{username}'"
    result = db.execute(query)
    return jsonify(result)
SQL Injection — Remediation
python
# ✅ Fixed: Parameterized query
@app.route("/api/user")
def get_user():
    username = request.args.get("username")
    result = db.execute(
        "SELECT * FROM users WHERE username = %s",
        (username,)
    )
    return jsonify(result)
Command Injection — Vulnerable Code
python
# ❌ Vulnerable: User input concatenated directly into shell command
import os

def ping_host(host):
    os.system(f"ping -c 4 {host}")
Command Injection — Remediation
python
# ✅ Fixed: Use subprocess with list arguments, shell disabled
import subprocess
import re

def ping_host(host):
    if not re.match(r'^[a-zA-Z0-9.\-]+$', host):
        raise ValueError("Invalid hostname")
    subprocess.run(["ping", "-c", "4", host], check=True)

A04:2021 — Insecure Design

Risk: Business logic design flaws that cannot be fixed by a perfect implementation.

Checkpoints:

  • Do critical operations have rate limiting?
  • Can the password reset flow be abused (username enumeration, verification code brute-force)?
  • Do sensitive operations (payments, transfers) require secondary confirmation?
  • Are there batch operation endpoints with no upper limit?
  • Can business workflows be executed out of order (e.g., skipping payment to complete an order)?
Vulnerable Code Example
python
# ❌ Vulnerable: No attempt limit on verification code — can be brute-forced
@app.route("/api/verify-code", methods=["POST"])
def verify_code():
    code = request.json["code"]
    stored_code = session.get("verification_code")
    if code == stored_code:
        return jsonify({"status": "verified"})
    return jsonify({"status": "invalid"}), 400
Remediation Example
python
# ✅ Fixed: Added attempt limit and expiration
@app.route("/api/verify-code", methods=["POST"])
def verify_code():
    attempts = session.get("verify_attempts", 0)
    if attempts >= 5:
        return jsonify({"error": "Too many attempts, please request a new code"}), 429

    code = request.json["code"]
    stored = session.get("verification_code")
    expire_at = session.get("code_expire_at", 0)

    if time.time() > expire_at:
        return jsonify({"error": "Verification code has expired"}), 400

    session["verify_attempts"] = attempts + 1

    if code == stored:
        session.pop("verify_attempts", None)
        return jsonify({"status": "verified"})
    return jsonify({"status": "invalid"}), 400

A05:2021 — Security Misconfiguration

Risk: Applications or servers use default configurations, enable unnecessary features, or expose sensitive information in error messages.

Checkpoints:

  • Is DEBUG mode disabled in production?
  • Do error pages leak stack traces, database versions, etc.?
  • Are default credentials still in use?
  • Do HTTP responses include security headers (X-Frame-Options, Content-Security-Policy, etc.)?
  • Are unnecessary HTTP methods (PUT, DELETE, TRACE) disabled?
  • Is directory listing disabled?
Show full SKILL.md (464 more words)Show less
Vulnerable Code Example
python
# ❌ Vulnerable: DEBUG enabled in production, leaking sensitive information
app = Flask(__name__)
app.config["DEBUG"] = True
app.config["SECRET_KEY"] = "default-secret"

@app.errorhandler(500)
def error_handler(e):
    return jsonify({"error": str(e), "traceback": traceback.format_exc()}), 500
Remediation Example
python
# ✅ Fixed: Configuration from environment variables, DEBUG off in production
import os

app = Flask(__name__)
app.config["DEBUG"] = os.environ.get("FLASK_DEBUG", "false").lower() == "true"
app.config["SECRET_KEY"] = os.environ["FLASK_SECRET_KEY"]

@app.errorhandler(500)
def error_handler(e):
    app.logger.error(f"Internal error: {e}")
    return jsonify({"error": "Internal server error, please try again later"}), 500

A06:2021 — Vulnerable and Outdated Components

Risk: Using third-party libraries or framework versions with known vulnerabilities.

Checkpoints:

  • Do dependencies have known CVEs (scan with pip audit, npm audit, snyk, etc.)?
  • Are there dependencies that haven't been updated in a long time?
  • Are any unmaintained libraries in use?
  • Are lock files (package-lock.json / requirements.txt) under version control?
  • Is there an automated dependency update mechanism (Dependabot, etc.)?
Scan Commands
bash
# Python projects
pip audit

# Node.js projects
npm audit

# General scanning
# Use open-source tools like trivy or grype to scan container/project dependencies
Remediation Guidance
bash
# Update vulnerable packages
pip install --upgrade package_name

# Auto-fix npm vulnerabilities
npm audit fix

# Pin dependency versions to prevent implicit upgrades
pip freeze > requirements.txt

A07:2021 — Identification and Authentication Failures

Risk: Authentication mechanisms have flaws that allow brute-force attacks, credential stuffing, or session hijacking.

Checkpoints:

  • Is there a login failure rate limit (account lockout / delay)?
  • Is the password policy reasonable (minimum length, complexity requirements)?
  • Are session tokens invalidated on logout?
  • Are session IDs sufficiently random and unpredictable?
  • Is MFA supported for sensitive operations?
  • Are JWT tokens validated for signature and expiration?
Vulnerable Code Example
python
# ❌ Vulnerable: JWT signature not verified, accepts alg=none
import jwt

def verify_token(token):
    payload = jwt.decode(token, options={"verify_signature": False})
    return payload
Remediation Example
python
# ✅ Fixed: Enforce signature and expiration verification, specify algorithm
import jwt
import os

JWT_SECRET = os.environ["JWT_SECRET"]

def verify_token(token):
    try:
        payload = jwt.decode(
            token,
            JWT_SECRET,
            algorithms=["HS256"],
            options={"require": ["exp", "iat", "sub"]}
        )
        return payload
    except jwt.ExpiredSignatureError:
        raise AuthError("Token has expired")
    except jwt.InvalidTokenError:
        raise AuthError("Invalid token")

A08:2021 — Software and Data Integrity Failures

Risk: Failure to verify the integrity of software updates, critical data, or CI/CD pipelines, enabling supply chain attacks or data tampering.

Checkpoints:

  • Does deserialization use unsafe methods (e.g., Python's pickle.loads on untrusted data)?
  • Does the CI/CD pipeline have integrity verification?
  • Do third-party CDN resources use SRI (Subresource Integrity)?
  • Are modifications to critical configuration files audit-logged?
  • Does the auto-update mechanism verify signatures?
Vulnerable Code Example
python
# ❌ Vulnerable: Deserializing untrusted data — can lead to remote code execution
import pickle

@app.route("/api/import", methods=["POST"])
def import_data():
    data = pickle.loads(request.data)
    process(data)
    return "OK"
Remediation Example
python
# ✅ Fixed: Use a safe data format (JSON), refuse to deserialize arbitrary objects
import json

@app.route("/api/import", methods=["POST"])
def import_data():
    try:
        data = json.loads(request.data)
    except json.JSONDecodeError:
        return jsonify({"error": "Invalid JSON format"}), 400
    process(data)
    return "OK"

A09:2021 — Security Logging and Monitoring Failures

Risk: Lack of security event logging and monitoring, preventing timely detection and response to attacks.

Checkpoints:

  • Are login successes and failures logged?
  • Are sensitive operations (permission changes, data deletion) audit-logged?
  • Are passwords, tokens, or other sensitive data accidentally included in logs?
  • Are logs tamper-resistant (centralized storage, append-only writes)?
  • Are alerts configured for anomalous behavior (e.g., burst of failed logins)?
Vulnerable Code Example
python
# ❌ Vulnerable: No logging on login failure, and plaintext password in logs
def login(username, password):
    user = db.get_user(username)
    if not user or not check_password(password, user.password_hash):
        print(f"Login failed for {username} with password {password}")
        return None
    return create_session(user)
Remediation Example
python
# ✅ Fixed: Log security events without logging sensitive data
import logging

security_logger = logging.getLogger("security")

def login(username, password):
    user = db.get_user(username)
    if not user or not check_password(password, user.password_hash):
        security_logger.warning(
            "Login failed",
            extra={"username": username, "ip": request.remote_addr}
        )
        return None
    security_logger.info(
        "Login successful",
        extra={"username": username, "ip": request.remote_addr}
    )
    return create_session(user)

A10:2021 — Server-Side Request Forgery (SSRF)

Risk: The application accepts user-provided URLs and makes server-side requests, allowing attackers to access internal network resources or cloud metadata.

Checkpoints:

  • Are there features that accept user-supplied URLs and make server-side requests (image fetching, URL previews, webhook callbacks)?
  • Is the URL protocol restricted (allow only http/https)?
  • Are internal IP ranges filtered (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)?
  • Is the cloud metadata address blocked (169.254.169.254)?
  • Is there protection against DNS rebinding attacks?
Vulnerable Code Example
python
# ❌ Vulnerable: Directly requesting user-supplied URL — can access internal network and cloud metadata
import requests

@app.route("/api/fetch-url")
def fetch_url():
    url = request.args.get("url")
    response = requests.get(url)
    return response.text
Remediation Example
python
# ✅ Fixed: Validate URL protocol and target address, block internal network access
import requests
import ipaddress
from urllib.parse import urlparse
import socket

BLOCKED_NETWORKS = [
    ipaddress.ip_network("127.0.0.0/8"),
    ipaddress.ip_network("10.0.0.0/8"),
    ipaddress.ip_network("172.16.0.0/12"),
    ipaddress.ip_network("192.168.0.0/16"),
    ipaddress.ip_network("169.254.0.0/16"),
]

def is_safe_url(url):
    parsed = urlparse(url)
    if parsed.scheme not in ("http", "https"):
        return False
    try:
        ip = ipaddress.ip_address(socket.gethostbyname(parsed.hostname))
        for network in BLOCKED_NETWORKS:
            if ip in network:
                return False
    except (socket.gaierror, ValueError):
        return False
    return True

@app.route("/api/fetch-url")
def fetch_url():
    url = request.args.get("url")
    if not is_safe_url(url):
        return jsonify({"error": "Access to this address is not allowed"}), 403
    response = requests.get(url, timeout=10, allow_redirects=False)
    return response.text

Review Report Template

After completing the review, output a report in the following format. All 10 items must appear — mark items with no findings as pass:

# OWASP Top 10 Security Review Report

## Review Summary
- Scope: [list of files/modules]
- Date: [date]
- Risk summary: RED High x | YELLOW Medium x | GREEN Low x | PASS No findings x

## Findings (sorted by severity, descending)

### [Severity] [OWASP ID] — [Issue Title]
- **Location:** [file:line_number]
- **Description:** [issue description]
- **Impact:** [potential consequences]
- **Fix:** (ready-to-use code, not just a description)

### PASS A0X — [Category] — No issues found

## Remediation Priority
1. [Most urgent fix — rationale]
2. [Next priority — rationale]
3. ...

ToolLanguagePurpose
banditPythonPython code security scanning
semgrepMulti-languageRule-based code scanning
eslint-plugin-securityJavaScriptJS security rules
npm audit / pip auditJS / PythonDependency vulnerability scanning
trivyMulti-languageContainer and dependency scanning
sqlmap—SQL injection detection
OWASP ZAP—Web application dynamic scanning

Note: This checklist is a supplementary review tool and does not replace professional penetration testing. For high-security systems, combine automated scanning + manual code audit + penetration testing.

© zebbern, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/secure-code-review of zebbern/claude-code-guide.

  • SKILL.md
  • LICENSE

Open the folder on GitHubat commit 4698e3b

Compare with similar skills

Secure Code Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Secure Code Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Secure Code Review this skillzebbern/claude-code-guide4.6k—~4.7kAutomated safety check: PassMIT
Security Auditoreigent-ai/eigent15k—~1.8kAutomated safety check: NotesApache-2.0
Security Reviewjewbetcha/opentrace11617 repos~3.1kAutomated safety check: NotesMIT
Strix Code Vulnerability Scanusestrix/strix67k—~1.1kAutomated safety check: PassApache-2.0
Code Audit3stoneBrother/code-audit8931 repos~2.7kAutomated safety check: PassNone
Wooyun Legacytanweai/wooyun-legacy1.8k—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Security Auditor

    eigent-ai/eigent

    Audits source code, dependencies and config files for vulnerabilities and hardcoded secrets, using two bundled Python scanners and an OWASP Top 10 checklist.

    15k GitHub stars~1.8k tokensUpdated today
    SecurityAuto-check: notes
  • Security Review

    jewbetcha/opentrace

    A skill your agent uses when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features.

    116 GitHub starsUsed in 17 repos~3.1k tokens
    SecurityAuto-check: notes
  • Runs a Strix white-box security review that reads the source, then exploits what it finds in a sandbox so each reported issue has a proof-of-concept.

    67k GitHub stars~1.1k tokensUpdated today
    SecurityAuto-check passed
  • Code Audit

    3stoneBrother/code-audit

    Professional code security audit skill covering 55+ vulnerability types.

    893 GitHub starsUsed in 1 repo~2.7k tokens
    SecurityAuto-check passed
  • Wooyun Legacy

    tanweai/wooyun-legacy

    WooYun business logic vulnerability methodology — 22,132 real cases across 6 domains (authentication bypass, authorization bypass, payment tampering, information disclosure, logic flaws…

    1.8k GitHub stars~1.9k tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Runs claude-flow CLI security scans for input validation, path traversal, SQL injection, XSS, hardcoded secrets and known CVEs, and writes an audit report.

    74k GitHub starsUsed in 2 repos~823 tokens
    SecurityAuto-check passed

More from zebbern/claude-code-guide

All 46 skills in this repo
  • Localization Toolkit

    zebbern/claude-code-guide

    This skill should be used when setting up, auditing, or enforcing internationalization/localization in UI codebases (React/TS, i18next or similar, JSON locales), including installing/configuring the…

    4.6k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Audit Flow

    zebbern/claude-code-guide

    Interactive system flow tracing across CODE, API, AUTH, DATA, NETWORK layers with SQLite persistence and Mermaid export.

    4.6k GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Chart Image

    zebbern/claude-code-guide

    Generate publication-quality PNG chart images from data, supporting line, bar, area, candlestick, pie, and heatmap charts.

    4.6k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Code To Diagram

    zebbern/claude-code-guide

    Analyze codebases and automatically generate architecture diagrams, flowcharts, and org charts.

    4.6k GitHub stars~972 tokensUpdated today
    Auto-check passed
  • Code Vuln Audit

    zebbern/claude-code-guide

    Scan code for security issues: dependency vulnerabilities (npm/pip audit), secret leaks (regex and entropy analysis), and OWASP anti-patterns like SQL injection, XSS, or command injection.

    4.6k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Data Viz Renderer

    zebbern/claude-code-guide

    Generate self-contained HTML/SVG infographics from JSON data, including stat cards, bar charts, flow diagrams, and mixed dashboards.

    4.6k GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Categories

Questions about Secure Code Review

What does Secure Code Review do?

Systematically reviews code for SQL injection, XSS, SSRF, broken access control, cryptographic failures, and other common OWASP Top 10 vulnerabilities, providing vulnerable code examples and…. Secure Code Review is an agent skill from zebbern/claude-code-guide. Systematically reviews code for SQL injection, XSS, SSRF, broken access control, cryptographic failures, and other common OWASP Top 10 vulnerabilities, providing vulnerable code examples and ready-to-use remediation guidance.

When should I use Secure Code Review?

Secure Code Review fits situations like: this skill when users ask for a security review; vulnerability scan; penetration testing assistance; mention keywords like OWASP.

How do I install Secure Code Review in Claude Code?

Run `npx skills add zebbern/claude-code-guide --skill secure-code-review -a claude-code`. Or copy the skill folder (skills/secure-code-review in zebbern/claude-code-guide) into .claude/skills/secure-code-review in your project. Claude Code loads it when a task matches its description.

How do I install Secure Code Review in Codex?

Run `npx skills add zebbern/claude-code-guide --skill secure-code-review -a codex`. Or copy the skill folder (skills/secure-code-review in zebbern/claude-code-guide) into .agents/skills/secure-code-review in your project. Codex loads it when a task matches its description.

Can I use Secure Code Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zebbern/claude-code-guide --skill secure-code-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/secure-code-review, .gemini/skills/secure-code-review, .github/skills/secure-code-review and .opencode/skills/secure-code-review in your project.

What does Secure Code Review need to run?

Going by SKILL.md and its folder, Secure Code Review needs the command-line tools its instructions call (pip and npm) and credentials named SECRET_KEY, JWT_SECRET and FLASK_SECRET_KEY. Our summary lists: Python 3; Node.js; A credential in SECRET_KEY; A credential in FLASK_SECRET_KEY.

Does Secure Code Review access the network?

SKILL.md contains no URLs. Its commands use pip and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Secure Code Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Secure Code Review use?

Secure Code Review is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Secure Code Review use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Secure Code Review?

Skills that share tags, products or a category with Secure Code Review: Security Auditor (eigent-ai/eigent, 15k stars), Security Review (jewbetcha/opentrace, 116 stars), Strix Code Vulnerability Scan (usestrix/strix, 67k stars) and Code Audit (3stoneBrother/code-audit, 893 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Secure Code Review?

zebbern (a GitHub user) maintains it in zebbern/claude-code-guide, which has 4,648 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 7, 2026.

Source: zebbern/claude-code-guide on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.