Differential Security Review
Security-focused code review for PRs, commits, and diffs.
When to Use
- You need a security-focused review of a PR, commit range, or diff rather than a general code review.
- The changes touch auth, crypto, external calls, value transfer, permissions, or other high-risk logic.
- You need findings backed by code evidence, attack scenarios, and an explicit report artifact.
Core Principles
- Risk-First: Focus on auth, crypto, value transfer, external calls
- Evidence-Based: Every finding backed by git history, line numbers, attack scenarios
- Adaptive: Scale to codebase size (SMALL/MEDIUM/LARGE)
- Honest: Explicitly state coverage limits and confidence level
- Output-Driven: Always generate comprehensive markdown report file
Rationalizations (Do Not Skip)
| Rationalization |
Why It's Wrong |
Required Action |
| "Small PR, quick review" |
Heartbleed was 2 lines |
Classify by RISK, not size |
| "I know this codebase" |
Familiarity breeds blind spots |
Build explicit baseline context |
| "Git history takes too long" |
History reveals regressions |
Never skip Phase 1 |
| "Blast radius is obvious" |
You'll miss transitive callers |
Calculate quantitatively |
| "No tests = not my problem" |
Missing tests = elevated risk rating |
Flag in report, elevate severity |
| "Just a refactor, no security impact" |
Refactors break invariants |
Analyze as HIGH until proven LOW |
| "I'll explain verbally" |
No artifact = findings lost |
Always write report |
Quick Reference
Codebase Size Strategy
| Codebase Size |
Strategy |
Approach |
| SMALL (<20 files) |
DEEP |
Read all deps, full git blame |
| MEDIUM (20-200) |
FOCUSED |
1-hop deps, priority files |
| LARGE (200+) |
SURGICAL |
Critical paths only |
Risk Level Triggers
| Risk Level |
Triggers |
| HIGH |
Auth, crypto, external calls, value transfer, validation removal |
| MEDIUM |
Business logic, state changes, new public APIs |
| LOW |
Comments, tests, UI, logging |
Workflow Overview
Pre-Analysis → Phase 0: Triage → Phase 1: Code Analysis → Phase 2: Test Coverage
↓ ↓ ↓ ↓
Phase 3: Blast Radius → Phase 4: Deep Context → Phase 5: Adversarial → Phase 6: Report
Decision Tree
Starting a review?
├─ Need detailed phase-by-phase methodology?
│ └─ Read: methodology.md
│ (Pre-Analysis + Phases 0-4: triage, code analysis, test coverage, blast radius)
│
├─ Analyzing HIGH RISK change?
│ └─ Read: adversarial.md
│ (Phase 5: Attacker modeling, exploit scenarios, exploitability rating)
│
├─ Writing the final report?
│ └─ Read: reporting.md
│ (Phase 6: Report structure, templates, formatting guidelines)
│
├─ Looking for specific vulnerability patterns?
│ └─ Read: patterns.md
│ (Regressions, reentrancy, access control, overflow, etc.)
│
└─ Quick triage only?
└─ Use Quick Reference above, skip detailed docs
Quality Checklist
Before delivering:
Integration
audit-context-building skill:
- Pre-Analysis: Build baseline context
- Phase 4: Deep context on HIGH RISK changes
issue-writer skill:
- Transform findings into formal audit reports
- Command:
issue-writer --input DIFFERENTIAL_REVIEW_REPORT.md --format audit-report
Example Usage
Quick Triage (Small PR)
Input: 5 file PR, 2 HIGH RISK files
Strategy: Use Quick Reference
1. Classify risk level per file (2 HIGH, 3 LOW)
2. Focus on 2 HIGH files only
3. Git blame removed code
4. Generate minimal report
Time: ~30 minutes
Standard Review (Medium Codebase)
Input: 80 files, 12 HIGH RISK changes
Strategy: FOCUSED (see methodology.md)
1. Full workflow on HIGH RISK files
2. Surface scan on MEDIUM
3. Skip LOW risk files
4. Complete report with all sections
Time: ~3-4 hours
Deep Audit (Large, Critical Change)
Input: 450 files, auth system rewrite
Strategy: SURGICAL + audit-context-building
1. Baseline context with audit-context-building
2. Deep analysis on auth changes only
3. Blast radius analysis
4. Adversarial modeling
5. Comprehensive report
Time: ~6-8 hours
When NOT to Use This Skill
- Greenfield code (no baseline to compare)
- Documentation-only changes (no security impact)
- Formatting/linting (cosmetic changes)
- User explicitly requests quick summary only (they accept risk)
For these cases, use standard code review instead.
Red Flags (Stop and Investigate)
Immediate escalation triggers:
- Removed code from "security",
1---2name: differential-review3description: Security-focused code review for PRs, commits, and diffs.4---567# Differential Security Review89Security-focused code review for PRs, commits, and diffs.1011## When to Use12- You need a security-focused review of a PR, commit range, or diff rather than a general code review.13- The changes touch auth, crypto, external calls, value transfer, permissions, or other high-risk logic.14- You need findings backed by code evidence, attack scenarios, and an explicit report artifact.1516## Core Principles17181. **Risk-First**: Focus on auth, crypto, value transfer, external calls192. **Evidence-Based**: Every finding backed by git history, line numbers, attack scenarios203. **Adaptive**: Scale to codebase size (SMALL/MEDIUM/LARGE)214. **Honest**: Explicitly state coverage limits and confidence level225. **Output-Driven**: Always generate comprehensive markdown report file2324---2526## Rationalizations (Do Not Skip)2728| Rationalization | Why It's Wrong | Required Action |29|-----------------|----------------|-----------------|30| "Small PR, quick review" | Heartbleed was 2 lines | Classify by RISK, not size |31| "I know this codebase" | Familiarity breeds blind spots | Build explicit baseline context |32| "Git history takes too long" | History reveals regressions | Never skip Phase 1 |33| "Blast radius is obvious" | You'll miss transitive callers | Calculate quantitatively |34| "No tests = not my problem" | Missing tests = elevated risk rating | Flag in report, elevate severity |35| "Just a refactor, no security impact" | Refactors break invariants | Analyze as HIGH until proven LOW |36| "I'll explain verbally" | No artifact = findings lost | Always write report |3738---3940## Quick Reference4142### Codebase Size Strategy4344| Codebase Size | Strategy | Approach |45|---------------|----------|----------|46| SMALL (<20 files) | DEEP | Read all deps, full git blame |47| MEDIUM (20-200) | FOCUSED | 1-hop deps, priority files |48| LARGE (200+) | SURGICAL | Critical paths only |4950### Risk Level Triggers5152| Risk Level | Triggers |53|------------|----------|54| HIGH | Auth, crypto, external calls, value transfer, validation removal |55| MEDIUM | Business logic, state changes, new public APIs |56| LOW | Comments, tests, UI, logging |5758---5960## Workflow Overview6162```63Pre-Analysis → Phase 0: Triage → Phase 1: Code Analysis → Phase 2: Test Coverage64 ↓ ↓ ↓ ↓65Phase 3: Blast Radius → Phase 4: Deep Context → Phase 5: Adversarial → Phase 6: Report66```6768---6970## Decision Tree7172**Starting a review?**7374```75├─ Need detailed phase-by-phase methodology?76│ └─ Read: methodology.md77│ (Pre-Analysis + Phases 0-4: triage, code analysis, test coverage, blast radius)78│79├─ Analyzing HIGH RISK change?80│ └─ Read: adversarial.md81│ (Phase 5: Attacker modeling, exploit scenarios, exploitability rating)82│83├─ Writing the final report?84│ └─ Read: reporting.md85│ (Phase 6: Report structure, templates, formatting guidelines)86│87├─ Looking for specific vulnerability patterns?88│ └─ Read: patterns.md89│ (Regressions, reentrancy, access control, overflow, etc.)90│91└─ Quick triage only?92 └─ Use Quick Reference above, skip detailed docs93```9495---9697## Quality Checklist9899Before delivering:100101- [ ] All changed files analyzed102- [ ] Git blame on removed security code103- [ ] Blast radius calculated for HIGH risk104- [ ] Attack scenarios are concrete (not generic)105- [ ] Findings reference specific line numbers + commits106- [ ] Report file generated107- [ ] User notified with summary108109---110111## Integration112113**audit-context-building skill:**114- Pre-Analysis: Build baseline context115- Phase 4: Deep context on HIGH RISK changes116117**issue-writer skill:**118- Transform findings into formal audit reports119- Command: `issue-writer --input DIFFERENTIAL_REVIEW_REPORT.md --format audit-report`120121---122123## Example Usage124125### Quick Triage (Small PR)126```127Input: 5 file PR, 2 HIGH RISK files128Strategy: Use Quick Reference1291. Classify risk level per file (2 HIGH, 3 LOW)1302. Focus on 2 HIGH files only1313. Git blame removed code1324. Generate minimal report133Time: ~30 minutes134```135136### Standard Review (Medium Codebase)137```138Input: 80 files, 12 HIGH RISK changes139Strategy: FOCUSED (see methodology.md)1401. Full workflow on HIGH RISK files1412. Surface scan on MEDIUM1423. Skip LOW risk files1434. Complete report with all sections144Time: ~3-4 hours145```146147### Deep Audit (Large, Critical Change)148```149Input: 450 files, auth system rewrite150Strategy: SURGICAL + audit-context-building1511. Baseline context with audit-context-building1522. Deep analysis on auth changes only1533. Blast radius analysis1544. Adversarial modeling1555. Comprehensive report156Time: ~6-8 hours157```158159---160161## When NOT to Use This Skill162163- **Greenfield code** (no baseline to compare)164- **Documentation-only changes** (no security impact)165- **Formatting/linting** (cosmetic changes)166- **User explicitly requests quick summary only** (they accept risk)167168For these cases, use standard code review instead.169170---171172## Red Flags (Stop and Investigate)173174**Immediate escalation triggers:**175- Removed code from "security",