agentsclimarketplace

Security checklist

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

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.From its SKILL.md

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.

2 things 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.
  • runs commandsInstructs the agent to run 1 command, including `semgrep --config p/owasp-top-ten p/secrets`.

SKILL.md

2.5 KB, 528 tokens by cl100k_base, 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.

What ships with it

Read from the repository

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

Keep looking

Skills are one crate of 325,949. 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.