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 enprojectnment-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---56# Differential Security Review78Security-focused code review for PRs, commits, and diffs.910## When to Use11- 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.1415## Core Principles16171. **Risk-First**: Focus on auth, crypto, value transfer, external calls182. **Evidence-Based**: Every finding backed by git history, line numbers, attack scenarios193. **Adaptive**: Scale to codebase size (SMALL/MEDIUM/LARGE)204. **Honest**: Explicitly state coverage limits and confidence level215. **Output-Driven**: Always generate comprehensive markdown report file2223---2425## Rationalizations (Do Not Skip)2627| 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 |3637---3839## Quick Reference4041### Codebase Size Strategy4243| 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 |4849### Risk Level Triggers5051| 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 |5657---5859## Workflow Overview6061```62Pre-Analysis → Phase 0: Triage → Phase 1: Code Analysis → Phase 2: Test Coverage63 ↓ ↓ ↓ ↓64Phase 3: Blast Radius → Phase 4: Deep Context → Phase 5: Adversarial → Phase 6: Report65```6667---6869## Decision Tree7071**Starting a review?**7273```74├─ Need detailed phase-by-phase methodology?75│ └─ Read: methodology.md76│ (Pre-Analysis + Phases 0-4: triage, code analysis, test coverage, blast radius)77│78├─ Analyzing HIGH RISK change?79│ └─ Read: adversarial.md80│ (Phase 5: Attacker modeling, exploit scenarios, exploitability rating)81│82├─ Writing the final report?83│ └─ Read: reporting.md84│ (Phase 6: Report structure, templates, formatting guidelines)85│86├─ Looking for specific vulnerability patterns?87│ └─ Read: patterns.md88│ (Regressions, reentrancy, access control, overflow, etc.)89│90└─ Quick triage only?91 └─ Use Quick Reference above, skip detailed docs92```9394---9596## Quality Checklist9798Before delivering:99100- [ ] All changed files analyzed101- [ ] Git blame on removed security code102- [ ] Blast radius calculated for HIGH risk103- [ ] Attack scenarios are concrete (not generic)104- [ ] Findings reference specific line numbers + commits105- [ ] Report file generated106- [ ] User notified with summary107108---109110## Integration111112**audit-context-building skill:**113- Pre-Analysis: Build baseline context114- Phase 4: Deep context on HIGH RISK changes115116**issue-writer skill:**117- Transform findings into formal audit reports118- Command: `issue-writer --input DIFFERENTIAL_REVIEW_REPORT.md --format audit-report`119120---121122## Example Usage123124### Quick Triage (Small PR)125```126Input: 5 file PR, 2 HIGH RISK files127Strategy: Use Quick Reference1281. Classify risk level per file (2 HIGH, 3 LOW)1292. Focus on 2 HIGH files only1303. Git blame removed code1314. Generate minimal report132Time: ~30 minutes133```134135### Standard Review (Medium Codebase)136```137Input: 80 files, 12 HIGH RISK changes138Strategy: FOCUSED (see methodology.md)1391. Full workflow on HIGH RISK files1402. Surface scan on MEDIUM1413. Skip LOW risk files1424. Complete report with all sections143Time: ~3-4 hours144```145146### Deep Audit (Large, Critical Change)147```148Input: 450 files, auth system rewrite149Strategy: SURGICAL + audit-context-building1501. Baseline context with audit-context-building1512. Deep analysis on auth changes only1523. Blast radius analysis1534. Adversarial modeling1545. Comprehensive report155Time: ~6-8 hours156```157158---159160## When NOT to Use This Skill161162- **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)166167For these cases, use standard code review instead.168169---170171## Red Flags (Stop and Investigate)172173**Immediate escalation triggers:**174- Removed code from "security", "CVE", or "fix" commits175- Access control modifiers removed (onlyOwner, internal → external)176- Validation removed without replacement177- External calls added without checks178- High blast radius (50+ callers) + HIGH risk change179180These patterns require adversarial analysis even in quick triage.181182---183184## Tips for Best Results185186**Do:**187- Start with git blame for removed code188- Calculate blast radius early to prioritize189- Generate concrete attack scenarios190- Reference specific line numbers and commits191- Be honest about coverage limitations192- Always generate the output file193194**Don't:**195- Skip git history analysis196- Make generic findings without evidence197- Claim full analysis when time-limited198- Forget to check test coverage199- Miss high blast radius changes200- Output report only to chat (file required)201202---203204## Supporting Documentation205206- **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 reference210211---212213**For first-time users:** Start with methodology.md to understand the complete workflow.214215**For experienced users:** Use this page's Quick Reference and Decision Tree to navigate directly to needed content.216217## Limitations218- Use this skill only when the task clearly matches the scope described above.219- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.220- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.