Identify and remediate vulnerabilities through systematic code analysis.
Comprehensive security analysis to identify vulnerabilities, assess risk, and provide remediation guidance aligned with industry standards (OWASP Top 10, CVSS scoring).
Inputs:
docs/system-design.md - Architecture contextdocs/api-contracts.yaml - API specificationsdocs/feature-spec/F-##-*.md - Feature implementationsOutputs:
Ask for security audit with context:
Q1: Audit Scope
Q2: Threat Model
Q3: Sensitivity Level
Q4: Existing Security (optional)
When to use: Small codebase, single vulnerability investigation, specific attack vector, <5 files
Review vulnerabilities one area at a time using direct tools:
Injection Vulnerabilities:
db.query("SELECT * FROM users WHERE id = '" + id + "'"))dangerouslySetInnerHTML, unsanitized HTML (.innerHTML = userInput)exec('rm ' + filename))db.query(, eval(, exec(, .innerHTMLAuthentication/Authorization:
Sensitive Data Exposure:
apiKey, password, secret, token assignmentsSecurity Misconfiguration:
Dependency Vulnerabilities:
npm audit or equivalentWhen to use: Entire application, multiple OWASP categories, >1000 lines, multiple attack surfaces
Agent 1: Injection (OWASP A03) SQL, XSS, command, NoSQL, LDAP injection vulnerabilities
Agent 2: Authentication/Authorization (OWASP A01, A07) Missing auth, weak passwords, broken sessions, access control failures, privilege escalation
Agent 3: Data Exposure (OWASP A02) Hardcoded secrets, excessive API responses, logging sensitive data, unencrypted transmission, insecure storage
Agent 4: Configuration (OWASP A05) Missing security headers, CORS misconfiguration, verbose errors, default credentials, unnecessary services
Agent 5: Dependencies (OWASP A06) Vulnerable packages, outdated versions, supply chain risks
For each vulnerability:
### [SEVERITY] Issue Name
**CVSS Score:** X.X | **Category:** OWASP A##:YEAR | **Location:** `src/path/file.js:123`
**Vulnerable Code:**
[Code snippet]
**Exploit Scenario:**
[Concrete example of how to abuse this]
**Impact:**
[What attacker can achieve: data access, auth bypass, system compromise, etc.]
**Fix:**
[Secure replacement code]
**References:**
- OWASP: [link]
- CWE-##: [link]
Severity Mapping:
Generate comprehensive report with:
# Security Audit Report: [System Name]
## Executive Summary
**Overall Security Posture:** [CRITICAL / POOR / FAIR / GOOD / EXCELLENT]
**Vulnerability Summary:**
- CRITICAL: [X] (CVSS 9.0-10.0)
- HIGH: [Y] (CVSS 7.0-8.9)
- MEDIUM: [Z] (CVSS 4.0-6.9)
- LOW: [N] (CVSS 0.1-3.9)
**Immediate Actions Required:**
1. [Most critical issue]
2. [Second priority]
## OWASP Top 10 Assessment
| Category | Status | Findings | Priority |
|----------|--------|----------|----------|
| A01: Broken Access Control | ✅/⚠️/❌ | [count] | - |
| A02: Cryptographic Failures | ✅/⚠️/❌ | [count] | - |
| A03: Injection | ✅/⚠️/❌ | [count] | - |
| [Continue for all 10] | | | |
## Findings by Severity
[CRITICAL vulnerabilities]
[HIGH vulnerabilities]
[MEDIUM vulnerabilities]
[LOW vulnerabilities]
## Remediation Plan
### Immediate (24 hours)
[Critical and high-severity fixes]
### Short-term (1 week)
[Medium-severity fixes]
### Medium-term (1 month)
[Low-severity fixes, hardening]
## Verification Checklist
- [ ] Re-run security scans on fixed code
- [ ] Verify each vulnerability is closed
- [ ] Run `npm audit` on dependencies
- [ ] Test fixes don't break functionality
- [ ] Add security regression tests
Injection:
exec, spawn with user input)eval() or similar code executionAuthentication:
Data Exposure:
Configuration:
*, validate origins)Dependencies:
npm audit)npm audit, update packagesExample 1: SQL Injection Finding
### [CRITICAL] SQL Injection in User Login
**CVSS Score:** 9.8 | **Category:** OWASP A03:2021 | **Location:** `src/auth/login.js:45`
**Vulnerable Code:**
const query = `SELECT * FROM users WHERE email = '${email}'`;
const user = await db.query(query);
**Exploit Scenario:**
Attacker sends: email = "admin' OR '1'='1"
→ Returns all users, bypasses authentication, gains admin access
**Impact:**
- Complete authentication bypass
- Full database access
- Data exfiltration and manipulation
**Fix:**
const query = 'SELECT * FROM users WHERE email = ?';
const user = await db.query(query, [email]);
Example 2: Hardcoded Secrets Finding
### [CRITICAL] Hardcoded API Key
**CVSS Score:** 9.6 | **Category:** OWASP A02:2021 | **Location:** `src/config.js:12`
**Vulnerable Code:**
const apiKey = "sk-1234567890abcdef";
**Impact:**
- Unauthorized API access
- Billing liability
- Data access under victim's account
**Fix:**
const apiKey = process.env.API_KEY;
// Store in .env: API_KEY=sk-1234567890abcdef