agentsclimarketplace

Security

Skill latuconsinafr/claude-code-config/skills/security

Use when you want a dedicated security review of staged or recently changed files — deeper than the security section in /review. Covers OWASP Top 10, secrets exposure, dependency vulnerabilities, and auth gaps. Run before opening a PR on security-sensitive changes.From its SKILL.md

Install
npx -y skills add latuconsinafr/claude-code-config --skill security

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Security Review

Perform a focused security analysis of changed code. Do not modify any files.

Step 1: Get the target

git diff --staged

If nothing staged:

git diff HEAD

If $ARGUMENTS provides a file path → review that file specifically. If diff is empty and no argument → ask: "What should I review? (staged changes, a specific file, or a path)"

Step 2: Read full context

For each changed file, read the complete file — not just the diff. Security issues often live in the surrounding code, not the changed lines.

Step 3: Security checklist

Work through each category. Report only findings that apply.

Injection

  • SQL injection — unparameterized queries: string concatenation or interpolation into SQL
    `SELECT * WHERE id = ${input}`  ← vulnerable
    db.query('SELECT * WHERE id = $1', [input])  ← safe
    
  • Command injection — user input in shell commands: exec(), spawn(), eval(), system()
  • Path traversal — user-controlled file paths without sanitization: ../ sequences, absolute path injection
  • Template injection — user input rendered in server-side templates without escaping
  • NoSQL injection — unvalidated objects passed directly to MongoDB/similar query operators

Authentication & authorization

  • Missing auth check — new endpoints or routes without authentication middleware/guard
  • Broken authorization — accessing records by ID without verifying ownership
    GET /invoices/:id → fetches invoice without checking invoice.userId === req.user.id
    
  • Privilege escalation — lower-privilege role able to trigger higher-privilege action
  • JWT/token issues — algorithm confusion, missing expiry check, token not invalidated on logout
  • Password handling — plaintext storage, weak hashing (MD5/SHA1), missing salt

Sensitive data exposure

  • Hardcoded secrets — API keys, tokens, passwords, connection strings in source code Patterns: sk-, Bearer , password=, secret=, api_key=, -----BEGIN
  • Secrets in logs — sensitive fields (password, token, card number, SSN) passed to logger
  • Sensitive data in URLs — tokens or passwords in query params (appear in server logs)
  • Overly permissive responses — API returning full user/record objects when only a subset is needed
  • Insecure direct object reference — exposing internal database IDs directly in responses

Security misconfigurations

  • CORS — overly permissive: Access-Control-Allow-Origin: * on authenticated endpoints
  • Security headers missing — CSP, HSTS, X-Frame-Options, X-Content-Type-Options
  • Verbose error messages — stack traces, internal paths, or DB errors exposed to clients
  • Debug mode in production — debug flags, development middleware enabled unconditionally
  • Insecure defaults — new config options defaulting to insecure values

Input validation

  • Missing validation — user input used without type, length, or format checks
  • Client-side validation only — validation exists on frontend but not enforced server-side
  • Mass assignment — accepting all body fields without an allowlist (e.g., req.body directly into DB)

Dependencies

# Quick check for known vulnerable packages in the diff context
grep -E "require\(|import.*from" <changed files> 2>/dev/null | \
  grep -v node_modules | sort -u

Flag any newly added packages — verify they're not known-malicious or unmaintained.

Cryptography

  • Weak algorithms — MD5, SHA1, DES, RC4 for security purposes
  • Insufficient randomnessMath.random() for security tokens (use crypto.randomBytes())
  • Hardcoded IVs or salts — cryptographic material that should be randomly generated per operation

Step 4: Output format

Structure findings as:

🔴 Critical — exploitable, direct security risk 🟡 High — significant risk, should be fixed before merging 🟢 Medium — defense-in-depth, worth fixing ℹ️ Informational — best practice, low-risk observation

For each finding:

<severity> | <file>:<line> | <vulnerability type>
Issue: <what the problem is>
Impact: <what an attacker could do>
Fix: <specific code change or approach>

End with a verdict:

  • ✅ No security issues found
  • ⚠️ REVIEW REQUIRED — <N> high, <N> medium findings
  • 🚨 BLOCK — <N> critical findings, do not merge until resolved

If critical findings exist, list them again at the bottom for immediate reference.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most security skills give in ~1.1k tokens

Counted across 648 of the 828 authors here whose files we hold, read 2026-08-07

  • Parameterize all database queriesin 68 of 648, across 51 files
  • Hash passwords using bcrypt, scrypt, or argon2in 49 of 648, across 36 files
  • Apply rate limiting to authentication endpointsin 48 of 648, across 24 files
  • Configure security headersin 35 of 648, across 19 files
  • Validate all inputsin 32 of 648, across 24 files
  • Validate all external input at the system boundaryin 29 of 648, across 19 files
  • Run containers as a non-root userin 28 of 648, across 15 files
  • Use httponly secure samesite cookies for sessionsin 26 of 648, across 15 files
  • Run dependency audits before every releasein 21 of 648, across 10 files
  • Encode output to prevent cross-site scriptingin 21 of 648, across 11 files
  • Copy dependencies before source codein 20 of 648, across 9 files
  • Store secrets in environment variablesin 20 of 648, across 18 files

Said here and by no other author read

  • get changed files via git diff
  • use provided arguments to select target file
  • evaluate changes against the security checklist
  • flag newly added packages for vulnerabilities
  • include severity, issue, impact, and fix
  • end with an overall verdict

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,851. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.