securitylisted
Install: claude install-skill perkzen/fabrika
# Security review
Review `git diff <base>...HEAD` the way an attacker reading the change would, fix what matters, and leave a record a human can check.
## Checklist
Match each item against every hunk; the change is where new risk enters. Each reads *what it is* → *how to fix*.
- **Injection** — shell, SQL, LDAP, template, or command strings built from input. → parameterise; pass argv arrays, not shell strings.
- **Path handling** — file paths built from input, `..` traversal, symlinks followed. → resolve, then check the path stays under the intended root.
- **Trust boundaries** — new inputs (HTTP params, webhook bodies, env, files, MCP or tool results) used without validation. → validate at the boundary with the repo's schema tool.
- **Authn/authz** — new endpoints, handlers, or commands without the checks their siblings have. → mirror the sibling's guard.
- **Secrets** — keys, tokens, passwords in code, config, logs, error messages, URLs, or process arguments. → env or secret store; redact logs.
- **Sensitive data exposure** — PII or credentials in logs, stack traces, responses, analytics. → drop or redact at the point of logging.
- **Unsafe deserialisation / eval** — `eval`, `new Function`, YAML or pickle load of untrusted input, prototype pollution through deep merge. → safe parsers, schema-validated input.
- **SSRF / open redirect** — outbound requests or redirects to input-controlled URLs. → allowlist hosts.
- **XSS** — HTML built from input, `dangerouslySetInnerHTML