agentsclimarketplace

Security checklist

Skill LFTPadilla/agent-dev-kit/plugins/dev-skills/skills/security-checklist

Replicable agent development system: curated Claude Code/Codex skills + bootstrap for the external tools (GSD, caveman, ponytail) that complete the stack.

Install
npx -y skills add LFTPadilla/agent-dev-kit --skill security-checklist

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

One thing to look at

  • 1 stars1 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.

What its author says it does

Copied from the file, not written here

A pattern → severity → fix checklist for reviewing security-sensitive code (auth, payments, user input, file uploads, webhooks). Use as the LLM-reasoning complement to a deterministic SAST scan — semgrep catches known patterns, this catches the contextual ones. Run on any diff touching a trust boundary.

SKILL.md

2.5 KB, as published. Nobody here has run it

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

PatternSeverityFix
Hardcoded secret / key / tokenCRITICALprocess.env, rotate if committed
String-concatenated SQLCRITICALParameterized query / $1 placeholders
Shell command with user inputCRITICALexecFile / arg arrays, never string interp
Plaintext password compareCRITICALbcrypt.compare / argon2
No auth check on protected routeCRITICALAuth middleware; verify per-route
Balance/quota check without lockCRITICALSELECT ... FOR UPDATE in a transaction
innerHTML = userInputHIGHtextContent or DOMPurify
fetch(userProvidedUrl) (SSRF)HIGHAllowlist hosts; block internal IPs
Cross-tenant / cross-user accessHIGHScope every query by owner id
Error detail leaked to clientMEDIUMGeneric message out, detail to logs only
Secret / PII in logs or SentryMEDIUMRedact before logging
No rate limit on public endpointHIGHThrottle (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).

Verify context before flagging. A finding without a concrete trigger is noise.

Keep looking

Skills are one crate of 328,083. 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.