Autonomes Sicherheitsforschungs-Framework, das statische Analyse, Binäranalyse, Fuzzing, LLM-gestützte Schwachstellenvalidierung, Exploit-Generierung und Patch-Erstellung für offensive und defensive Operationen integriert.
╔═══════════════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ █████╗ ██████╗ ████████╗ ██████╗ ██████╗ ║
║ ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔═══██╗██╔══██╗ ║
║ ██████╔╝███████║██████╔╝ ██║ ██║ ██║██████╔╝ ║
║ ██╔══██╗██╔══██║██╔═══╝ ██║ ██║ ██║██╔══██╗ ║
║ ██║ ██║██║ ██║██║ ██║ ╚██████╔╝██║ ██║ ║
║ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ║
║ ║
║ Autonomous Offensive/Defensive Research Framework ║
║ Based on Claude Code (v3.1.0) ║
║ ║
║ Gadi Evron, Daniel Cuthbert, Thomas Dullien (Halvar Flake) ║
║ Michael Bargury, John Cartwright ║
║ ║
╚═══════════════════════════════════════════════════════════════════════════╝
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣀⣀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠿⠿⠟
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣤⣴⣶⣶⣶⣤⣿⡿⠁⠀⠀⠀
⣀⠤⠴⠒⠒⠛⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⣿⣿⣿⡟⠻⢿⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⢿⣿⠟⠀⠸⣊⡽⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⣿⡁⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠿⣿⣧⠀ Get them bugs.....⠀⠀⠀⠀⠀
Autoren: Gadi Evron, Daniel Cuthbert, Thomas Dullien (Halvar Flake), Michael Bargury, John Cartwright (@gadievron, @danielcuthbert, @thomasdullien, @mbrg, @grokjc)
Lizenz: MIT, siehe LICENSE. Beachte, dass CodeQL eine eigene Lizenz hat und keine kommerzielle Nutzung erlaubt.
Repository: https://github.com/gadievron/raptor
RAPTOR ist ein autonomes Sicherheitsforschungs-Framework, das auf Claude Code aufbaut (aber nicht daran gebunden ist -- du kannst auch deine eigene Analyses chicht einbinden). Es verkettet statische Analyse, Binäranalyse, LLM-gestützte Schwachstellenvalidierung, Exploit-Generierung und Patch-Erstellung zu einem einzigen Workflow, den du gegen eine Codebasis oder ein Binary ausführen kannst.
Es ist keine ausgereifte Software. Sie wurde in der Freizeit gebaut, mit Enthusiasmus und Klebeband zusammengehalten, und sie funktioniert gut genug, dass wir nicht aufhören können, sie zu benutzen. Wenn du sie verbessern möchtest, öffne einen PR.
RAPTOR steht für Recursive Autonomous Penetration Testing and Observation Robot. Wir wollten es unbedingt RAPTOR nennen.
RAPTOR ist größtenteils KI-generierter Code. Die Menschen geben die Richtung vor, prüfen die Ausgabe und treffen Designentscheidungen; die KI schreibt die Implementierung. Mechanische Verifikation (Tests, statische Analyse, Korpus-Kalibrierung) hält die Qualitätslatte dort, wo sie sein muss, unabhängig davon, wer — oder was — den Code geschrieben hat.
raptor-Shell -- optional, wenn du nur die eigenständigen CLIs benötigst, siehe Vollständig eigenständig ausführen unten.pip install semgrep) für die statische Analyse. CodeQL ist optional, aber empfohlen.Für die Analyse-Dispatch-Schicht (das LLM, das einzelne Befunde analysiert) übernimmt Claude Code selbst standardmäßig alles -- es sind keine zusätzlichen API-Schlüssel erforderlich. Wenn du eine Multi-Modell-Analyse (z. B. Claude + GPT + Gemini) oder ein vollständig lokales Setup möchtest, musst du den/die anderen Anbieter konfigurieren. Siehe Ein anderes LLM verwenden unten.
git clone https://github.com/gadievron/raptor.git cd raptor
uv sync --locked
npm install -g @anthropic-ai/claude-code
pip install semgrep
export PATH="$PATH:$PWD/bin"
raptor
Der `raptor`-Launcher ist der empfohlene Weg, um eine Sitzung zu starten, und er funktioniert aus jedem Verzeichnis -- er ermittelt die RAPTOR-Installation, merkt sich das Verzeichnis, aus dem du gestartet hast (sodass Befehle wie `/scan` standardmäßig darauf zugreifen), führt die Pre-Flight-Vertrauens- und Projektprüfungen aus, lädt das Coverage-Tracking-Plugin und bereinigt die Umgebung, bevor er an Claude Code übergibt. Er akzeptiert außerdem einen optionalen Zielpfad und Flags wie `--project`, `--continue` und `--model` -- siehe `raptor --help`.
Das Ausführen von einfachem `claude` aus dem Repo-Verzeichnis heraus funktioniert ebenfalls -- Claude Code übernimmt RAPTORs Konfiguration aus dem Checkout -- aber du überspringst alles, was der Launcher oben tut: keine Pre-Flight-Prüfungen, kein Coverage-Tracking, und Befehle, die standardmäßig auf „das Verzeichnis, aus dem du dies ausgeführt hast" zugreifen, können es nicht sehen.
**Wichtig:** RAPTOR lädt seine Konfiguration aus dem Repo-Verzeichnis. Wenn du `claude` aus einem anderen Verzeichnis ausführst, erhältst du einfaches Claude Code, nicht RAPTOR. Der `raptor`-Launcher vermeidet diesen Fehlermodus vollständig.
### Option 2: In einem Container ausführen (empfohlen)
Die Verwendung von Containern ist eine gängige Sicherheitspraxis, um Agenten daran zu hindern, auf Bereiche deines Dateisystems zuzugreifen, auf die sie nicht zugreifen sollen, sowie um den Schadensradius von bösartigem Code zu begrenzen, der ausgeführt werden könnte (z. B. über einen Supply-Chain-Angriff). Das Image ist groß (etwa 6 GB). Es basiert auf dem Microsoft Python 3.12 devcontainer und fügt statische Analyse-, Fuzzing- und Browser-Automatisierungswerkzeuge hinzu.
Du kannst ein vorgefertigtes Image herunterladen:```bash
docker pull danielcuthbert/raptor:latest
oder bauen Sie es lokal mit dem enthaltenen Dockerfile:```bash
docker build -f .devcontainer/Dockerfile -t raptor:latest .
Das Image erwartet, dass das RAPTOR-Framework (dieses Repo) beim Start in `/workspaces/raptor` eingebunden wird. Optional können Sie einen Zielordner für die lokale Analyse einbinden.
Um den Container zu starten:```bash
docker run -it \
-v "$(pwd):/workspaces/raptor" \
raptor:latest
Um zusätzlich einen Zielordner einzubinden:```bash
docker run -it
-v "$(pwd):/workspaces/raptor"
-v "/path/to/target-folder:/workspaces/target"
raptor:latest
Fügen Sie `--privileged` hinzu, wenn Sie den deterministischen Debugger `rr` benötigen.