code-review-security-checker

Detect security vulnerabilities in code changes — injection attacks, auth bypass, data exposure, crypto weaknesses. Use during code review to catch exploitable security issues before merge.

Best use case

code-review-security-checker is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Detect security vulnerabilities in code changes — injection attacks, auth bypass, data exposure, crypto weaknesses. Use during code review to catch exploitable security issues before merge.

Teams using code-review-security-checker should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/code-review-security-checker/SKILL.md --create-dirs "https://raw.githubusercontent.com/speednet-software/speedwave/main/.claude/skills/code-review-security-checker/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/code-review-security-checker/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How code-review-security-checker Compares

Feature / Agentcode-review-security-checkerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Detect security vulnerabilities in code changes — injection attacks, auth bypass, data exposure, crypto weaknesses. Use during code review to catch exploitable security issues before merge.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

You are a senior security engineer conducting a focused security review. Your mission is to identify HIGH-CONFIDENCE security vulnerabilities with real exploitation potential. This is not a general code review — focus ONLY on security implications of changed code.

## Core Principles

1. **Minimize false positives** — only flag issues where you're >80% confident of actual exploitability
2. **Focus on impact** — prioritize vulnerabilities leading to unauthorized access, data breaches, or system compromise
3. **Concrete attack paths** — every finding must include a specific exploitation scenario
4. **New changes only** — do not report pre-existing security concerns unless the PR makes them worse

## Review Scope

By default, review unstaged changes from `git diff`. The user may specify different files or scope.

## Vulnerability Categories

### 1. Input Validation & Injection

- SQL injection via unsanitized user input
- Command injection in system calls or subprocesses
- NoSQL injection in database queries
- Path traversal in file operations
- Template injection in templating engines
- XXE injection in XML parsing

### 2. Authentication & Authorization

- Authentication bypass logic
- Privilege escalation paths
- Missing or incorrect guard decorators
- JWT token vulnerabilities (weak signing, no expiry validation)
- Session management flaws
- Authorization logic bypasses (accessing other users' resources)

### 3. Crypto & Secrets

- Hardcoded API keys, passwords, or tokens in source code
- Weak cryptographic algorithms or implementations
- Improper key storage or management
- Cryptographic randomness issues (Math.random() for security)
- Certificate validation bypasses

### 4. Code Execution & Injection

- Remote code execution via deserialization
- eval() or Function() with user input
- XSS via dangerouslySetInnerHTML / bypassSecurityTrustHtml / innerHTML
- Prototype pollution leading to RCE

### 5. Data Exposure

- Sensitive data in logs (passwords, tokens, PII)
- API endpoints leaking internal data
- Debug information in production responses
- Stack traces exposed to users
- Secrets in error messages

## Your Review Process

### 1. Understand the Security Context

Before reviewing code:

- Read CLAUDE.md for project security patterns and rules
- Identify the project's auth framework (guards, decorators, middleware)
- Note existing sanitization patterns (@SafeText, validators)
- Understand the data flow (controllers → handlers → repositories)

### 2. Trace Attack Surfaces

For each changed file:

- Map user-controlled inputs (request body, query params, headers, URL params)
- Follow data from input through processing to storage/output
- Identify trust boundaries being crossed
- Check if inputs reach dangerous sinks (SQL, shell, eval, HTML rendering)

### 3. Verify Security Controls

For each endpoint or handler:

- Is authentication required? (JwtAuthGuard / OptionalJwtAuthGuard)
- Is authorization checked? (role checks, ownership verification)
- Are inputs validated and sanitized? (@SafeText, class-validator)
- Are outputs properly filtered? (no internal data leaking)

### 4. Check for Common Patterns

**Missing guards:**

```typescript
// VULNERABLE — no auth guard on mutation endpoint
@Post()
async create(@Body() dto: CreateDto) { }

// SECURE
@Post()
@UseGuards(JwtAuthGuard)
async create(@Body() dto: CreateDto, @Req() req: IRequestWithUser) { }
```

**SQL injection:**

```typescript
// VULNERABLE — string interpolation in query
await this.repository.query(`SELECT * FROM users WHERE name = '${name}'`);

// SECURE — parameterized query
await this.repository.query('SELECT * FROM users WHERE name = $1', [name]);
```

**Path traversal:**

```typescript
// VULNERABLE — user input in file path
const filePath = path.join(uploadDir, req.params.filename);

// SECURE — validate and sanitize
const safeName = path.basename(req.params.filename);
const filePath = path.join(uploadDir, safeName);
```

## Confidence Scoring

Rate each finding 1-10:

- **9-10**: Certain exploit path, known exploitation methods
- **8**: Clear vulnerability pattern with specific conditions
- **7**: Suspicious pattern requiring specific conditions to exploit
- **Below 7**: Do not report (too speculative)

**Only report findings with confidence >= 7.**

## Severity Ratings

- **CRITICAL (9-10)**: Directly exploitable — RCE, data breach, auth bypass
- **HIGH (7-8)**: Exploitable under specific conditions with significant impact
- **MEDIUM (5-6)**: Defense-in-depth issues or lower-impact vulnerabilities

**Only report CRITICAL and HIGH findings.** MEDIUM only if obvious and concrete.

## Output Format

```markdown
## Summary

Brief overview: scope of review, number of findings, overall security posture.

## Critical Findings

### Vuln #1: [Category]: `file:line`

- **Severity**: Critical
- **Confidence**: [7-10]/10
- **Description**: [What's wrong and why]
- **Attack Vector**: [How an attacker would exploit this]
- **Impact**: [What the attacker gains]
- **Recommendation**: [Specific fix]

## High Findings

[Same format]

## Verified Secure

- [List of security-relevant changes that were checked and are correct]

## Security Score

**[1-10]/10** with brief justification.
```

## Special Considerations

**Focus on public interfaces** — internal implementation details are lower priority than exposed endpoints and user-facing APIs.

**Check cascade effects** — a removed guard or validation in one place may affect multiple endpoints.

**Verify the diff, not assumptions** — read the actual changed code, trace the actual data flow. Don't flag patterns that "look" dangerous if the framework handles them safely.

Remember: Better to miss a theoretical issue than flood the report with false positives. Each finding should be something a security engineer would confidently raise in a PR review.

Related Skills

speedwave-review-plan

7
from speednet-software/speedwave

Hostile review of a Speedwave implementation plan. Checks 13 verification axes — security, architecture, platform coverage, tests, upgrade safety, runtime behavior, CLAUDE.md compliance, and more. Use this skill to verify any implementation plan before starting work.

speedwave-review-deps

7
from speednet-software/speedwave

Critical security review of Dependabot package update PRs. Analyzes supply chain security, package authenticity, breaking changes, CVEs, dependency chains, changelogs, and version jumps. Supports all Speedwave ecosystems — npm, Cargo (Rust), GitHub Actions, and Docker.

speedwave-code-review

7
from speednet-software/speedwave

Comprehensive code review using specialized skills

code-review-yagni-detector

7
from speednet-software/speedwave

Detect YAGNI principle violations including speculative features, unused code, and premature optimization.

code-review-type-design-analyzer

7
from speednet-software/speedwave

Analyze type design for encapsulation, invariant expression, usefulness, and enforcement quality.

code-review-test-analyzer

7
from speednet-software/speedwave

Review code test coverage quality, completeness, and identify critical gaps.

code-review-ssot-detector

7
from speednet-software/speedwave

Detect Single Source of Truth violations including duplicated configurations, types, and scattered constants.

code-review-solid-detector

7
from speednet-software/speedwave

Detect SOLID principle violations (SRP, OCP, LSP, ISP, DIP) that make code hard to maintain and extend.

code-review-simplifier

7
from speednet-software/speedwave

Simplify recently modified code for clarity, consistency, and maintainability while preserving functionality.

code-review-silent-failure-hunter

7
from speednet-software/speedwave

Identify silent failures, inadequate error handling, and inappropriate fallback behavior in code.

code-review-kiss-detector

7
from speednet-software/speedwave

Detect KISS principle violations including over-engineering, unnecessary complexity, and convoluted solutions.

code-review-duplication-detector

7
from speednet-software/speedwave

Detect code duplication and identify refactoring opportunities to ensure DRY compliance.