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", "CVE", or "fix" commits
- Access control modifiers removed (onlyOwner, internal → external)
- Validation removed without replacement
- External calls added without checks
- High blast radius (50+ callers) + HIGH risk change
These patterns require adversarial analysis even in quick triage.
Tips for Best Results
Do:
- Start with git blame for removed code
- Calculate blast radius early to prioritize
- Generate concrete attack scenarios
- Reference specific line numbers and commits
- Be honest about coverage limitations
- Always generate the output file
Don't:
- Skip git history analysis
- Make generic findings without evidence
- Claim full analysis when time-limited
- Forget to check test coverage
- Miss high blast radius changes
- Output report only to chat (file required)
Supporting Documentation
- methodology.md - Detailed phase-by-phase workflow (Phases 0-4)
- adversarial.md - Attacker modeling and exploit scenarios (Phase 5)
- reporting.md - Report structure and formatting (Phase 6)
- patterns.md - Common vulnerability patterns reference
For first-time users: Start with methodology.md to understand the complete workflow.
For experienced users: Use this page's Quick Reference and Decision Tree to navigate directly to needed content.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: differential-review3description: Security-focused code review for PRs, commits, and diffs.4---5
6# Differential Security Review
7
8Security-focused code review for PRs, commits, and diffs.
9
10## When to Use
11- You need a security-focused review of a PR, commit range, or diff rather than a general code review.
12- The changes touch auth, crypto, external calls, value transfer, permissions, or other high-risk logic.
13- You need findings backed by code evidence, attack scenarios, and an explicit report artifact.
14
15## Core Principles
16
171. **Risk-First**: Focus on auth, crypto, value transfer, external calls
182. **Evidence-Based**: Every finding backed by git history, line numbers, attack scenarios
193. **Adaptive**: Scale to codebase size (SMALL/MEDIUM/LARGE)
204. **Honest**: Explicitly state coverage limits and confidence level
215. **Output-Driven**: Always generate comprehensive markdown report file
22
23---
24
25## Rationalizations (Do Not Skip)
26
27| Rationalization | Why It's Wrong | Required Action |
28|-----------------|----------------|-----------------|
29| "Small PR, quick review" | Heartbleed was 2 lines | Classify by RISK, not size |
30| "I know this codebase" | Familiarity breeds blind spots | Build explicit baseline context |
31| "Git history takes too long" | History reveals regressions | Never skip Phase 1 |
32| "Blast radius is obvious" | You'll miss transitive callers | Calculate quantitatively |
33| "No tests = not my problem" | Missing tests = elevated risk rating | Flag in report, elevate severity |
34| "Just a refactor, no security impact" | Refactors break invariants | Analyze as HIGH until proven LOW |
35| "I'll explain verbally" | No artifact = findings lost | Always write report |
36
37---
38
39## Quick Reference
40
41### Codebase Size Strategy
42
43| Codebase Size | Strategy | Approach |
44|---------------|----------|----------|
45| SMALL (<20 files) | DEEP | Read all deps, full git blame |
46| MEDIUM (20-200) | FOCUSED | 1-hop deps, priority files |
47| LARGE (200+) | SURGICAL | Critical paths only |
48
49### Risk Level Triggers
50
51| Risk Level | Triggers |
52|------------|----------|
53| HIGH | Auth, crypto, external calls, value transfer, validation removal |
54| MEDIUM | Business logic, state changes, new public APIs |
55| LOW | Comments, tests, UI, logging |
56
57---
58
59## Workflow Overview
60
61```
62Pre-Analysis → Phase 0: Triage → Phase 1: Code Analysis → Phase 2: Test Coverage
63 ↓ ↓ ↓ ↓
64Phase 3: Blast Radius → Phase 4: Deep Context → Phase 5: Adversarial → Phase 6: Report
65```
66
67---
68
69## Decision Tree
70
71**Starting a review?**
72
73```
74├─ Need detailed phase-by-phase methodology?
75│ └─ Read: methodology.md
76│ (Pre-Analysis + Phases 0-4: triage, code analysis, test coverage, blast radius)
77│
78├─ Analyzing HIGH RISK change?
79│ └─ Read: adversarial.md
80│ (Phase 5: Attacker modeling, exploit scenarios, exploitability rating)
81│
82├─ Writing the final report?
83│ └─ Read: reporting.md
84│ (Phase 6: Report structure, templates, formatting guidelines)
85│
86├─ Looking for specific vulnerability patterns?
87│ └─ Read: patterns.md
88│ (Regressions, reentrancy, access control, overflow, etc.)
89│
90└─ Quick triage only?
91 └─ Use Quick Reference above, skip detailed docs
92```
93
94---
95
96## Quality Checklist
97
98Before delivering:
99
100- [ ] All changed files analyzed
101- [ ] Git blame on removed security code
102- [ ] Blast radius calculated for HIGH risk
103- [ ] Attack scenarios are concrete (not generic)
104- [ ] Findings reference specific line numbers + commits
105- [ ] Report file generated
106- [ ] User notified with summary
107
108---
109
110## Integration
111
112**audit-context-building skill:**
113- Pre-Analysis: Build baseline context
114- Phase 4: Deep context on HIGH RISK changes
115
116**issue-writer skill:**
117- Transform findings into formal audit reports
118- Command: `issue-writer --input DIFFERENTIAL_REVIEW_REPORT.md --format audit-report`
119
120---
121
122## Example Usage
123
124### Quick Triage (Small PR)
125```
126Input: 5 file PR, 2 HIGH RISK files
127Strategy: Use Quick Reference
1281. Classify risk level per file (2 HIGH, 3 LOW)
1292. Focus on 2 HIGH files only
1303. Git blame removed code
1314. Generate minimal report
132Time: ~30 minutes
133```
134
135### Standard Review (Medium Codebase)
136```
137Input: 80 files, 12 HIGH RISK changes
138Strategy: FOCUSED (see methodology.md)
1391. Full workflow on HIGH RISK files
1402. Surface scan on MEDIUM
1413. Skip LOW risk files
1424. Complete report with all sections
143Time: ~3-4 hours
144```
145
146### Deep Audit (Large, Critical Change)
147```
148Input: 450 files, auth system rewrite
149Strategy: SURGICAL + audit-context-building
1501. Baseline context with audit-context-building
1512. Deep analysis on auth changes only
1523. Blast radius analysis
1534. Adversarial modeling
1545. Comprehensive report
155Time: ~6-8 hours
156```
157
158---
159
160## When NOT to Use This Skill
161
162- **Greenfield code** (no baseline to compare)
163- **Documentation-only changes** (no security impact)
164- **Formatting/linting** (cosmetic changes)
165- **User explicitly requests quick summary only** (they accept risk)
166
167For these cases, use standard code review instead.
168
169---
170
171## Red Flags (Stop and Investigate)
172
173**Immediate escalation triggers:**
174- Removed code from "security", "CVE", or "fix" commits
175- Access control modifiers removed (onlyOwner, internal → external)
176- Validation removed without replacement
177- External calls added without checks
178- High blast radius (50+ callers) + HIGH risk change
179
180These patterns require adversarial analysis even in quick triage.
181
182---
183
184## Tips for Best Results
185
186**Do:**
187- Start with git blame for removed code
188- Calculate blast radius early to prioritize
189- Generate concrete attack scenarios
190- Reference specific line numbers and commits
191- Be honest about coverage limitations
192- Always generate the output file
193
194**Don't:**
195- Skip git history analysis
196- Make generic findings without evidence
197- Claim full analysis when time-limited
198- Forget to check test coverage
199- Miss high blast radius changes
200- Output report only to chat (file required)
201
202---
203
204## Supporting Documentation
205
206- **methodology.md** - Detailed phase-by-phase workflow (Phases 0-4)
207- **adversarial.md** - Attacker modeling and exploit scenarios (Phase 5)
208- **reporting.md** - Report structure and formatting (Phase 6)
209- **patterns.md** - Common vulnerability patterns reference
210
211---
212
213**For first-time users:** Start with methodology.md to understand the complete workflow.
214
215**For experienced users:** Use this page's Quick Reference and Decision Tree to navigate directly to needed content.
216
217## Limitations
218- Use this skill only when the task clearly matches the scope described above.
219- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
220- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.