AgentStack
SKILL verified CC0-1.0 Self-run

Audit Security

skill-jhostalek-dotclaude-audit-security · by JHostalek

Use when auditing and fixing security in a scope — injection (SQL, shell, template), auth/authz gaps, secrets in code or logs, weak crypto, missing validation at trust boundaries, XSS, SSRF, path traversal. Triggers on "audit security", "security review", "fix vulnerabilities", "OWASP check".

No reviews yet
0 installs
15 views
0.0% view→install

Install

$ agentstack add skill-jhostalek-dotclaude-audit-security

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution Used
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Audit Security? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

!cat ~/.claude/skills/audit-workflow.md

Run as the security dimension. Lens: find vulnerabilities where untrusted input or weak controls let an attacker change behavior, exfiltrate data, or escalate privilege. Tag each finding w/ a CWE.

Patterns under-detected in practice — probe each explicitly:

  • Injection — subprocess via string arg (command injection); SQL via concatenation, template literal, or ORM escape hatch (.raw(), .extra(), RawSQL) — parameterized queries non-negotiable; template engines / DOM APIs rendering user input unescaped (dangerouslySetInnerHTML, innerHTML, unescaped template vars).
  • Deserialization / parsing — untrusted input into pickle, yaml.load, JSON-into-class hydrators; XML parsers at default settings (XXE); parsers w/o size/depth limits.
  • Access control — routes w/o auth check; state-changing endpoints missing CSRF protection; IDOR where resource fetched by user-supplied ID w/o ownership check.
  • Crypto / secrets — JWT accepting alg:none, key/algorithm confusion, missing exp/iss/aud validation; md5/sha1 for passwords, Math.random for tokens, ECB mode, missing salt; secrets in source, logs, or error responses.
  • Trust-boundary gaps — server relying on client-side validation only; SSRF/path traversal where user input becomes URL or filesystem path w/o allowlist.
  • LLM output handling — model-generated content used as code, query, or shell command w/o sanitization (insecure output handling, CWE-116).

Filter aggressively. Not a vulnerability: server-controlled config (env vars, constants, settings.*), framework-mitigated sinks (React {x}, parameterized ORM, prepared statements), UUID identifiers, client-side-only validation when server check also exists. Finding requires concrete attack path from untrusted source to sink — "could be vulnerable if" is noise.

Auto-fix when safe pattern already established in codebase or framework: parameterize the query, switch subprocess to array form, escape rendered output, add ownership check, swap md5 for argon2, scrub secret from logs — each behavior-preserving for legitimate input. Sign-off required: auth/session/crypto changes that rotate secrets, migrate algorithms, or change token format (affect active sessions and stored credentials) — sketch the change, surface w/ CWE + attack path closed.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.