skills/catalog/infra/cybersecurity/SKILL.md
Use for security audits, vulnerability remediation, hardening configs, and secure coding patterns. Not for compliance frameworks or policy writing.
npx skillsauth add erikstmartin/dotfiles cybersecurityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before writing code, identify:
Systematic check in priority order:
Secrets & Credentials:
Authentication & Authorization:
Input Validation:
# WRONG: trusting user input
query = f"SELECT * FROM users WHERE id = {request.args['id']}"
# RIGHT: parameterized queries
cursor.execute("SELECT * FROM users WHERE id = %s", (request.args['id'],))
Dependency Security:
# Check for known vulnerabilities
npm audit --production
pip-audit
cargo audit
trivy image myapp:latest
Transport & Encryption:
Container hardening:
# Non-root user
RUN adduser -D appuser
USER appuser
# Minimal base image
FROM gcr.io/distroless/static:nonroot
# No secrets in layers
# Use multi-stage builds, copy only artifacts
Network hardening:
Application hardening:
# Security headers (nginx example)
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header Content-Security-Policy "default-src 'self'";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
git log -p | grep -i 'password\|secret\|api.key'docker run --user 1000 myapp whoami| Pitfall | Fix | |---------|-----| | SQL injection via string concat | Always use parameterized queries | | Secrets in Docker layers | Multi-stage build, copy only artifacts | | JWT validated client-side only | Always verify server-side with secret | | CORS wildcard (*) in production | Explicit allowed origins list | | Running containers as root | USER directive + read-only filesystem | | Logging sensitive data | Sanitize logs, never log tokens/passwords | | Outdated dependencies with CVEs | Automated audit in CI pipeline |
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment
development
Use when you have a spec or requirements for a multi-step task, before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
tools
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions