code:security

SKILL.md

Code Security

Security audit workflow and checklist.

The Workflow

1. Scan

Run automated security tools.

# Check dependencies
npm audit
pip audit
cargo audit

# Run security scanner
trivy fs .
snyk test

2. Review

Manual code review against checklist.

See references/owasp-top-10.md for common vulnerabilities.

3. Fix

Remediate vulnerabilities found.

4. Verify

Re-scan to confirm fixes.


Security Checklist

Injection

Check Pattern
SQL Parameterized queries
Command No shell execution with user input
XSS Escape/validate output
LDAP Escape DN components

Authentication

Check Pattern
Passwords Hash with bcrypt/argon2
Sessions Secure, httpOnly cookies
Tokens Short-lived, proper validation
MFA Consider for sensitive ops

Data Protection

Check Pattern
Secrets Never in code
PII Encrypt at rest
Transport HTTPS only
Logs No sensitive data

Dependencies

Check Pattern
Vulnerabilities Scan regularly
Outdated Update promptly
Sources Trusted packages only

Common Vulnerabilities

See references/vulnerability-patterns.md for detailed patterns:

SQL Injection

# BAD
query = f"SELECT * FROM users WHERE id = {user_id}"

# GOOD
query = "SELECT * FROM users WHERE id = %s"
cursor.execute(query, (user_id,))

XSS

// BAD
element.innerHTML = userInput;

// GOOD
element.textContent = userInput;
// or
element.setAttribute('title', sanitize(userInput))

Command Injection

# BAD
os.system(f"ping {host}")

# GOOD
subprocess.run(['ping', host])

Hardcoded Secrets

// BAD
const apiKey = "sk_live_12345";

// GOOD (environment variable)
const apiKey = process.env.API_KEY;

Tools

See references/security-tools.md for setup and usage:

Tool Ecosystem Purpose
npm audit Node.js Dependency vulnerabilities
pip-audit Python Dependency vulnerabilities
cargo-audit Rust Dependency vulnerabilities
Snyk Multi Vulnerability scanning
Trivy Multi Container/infra scanning
OWASP ZAP Multi Web app scanning
bandit Python Static analysis
ESLint security JS/TS Static analysis

Output Format

After security audit:

## Security Audit

### Scan Results
- Dependencies: 0 vulnerabilities
- Static analysis: 1 issue found

### Issues Found

| Severity | Issue | Location | Fix |
|----------|-------|----------|-----|
| High | SQL injection | users.py:42 | Use parameterized query |
| Medium | Hardcoded secret | config.js:5 | Use env var |

### Recommendations
1. Enable 2FA for admin accounts
2. Rotate API keys quarterly
3. Set up automated dependency scanning

Skill Loading

  • For database issues → load python:sqlalchemy or typescript:drizzle-orm
  • For auth issues → load relevant auth patterns
  • For deployment security → load infra skills if available
Weekly Installs
2
GitHub Stars
11
First Seen
5 days ago
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
codex2