Security Audit
Purpose
Conduct a comprehensive security audit combining vulnerability assessment, code review, and penetration testing simulation. This skill covers OWASP Top 10 compliance, authentication, authorization, data protection, API security, infrastructure configuration, and dependency analysis to produce an actionable security report.
When to Use
- Before production deployment
- After implementing security-critical features
- As part of regular security assessments (quarterly recommended)
- After security incidents or breaches
- Before handling sensitive data (PII, payments)
- When compliance requirements mandate a security audit
Audit Areas
1. Authentication and Authorization
Checks:
- Password policies and hashing algorithms (bcrypt, scrypt, argon2)
- Session management and expiration
- Token security (JWT signing, rotation, revocation)
- Multi-factor authentication implementation
- OAuth/SSO configuration
- Role-Based Access Control (RBAC) enforcement
- Principle of least privilege
- Account lockout and brute-force protection
2. Input Validation and Sanitization
Checks:
- Schema validation coverage (all endpoints)
- SQL injection prevention (parameterized queries, ORM usage)
- XSS prevention (output encoding, CSP)
- Path traversal protection
- Command injection prevention
- File upload validation (type, size, content)
- CSRF token implementation
- Content-Type enforcement
3. Data Protection and Privacy
Checks:
- Encryption at rest (database, file storage)
- Encryption in transit (TLS/HTTPS enforcement)
- API key and secret management (env vars, vaults)
- PII handling and GDPR/privacy compliance
- Data retention and deletion policies
- No sensitive data in logs
- Database field-level encryption for critical fields
4. API Security
Checks:
- Rate limiting implementation
- API authentication (keys, tokens, OAuth)
- CORS configuration (no wildcard origins)
- Error message information leakage
- HTTP security headers (CSP, HSTS, X-Frame-Options, X-Content-Type-Options)
- Request size limits
- API versioning
5. Infrastructure and Configuration
Checks:
- Environment variable management (no hardcoded secrets)
- Container/deployment security
- Dependency vulnerabilities (npm/pnpm audit)
- TLS/SSL certificate configuration
- HTTP security headers
- Database connection security
- Default credentials removed
6. Code Security Patterns
Checks:
- No stack traces exposed in production
- Secure coding practices followed
- Hardcoded secrets detection
- Type safety enforcement
- Safe deserialization
- Secure random number generation
- Timing attack prevention in comparisons
7. Frontend Security
Checks:
- XSS prevention (framework auto-escaping)
- Content Security Policy (CSP)
- Subresource Integrity (SRI) for CDN resources
- Third-party script security
- Local/session storage security (no tokens in localStorage)
- Cookie security flags (HttpOnly, Secure, SameSite)
- Clickjacking protection
8. Penetration Testing Simulation
Tests:
- Authentication bypass attempts
- Authorization escalation attempts
- SQL injection probes on all inputs
- XSS injection on all user-facing fields
- CSRF attack simulation
- Session hijacking attempts
- API abuse scenarios (rate limit bypass, parameter tampering)
- Business logic flaw exploration
Workflow
Phase 1: Preparation
- Review codebase structure and identify critical endpoints
- Map authentication and authorization flows
- List third-party integrations and external dependencies
- Configure security scanning tools
- Prepare test accounts with different permission levels
Phase 2: Automated Scanning
- Run dependency audit:
npm audit --audit-level moderate
pnpm audit --audit-level moderate
- Run code scanning (ESLint security rules, secret detection)
- Review infrastructure configuration (environment, TLS, headers)
Phase 3: Manual Review
- Inspect password hashing and session management code
- Review authorization checks on all endpoints
- Verify input validation on all user-facing inputs
- Check error handling for information leakage
- Review logging for sensitive data exposure
Phase 4: Penetration Testing
- Test authentication bypass vectors
- Attempt injection attacks on all inputs
- Test authorization escalation paths
- Verify rate limiting and abuse prevention
- Check for business logic vulnerabilities
Phase 5: Reporting
Categorize findings by severity:
- Critical: Immediate fix required (RCE, SQL injection, auth bypass)
- High: Fix before deployment (XSS, sensitive data exposure)
- Medium: Fix soon (weak encryption, missing headers)
- Low: Best practice improvements (logging, monitoring)
Report Template
# Security Audit Report
**Date:** YYYY-MM-DD
**Application:** [App Name]
**Environment:** [dev/staging/production]
## Executive Summary
- **Overall Security Score:** X/100
- **Critical Issues:** X
- **High Issues:** X
- **Medium Issues:** X
- **Low Issues:** X
## Findings by Severity
### Critical (Immediate Action Required)
1. **[Finding Title]**
- **Location:** [File/Endpoint]
- **Description:** [Details]
- **Impact:** [Security risk]
- **Remediation:** [Fix steps]
- **References:** [OWASP, CVE]
### High (Fix Before Deployment)
[...]
### Medium (Fix Soon)
[...]
### Low (Improvements)
[...]
## OWASP Top 10 Compliance
- [ ] A01:2021 - Broken Access Control
- [ ] A02:2021 - Cryptographic Failures
- [ ] A03:2021 - Injection
- [ ] A04:2021 - Insecure Design
- [ ] A05:2021 - Security Misconfiguration
- [ ] A06:2021 - Vulnerable Components
- [ ] A07:2021 - Identification & Authentication Failures
- [ ] A08:2021 - Software & Data Integrity Failures
- [ ] A09:2021 - Security Logging & Monitoring Failures
- [ ] A10:2021 - Server-Side Request Forgery (SSRF)
## Recommendations
1. **Immediate Actions** (Critical/High)
2. **Short-term Improvements** (Medium)
3. **Long-term Enhancements** (Low)
## Next Steps
1. Address critical issues immediately
2. Schedule high-priority fixes for next sprint
3. Create tickets for medium/low findings
4. Re-audit after fixes are deployed
5. Schedule next audit (quarterly)
OWASP Top 10 Quick Reference
- Broken Access Control -- RBAC, direct object references, path traversal
- Cryptographic Failures -- weak encryption, exposed secrets, plaintext data
- Injection -- SQL, XSS, command injection, LDAP injection
- Insecure Design -- missing threat modeling, architecture flaws
- Security Misconfiguration -- default configs, unnecessary features, verbose errors
- Vulnerable Components -- outdated dependencies, known CVEs
- Authentication Failures -- weak passwords, broken session management
- Data Integrity Failures -- insecure deserialization, unsigned updates
- Logging Failures -- insufficient monitoring, log tampering, missing audit trails
- SSRF -- unvalidated URLs, internal network access from user input
Best Practices
- Run audits regularly -- quarterly at minimum, not just before deployment
- Track remediation -- create tickets for every finding
- Trend analysis -- compare results with previous audits
- Automate scanning -- integrate security checks into CI/CD
- Document exceptions -- record any accepted risks with justification
- Re-audit after fixes -- verify that remediations are effective
- Defense in depth -- never rely on a single security control
- Least privilege -- grant minimum required access at every layer
- Keep dependencies current -- patch vulnerabilities promptly
- Educate the team -- security awareness is everyone's responsibility
Recommended Tools
Automated Scanners:
- npm audit / pnpm audit -- dependency vulnerabilities
- Snyk -- vulnerability scanning and monitoring
- ESLint security plugins -- static code analysis
- Socket Security -- supply chain security
Manual Testing:
- OWASP ZAP -- web application scanning
- Burp Suite -- API and web security testing
- Browser DevTools -- frontend security inspection
1---2name: security-audit3description: Security audit patterns for OWASP Top 10 compliance. Use when conducting security reviews, penetration testing, or auditing authentication and data protection.4---56# Security Audit78## Purpose910Conduct a comprehensive security audit combining vulnerability assessment, code review, and penetration testing simulation. This skill covers OWASP Top 10 compliance, authentication, authorization, data protection, API security, infrastructure configuration, and dependency analysis to produce an actionable security report.1112## When to Use1314- Before production deployment15- After implementing security-critical features16- As part of regular security assessments (quarterly recommended)17- After security incidents or breaches18- Before handling sensitive data (PII, payments)19- When compliance requirements mandate a security audit2021## Audit Areas2223### 1. Authentication and Authorization2425**Checks:**2627- Password policies and hashing algorithms (bcrypt, scrypt, argon2)28- Session management and expiration29- Token security (JWT signing, rotation, revocation)30- Multi-factor authentication implementation31- OAuth/SSO configuration32- Role-Based Access Control (RBAC) enforcement33- Principle of least privilege34- Account lockout and brute-force protection3536### 2. Input Validation and Sanitization3738**Checks:**3940- Schema validation coverage (all endpoints)41- SQL injection prevention (parameterized queries, ORM usage)42- XSS prevention (output encoding, CSP)43- Path traversal protection44- Command injection prevention45- File upload validation (type, size, content)46- CSRF token implementation47- Content-Type enforcement4849### 3. Data Protection and Privacy5051**Checks:**5253- Encryption at rest (database, file storage)54- Encryption in transit (TLS/HTTPS enforcement)55- API key and secret management (env vars, vaults)56- PII handling and GDPR/privacy compliance57- Data retention and deletion policies58- No sensitive data in logs59- Database field-level encryption for critical fields6061### 4. API Security6263**Checks:**6465- Rate limiting implementation66- API authentication (keys, tokens, OAuth)67- CORS configuration (no wildcard origins)68- Error message information leakage69- HTTP security headers (CSP, HSTS, X-Frame-Options, X-Content-Type-Options)70- Request size limits71- API versioning7273### 5. Infrastructure and Configuration7475**Checks:**7677- Environment variable management (no hardcoded secrets)78- Container/deployment security79- Dependency vulnerabilities (npm/pnpm audit)80- TLS/SSL certificate configuration81- HTTP security headers82- Database connection security83- Default credentials removed8485### 6. Code Security Patterns8687**Checks:**8889- No stack traces exposed in production90- Secure coding practices followed91- Hardcoded secrets detection92- Type safety enforcement93- Safe deserialization94- Secure random number generation95- Timing attack prevention in comparisons9697### 7. Frontend Security9899**Checks:**100101- XSS prevention (framework auto-escaping)102- Content Security Policy (CSP)103- Subresource Integrity (SRI) for CDN resources104- Third-party script security105- Local/session storage security (no tokens in localStorage)106- Cookie security flags (HttpOnly, Secure, SameSite)107- Clickjacking protection108109### 8. Penetration Testing Simulation110111**Tests:**112113- Authentication bypass attempts114- Authorization escalation attempts115- SQL injection probes on all inputs116- XSS injection on all user-facing fields117- CSRF attack simulation118- Session hijacking attempts119- API abuse scenarios (rate limit bypass, parameter tampering)120- Business logic flaw exploration121122## Workflow123124### Phase 1: Preparation1251261. Review codebase structure and identify critical endpoints1272. Map authentication and authorization flows1283. List third-party integrations and external dependencies1294. Configure security scanning tools1305. Prepare test accounts with different permission levels131132### Phase 2: Automated Scanning1331341. Run dependency audit:135136```bash137npm audit --audit-level moderate138pnpm audit --audit-level moderate139```1401412. Run code scanning (ESLint security rules, secret detection)1423. Review infrastructure configuration (environment, TLS, headers)143144### Phase 3: Manual Review1451461. Inspect password hashing and session management code1472. Review authorization checks on all endpoints1483. Verify input validation on all user-facing inputs1494. Check error handling for information leakage1505. Review logging for sensitive data exposure151152### Phase 4: Penetration Testing1531541. Test authentication bypass vectors1552. Attempt injection attacks on all inputs1563. Test authorization escalation paths1574. Verify rate limiting and abuse prevention1585. Check for business logic vulnerabilities159160### Phase 5: Reporting161162Categorize findings by severity:163164- **Critical**: Immediate fix required (RCE, SQL injection, auth bypass)165- **High**: Fix before deployment (XSS, sensitive data exposure)166- **Medium**: Fix soon (weak encryption, missing headers)167- **Low**: Best practice improvements (logging, monitoring)168169## Report Template170171```markdown172# Security Audit Report173174**Date:** YYYY-MM-DD175**Application:** [App Name]176**Environment:** [dev/staging/production]177178## Executive Summary179- **Overall Security Score:** X/100180- **Critical Issues:** X181- **High Issues:** X182- **Medium Issues:** X183- **Low Issues:** X184185## Findings by Severity186187### Critical (Immediate Action Required)1881. **[Finding Title]**189 - **Location:** [File/Endpoint]190 - **Description:** [Details]191 - **Impact:** [Security risk]192 - **Remediation:** [Fix steps]193 - **References:** [OWASP, CVE]194195### High (Fix Before Deployment)196[...]197198### Medium (Fix Soon)199[...]200201### Low (Improvements)202[...]203204## OWASP Top 10 Compliance205- [ ] A01:2021 - Broken Access Control206- [ ] A02:2021 - Cryptographic Failures207- [ ] A03:2021 - Injection208- [ ] A04:2021 - Insecure Design209- [ ] A05:2021 - Security Misconfiguration210- [ ] A06:2021 - Vulnerable Components211- [ ] A07:2021 - Identification & Authentication Failures212- [ ] A08:2021 - Software & Data Integrity Failures213- [ ] A09:2021 - Security Logging & Monitoring Failures214- [ ] A10:2021 - Server-Side Request Forgery (SSRF)215216## Recommendations2171. **Immediate Actions** (Critical/High)2182. **Short-term Improvements** (Medium)2193. **Long-term Enhancements** (Low)220221## Next Steps2221. Address critical issues immediately2232. Schedule high-priority fixes for next sprint2243. Create tickets for medium/low findings2254. Re-audit after fixes are deployed2265. Schedule next audit (quarterly)227```228229## OWASP Top 10 Quick Reference2302311. **Broken Access Control** -- RBAC, direct object references, path traversal2322. **Cryptographic Failures** -- weak encryption, exposed secrets, plaintext data2333. **Injection** -- SQL, XSS, command injection, LDAP injection2344. **Insecure Design** -- missing threat modeling, architecture flaws2355. **Security Misconfiguration** -- default configs, unnecessary features, verbose errors2366. **Vulnerable Components** -- outdated dependencies, known CVEs2377. **Authentication Failures** -- weak passwords, broken session management2388. **Data Integrity Failures** -- insecure deserialization, unsigned updates2399. **Logging Failures** -- insufficient monitoring, log tampering, missing audit trails24010. **SSRF** -- unvalidated URLs, internal network access from user input241242## Best Practices2432441. **Run audits regularly** -- quarterly at minimum, not just before deployment2452. **Track remediation** -- create tickets for every finding2463. **Trend analysis** -- compare results with previous audits2474. **Automate scanning** -- integrate security checks into CI/CD2485. **Document exceptions** -- record any accepted risks with justification2496. **Re-audit after fixes** -- verify that remediations are effective2507. **Defense in depth** -- never rely on a single security control2518. **Least privilege** -- grant minimum required access at every layer2529. **Keep dependencies current** -- patch vulnerabilities promptly25310. **Educate the team** -- security awareness is everyone's responsibility254255## Recommended Tools256257**Automated Scanners:**258259- npm audit / pnpm audit -- dependency vulnerabilities260- Snyk -- vulnerability scanning and monitoring261- ESLint security plugins -- static code analysis262- Socket Security -- supply chain security263264**Manual Testing:**265266- OWASP ZAP -- web application scanning267- Burp Suite -- API and web security testing268- Browser DevTools -- frontend security inspection