npx claudepluginhub martinffx/atelier --plugin pythonThis skill uses the workspace's default tool permissions.
Security audit workflow and checklist.
Scans code for hardcoded secrets like API keys, SQL injection, XSS, insecure dependencies via npm/pip/cargo audits, and OWASP Top 10 issues using grep and bash.
Orchestrates parallel security audits with dependency scanning (pip-audit, npm audit), SAST pattern detection, and auth/config reviews. Consolidates into OWASP-mapped severity reports.
Share bugs, ideas, or general feedback.
Security audit workflow and checklist.
Run automated security tools.
# Check dependencies
npm audit
pip audit
cargo audit
# Run security scanner
trivy fs .
snyk test
Manual code review against checklist.
See references/owasp-top-10.md for common vulnerabilities.
Remediate vulnerabilities found.
Re-scan to confirm fixes.
| Check | Pattern |
|---|---|
| SQL | Parameterized queries |
| Command | No shell execution with user input |
| XSS | Escape/validate output |
| LDAP | Escape DN components |
| Check | Pattern |
|---|---|
| Passwords | Hash with bcrypt/argon2 |
| Sessions | Secure, httpOnly cookies |
| Tokens | Short-lived, proper validation |
| MFA | Consider for sensitive ops |
| Check | Pattern |
|---|---|
| Secrets | Never in code |
| PII | Encrypt at rest |
| Transport | HTTPS only |
| Logs | No sensitive data |
| Check | Pattern |
|---|---|
| Vulnerabilities | Scan regularly |
| Outdated | Update promptly |
| Sources | Trusted packages only |
See references/vulnerability-patterns.md for detailed patterns:
# BAD
query = f"SELECT * FROM users WHERE id = {user_id}"
# GOOD
query = "SELECT * FROM users WHERE id = %s"
cursor.execute(query, (user_id,))
// BAD
element.innerHTML = userInput;
// GOOD
element.textContent = userInput;
// or
element.setAttribute('title', sanitize(userInput))
# BAD
os.system(f"ping {host}")
# GOOD
subprocess.run(['ping', host])
// BAD
const apiKey = "sk_live_12345";
// GOOD (environment variable)
const apiKey = process.env.API_KEY;
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 |
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