security-review
Perform OWASP Top 10 security audit, check auth/authz guards, find injection vulnerabilities, and identify data exposure. Use when reviewing security-sensitive code, before merging auth changes, or when asked to check for vulnerabilities.
When & Why to Use This Skill
This Claude skill automates comprehensive security audits by identifying OWASP Top 10 vulnerabilities, such as SQL injection, XSS, and broken access control. It streamlines the secure development lifecycle by analyzing code changes, verifying authentication/authorization guards, and detecting sensitive data exposure, providing developers with actionable remediation steps and severity ratings.
Use Cases
- Pre-merge Security Audits: Automatically analyze git diffs and pull requests to catch critical vulnerabilities like command injection or insecure RLS configurations before they reach production.
- OWASP Top 10 Compliance: Conduct thorough scans of React components and backend logic to ensure adherence to industry-standard security practices and identify common injection points.
- Access Control Validation: Systematically verify that all protected routes and data queries correctly implement 'requireUser', 'requireRole', or specific permission guards to prevent unauthorized access.
- Sensitive Data Discovery: Proactively identify accidental exposure of PII, authentication tokens, or hardcoded secrets within client-side code, API responses, and application logs.
| name | security-review |
|---|---|
| description | Perform OWASP Top 10 security audit, check auth/authz guards, find injection vulnerabilities, and identify data exposure. Use when reviewing security-sensitive code, before merging auth changes, or when asked to check for vulnerabilities. |
Security Review
Perform a comprehensive security audit focusing on OWASP Top 10 vulnerabilities and application-specific risks.
Scope
Review the specified files or recent changes for:
1. Injection Vulnerabilities
- SQL injection (check Drizzle query construction)
- Command injection in Bash/shell commands
- XSS in React components (raw HTML rendering, unsanitized user input)
- Server-side template injection
2. Authentication & Authorization
- Verify
requireUser()andrequireRole()guards on all protected routes - Check
ensureClientAccess()usage before data queries - Review session handling in
lib/auth/session.ts - Verify RLS bypass is properly handled (per CLAUDE.md: RLS is disabled, app-level guards required)
3. Data Exposure
- Sensitive data in API responses (passwords, tokens, PII)
- Overly permissive data fetching
- Missing field-level access control
- Secrets in client-side code or logs
4. Security Misconfigurations
- Missing rate limiting on sensitive endpoints
- CORS misconfigurations
- Missing security headers (CSP, X-Frame-Options)
- Environment variable exposure
5. Cryptographic Issues
- Weak or missing encryption
- Hardcoded secrets
- Insecure token generation
6. Business Logic Vulnerabilities
- Privilege escalation paths
- IDOR (Insecure Direct Object References)
- Race conditions in state changes
Output Format
For each finding:
[SEVERITY: CRITICAL|HIGH|MEDIUM|LOW]
File: path/to/file.ts:lineNumber
Issue: Brief description
Risk: What could happen if exploited
Fix: Recommended remediation
Actions
- If reviewing staged changes:
git diff --cached - If reviewing a PR: Use the Greptile MCP tools to fetch PR details
- If reviewing specific files: Read and analyze each file
- Cross-reference with
lib/auth/permissions.tspatterns - Check for missing guards by comparing with similar protected routes
Post-Review
Generate a summary with:
- Total findings by severity
- Priority remediation order
- Architectural recommendations if systemic issues found