Was macht differential-review?
Führt eine sicherheitsorientierte differenzielle Überprüfung von Codeänderungen (PRs, Commits, Diffs) durch. Passt die Analysetiefe an die Codebasisgröße an, nutzt die Git-Historie für Kontext, berechnet die Auswirkungsbreite (Blast Radius), prüft die Testabdeckung und erstellt umfassende Markdown-Berichte. Erkennt und verhindert automatisch Sicherheitsregressionen.
Funktionen
- Sicherheitsfokussierte Analyse: Identifiziert Sicherheitslücken und Regressionen in Codeänderungen.
- Dynamische Tiefe: Passt die Analyseintensität basierend auf der Größe des geänderten Codes an.
- Git-Historie-Kontext: Nutzt Commit-Verläufe, um Muster und frühere Änderungen zu verstehen.
- Blast-Radius-Berechnung: Schätzt die potenziellen Auswirkungen einer Änderung auf andere Teile der Codebasis.
- Testabdeckungsprüfung: Bewertet, ob geänderte Bereiche ausreichend getestet sind.
- Markdown-Berichte: Generiert strukturierte, lesbare Berichte für die Integration in PRs oder Dokumentationen.
Verwendung
- Installation: Stell sicher, dass der Skill in deiner KI-Agent-Umgebung verfügbar ist (z. B. Claude Code, Cursor, Codex).
- Ausführung: Führe den Skill auf einem Pull Request, Commit oder Diff aus:
trailofbits/differential-review <PR-URL> | <commit-hash> | <diff-datei> - Ergebnisse: Lies den generierten Markdown-Bericht, der Sicherheitshinweise, Blast-Radius und Testabdeckung enthält.
Plattformen
- Claude Code
- Cursor
- Codex (und ähnliche KI-Agenten)
Beispiel
# Überprüfung eines Pull Requests
trailofbits/differential-review https://github.com/beispiel/repo/pull/42
# Differenzieller Sicherheitsbericht für PR #42
## Zusammenfassung
- Geänderte Dateien: 5
- Hinzugefügte Zeilen: 120
- Entfernte Zeilen: 30
## Gefundene Sicherheitsprobleme
- **Mittel**: Unzureichende Eingabevalidierung in `src/handler.py` (Zeile 45)
- **Niedrig**: Fehlende Fehlerbehandlung in `src/utils.py` (Zeile 78)
## Blast-Radius
- Betroffene Module: `auth`, `api`
- Potenzielle Auswirkungen: Mittel
## Testabdeckung
- Geänderter Code: 85% abgedeckt
- Fehlende Tests: `src/handler.py` (Zeilen 40-50)
Beitragen
Beiträge sind willkommen! Bitte öffne ein Issue oder einen Pull Request im Repository.
Lizenz
Apache 2.0