security-checklist

A checklist for manually reviewing security-sensitive code, such as authentication, payments, file uploads, user input, and webhooks.

In plain words
What is it for?
Use it when reviewing changes that cross a trust boundary, alongside Semgrep, a tool that scans code for known security patterns.
Why use it?
It looks for context-dependent security problems that automated pattern scanners may miss, such as missing access checks or unsafe data handling.

Skill for Claude CodeCodex

Part of the dev-skills plugin — 24 skills, 1 command shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/lftpadilla/agent-dev-kit/security-checklist
Any agent
npx skills add LFTPadilla/agent-dev-kit --skill security-checklist
Clone the repo
git clone --depth 1 https://github.com/LFTPadilla/agent-dev-kit

Made for: Claude Code, Codex.

Or install dev-skills, the plugin that ships this one along with the rest of its 24 skills, 1 command.

Per session 67 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 600 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00067 $0.00600
Opus 5 $0.00034 $0.00300
Sonnet 5 $0.00013 $0.00120
Haiku 4.5 $0.00007 $0.00060

Measured 3d ago against content hash 9aae7efd580f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

security-checklist scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| `fetch(userProvidedUrl)` (SSRF) | HIGH | Allowlist hosts; block internal IPs |
plugins/dev-skills/skills/security-checklist/SKILL.md · 46 lines

How it starts

The opening of the file, as written. The whole thing — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.

security-checklist — pattern review for trust boundaries

The reasoning layer of security review. Pair with the semgrep skill: semgrep is deterministic (never misses a known pattern), this catches the contextual issues a static rule can't see. Adapted from ECC (github.com/affaan-m/ECC), MIT — see ATTRIBUTION.md.

Flag-on-sight table

Pattern Severity Fix
Hardcoded secret / key / token CRITICAL process.env, rotate if committed
String-concatenated SQL CRITICAL Parameterized query / $1 placeholders
Shell command with user input CRITICAL execFile / arg arrays, never string interp
Plaintext password compare CRITICAL bcrypt.compare / argon2
No auth check on protected route CRITICAL Auth middleware; verify per-route
Balance/quota check without lock CRITICAL SELECT ... FOR UPDATE in a transaction
innerHTML = userInput HIGH textContent or DOMPurify
fetch(userProvidedUrl) (SSRF) HIGH Allowlist hosts; block internal IPs
Cross-tenant / cross-user access HIGH Scope every query by owner id
Error detail leaked to client MEDIUM Generic message out, detail to logs only
Secret / PII in logs or Sentry MEDIUM Redact before logging
No rate limit on public endpoint HIGH Throttle (per-IP / per-user)

Process

  1. Scope to the diff at a trust boundary (auth, payments, input, uploads, webhooks).
  2. Walk the table; for each hit cite file:line, the trigger, and the fix.
  3. Cross-check with semgrep --config p/owasp-top-ten p/secrets — deterministic backstop.
  4. Backend-first: a security gap fixed only in the frontend is still open — flag until the server enforces it.

Skip these (common false positives)

  • Vars in .env.example — placeholders, not secrets.
  • Test credentials clearly inside test files.
  • Keys meant to be public (publishable client keys).
  • SHA256/MD5 used for checksums, not passwords.
  • Math.random() in non-crypto contexts (animation, jitter, sampling).

Read the full file on GitHub · 46 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 46 lines · 67 tokens per session scan A 9aae7efd580f

Subscribe to this mod's changes

security-checklist is a skill published in the GitHub repository LFTPadilla/agent-dev-kit (2 stars, last pushed 5d ago), licensed MIT. It adds 67 tokens to every session and 600 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens

chat-perf

Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.

microsoft/vscode · 51 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens