security-review

dralgorhythm's avatarfrom dralgorhythm

Conduct security code reviews. Use when reviewing code for vulnerabilities, assessing security posture, or auditing applications. Covers security review checklist.

⭐1stars🔀0forks📁View on GitHub🕐Updated Dec 20, 2025

When & Why to Use This Skill

This Claude skill automates the security code review process by identifying critical vulnerabilities such as SQL injection, XSS, and hardcoded secrets. It leverages a comprehensive security checklist—covering authentication, authorization, and cryptography—to help developers assess their security posture and ensure applications meet industry-standard secure coding practices.

Use Cases

  • Automated Pull Request Auditing: Perform deep security scans on new code submissions to catch vulnerabilities like SQL injection or hardcoded credentials before they reach production.
  • Legacy Codebase Sanitization: Audit existing applications to identify and remediate outdated cryptographic algorithms, insecure random number generation, or weak session management.
  • Compliance and Standards Verification: Systematically verify that software components adhere to internal security checklists for input validation, output encoding, and error handling.
  • Security Posture Assessment: Generate detailed security review reports that categorize findings by severity (Critical to Low) to prioritize remediation efforts during development cycles.
namesecurity-review
descriptionConduct security code reviews. Use when reviewing code for vulnerabilities, assessing security posture, or auditing applications. Covers security review checklist.
allowed-toolsRead, Glob, Grep

Security Review

Review Checklist

Authentication

  • Strong password requirements enforced
  • MFA implemented for sensitive operations
  • Session tokens are cryptographically secure
  • Session timeout is appropriate
  • Logout properly invalidates session

Authorization

  • Access controls checked server-side
  • Least privilege principle applied
  • Role-based access properly implemented
  • Direct object references validated

Input Validation

  • All input validated server-side
  • Input type and length checked
  • Special characters properly handled
  • File uploads validated and restricted

Output Encoding

  • HTML output properly encoded
  • JSON responses use proper content type
  • Error messages don't leak information

Cryptography

  • Strong algorithms used (AES-256, RSA-2048+)
  • No custom crypto implementations
  • Keys properly managed
  • TLS 1.2+ enforced

Error Handling

  • Exceptions handled gracefully
  • Error messages don't expose internals
  • Failed operations logged

Logging

  • Security events logged
  • Sensitive data not logged
  • Logs protected from tampering

Code Patterns to Flag

SQL Injection

// DANGER
db.query(`SELECT * FROM users WHERE id = ${id}`);

XSS

// DANGER
element.innerHTML = userInput;

Hardcoded Secrets

// DANGER
const API_KEY = "sk-abc123...";

Insecure Random

// DANGER
Math.random(); // For security purposes

Security Review Report

## Security Review: [Component]

### Summary
- Critical: [X]
- High: [X]
- Medium: [X]
- Low: [X]

### Findings

#### [CRITICAL] SQL Injection in UserService
**Location**: src/services/user.ts:47
**Description**: User input concatenated into SQL query
**Remediation**: Use parameterized queries
**Code**:
```typescript
// Current (vulnerable)
// Recommended fix