Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
raptor — 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. | Kitploit
Tools/GitHubGitHub/gadievron/raptor
Penetrationstest-FrameworksDynamische Analyse (Sandboxing)Exploit-FrameworksStatische Code-Analyse (SAST)SchwachstellenanalyseFuzzingBinäranalyseLieferkettensicherheitKI-gestütztes Reverse EngineeringRed Teaming
GitHub
3.6k562vor 22h 37mVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
gadievron/raptor

raptor

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.

Repository anzeigen
root@kitploit:~
╔═══════════════════════════════════════════════════════════════════════════╗
║                                                                           ║
║             ██████╗  █████╗ ██████╗ ████████╗ ██████╗ ██████╗             ║
║             ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔═══██╗██╔══██╗            ║
║             ██████╔╝███████║██████╔╝   ██║   ██║   ██║██████╔╝            ║
║             ██╔══██╗██╔══██║██╔═══╝    ██║   ██║   ██║██╔══██╗            ║
║             ██║  ██║██║  ██║██║        ██║   ╚██████╔╝██║  ██║            ║
║             ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝        ╚═╝    ╚═════╝ ╚═╝  ╚═╝            ║
║                                                                           ║
║             Autonomous Offensive/Defensive Research Framework             ║
║             Based on Claude Code (v3.0.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. Beachten Sie, dass CodeQL eine eigene Lizenz hat und keine kommerzielle Nutzung erlaubt.

Repository: https://github.com/gadievron/raptor


Was ist RAPTOR?

RAPTOR ist ein autonomes Security-Research-Framework, das auf Claude Code aufbaut (aber nicht daran gebunden ist – Sie können auch Ihre eigene Analyseschicht einbinden). Es verknüpft statische Analyse, Binäranalyse, LLM-gestützte Schwachstellenvalidierung, Exploit-Generierung und Patch-Erstellung zu einem einzigen Workflow, den Sie gegen eine Codebasis oder Binärdatei ausführen können.

Es ist keine ausgereifte Software. Es wurde in der Freizeit entwickelt, mit Begeisterung und Klebeband zusammengehalten, und es funktioniert gut genug, dass wir nicht aufhören können, es zu nutzen. Wenn Sie es verbessern möchten, eröffnen Sie einen PR.

RAPTOR steht für Recursive Autonomous Penetration Testing and Observation Robot. Wir wollten es unbedingt RAPTOR nennen.


Voraussetzungen

  • Claude Code mit einem aktiven Abonnement (Max, Pro, Team oder Enterprise) oder einem Anthropic-API-Schlüssel. Dies ist die Orchestrierungsebene – RAPTOR läuft innerhalb einer Claude-Code-Sitzung.
  • Python 3.10+ und Node.js 18+.
  • Semgrep (pip install semgrep) für die statische Analyse. CodeQL ist optional, aber empfohlen.

Für die Analyse-Dispatch-Ebene (das LLM, das einzelne Ergebnisse analysiert) übernimmt Claude Code standardmäßig alles – keine zusätzlichen API-Schlüssel erforderlich. Wenn Sie eine Multi-Modell-Analyse wünschen (z. B. Claude + GPT + Gemini), benötigen Sie API-Schlüssel für jeden Anbieter. Siehe Verwendung eines anderen LLMs weiter unten.

Schnellstart

Option 1: Manuelle Installation```bash

Clone the repo

git clone https://github.com/gadievron/raptor.git cd raptor

Install Python dependencies

pip install -r requirements.txt

Install Claude Code (if you don't already have it)

npm install -g @anthropic-ai/claude-code

Install Semgrep (required for scanning)

pip install semgrep

Launch RAPTOR

claude

root@kitploit:~
Wenn Sie `bin/` zu Ihrem PATH hinzufügen (oder `bin/raptor` irgendwo im PATH verlinken), können Sie `raptor` von jedem Verzeichnis aus ausführen – der Launcher löst die RAPTOR-Installation auf und richtet das Arbeitsverzeichnis automatisch ein.

**Wichtig:** RAPTOR lädt seine Konfiguration aus dem Repo-Verzeichnis. Wenn Sie `claude` von einem anderen Verzeichnis aus ausführen, erhalten Sie normales Claude Code, nicht RAPTOR. Gehen Sie entweder zuerst mit `cd` in das Repo oder verwenden Sie den `raptor`-Launcher.

### Option 2: Devcontainer (empfohlen)

Alles vorinstalliert. Öffnen Sie in VS Code mit **Dev Containers: Ordner in Container öffnen** oder ziehen Sie das vorgefertigte Image:```bash
docker pull danielcuthbert/raptor:latest
docker run --privileged -it -v "$(pwd):/workspaces/raptor" danielcuthbert/raptor:latest

Oder bauen Sie es selbst anstatt zu pullen:```bash docker build -f .devcontainer/Dockerfile -t raptor:latest . docker run --privileged -it -v "$(pwd):/workspaces/raptor" raptor:latest

root@kitploit:~
Das `--privileged`-Flag wird für den deterministischen Debugger `rr` benötigt. Das Image ist groß (ca. 6 GB). Es basiert auf dem Microsoft Python 3.12 Devcontainer und fügt Werkzeuge für statische Analyse, Fuzzing und Browser-Automatisierung hinzu.

Sobald du drin bist, sag einfach "hi", um loszulegen, oder springe direkt zu einem Befehl.

---

## Was dich beim ersten Start erwartet

Das Einfachste, was du tun kannst:```
/scan /path/to/code

Dies führt Semgrep (und CodeQL, falls installiert) gegen das Ziel aus, dedupliziert Funde und schreibt einen SARIF-Bericht. Keine LLM-Analyse, keine API-Schlüssel außer Claude Code. Dauert in einem typischen Repository einige Minuten.

Um LLM-gestützte Validierung hinzuzufügen:``` /agentic /path/to/code

root@kitploit:~
Dies führt die vollständige Pipeline aus: Scannen, Deduplizieren, dann Senden jedes Fundes durch die Validierungsstufen (A-F). Bei einer mittelgroßen Codebasis mit ~50 Funden sind 10-30 Minuten und Kosten von 2-8 US-Dollar für die Analyse-Ebene der LLM zu erwarten (je nach Modell). Die Standard-Kostenobergrenze beträgt 10 US-Dollar pro Lauf; anpassbar mit `--max-cost-usd`.

**Kostenhinweis:** Die Claude Code Orchestrierungsschicht verwendet Ihr Claude-Abonnement. Die Analyse-Dispatch-Schicht führt separate LLM-API-Aufrufe durch, die pro Token abgerechnet werden. Wenn Sie nur Claude Code als Analysemodell verwenden (Standard), entstehen keine zusätzlichen Kosten über Ihr Abonnement hinaus. Wenn Sie externe Modelle konfigurieren (OpenAI, Gemini, etc.), werden diese API-Aufrufe von diesen Anbietern in Rechnung gestellt.

## Sicherheitsmodell

RAPTOR führt LLM-generierten Code aus und analysiert nicht vertrauenswürdige Repositories. Unterprozesse, die nicht vertrauenswürdige Inhalte verarbeiten, werden mit Linux-Namespaces, Landlock und seccomp in einer Sandbox ausgeführt. Die Sandbox blockiert Netzwerkzugriff, schränkt die Sichtbarkeit des Dateisystems ein und begrenzt den Ressourcenverbrauch. Siehe `docs/sandbox.md` für das vollständige Bedrohungsmodell und die Konfiguration.

Umgebungsvariablen, die Code in die Launcher-Kette einschleusen könnten, werden beim Start entfernt (`core/security/_dangerous_env_strip.sh`). Dateipfade aus gescannten Repositories werden niemals in Shell-Strings interpoliert – alle Unterprozessaufrufe verwenden listenbasierte Argumente.

## Was RAPTOR kann

| Befehl | Funktion | Status |
|---------|-------------|--------|
| `/agentic` | Vollautonomer Workflow: scannen, validieren, ausnutzen, patchen | Stable |
| `/scan` | Statische Analyse mit Semgrep und CodeQL | Stable |
| `/understand` | Angriffsfläche kartieren, Datenflüsse verfolgen, Schwachstellenvarianten jagen | Stable |
| `/binary` | Black-Box-Binäruntersuchung, Laufzeitnachweise, Graphabfragen und Übergabe | Beta |
| `/validate` | Mehrstufige Validierungspipeline zur Ausnutzbarkeit (Stufen 0-F) | Stable |
| `/codeql` | CodeQL-Tiefenanalyse mit SMT-Datenfluss-Vorscreening | Stable |
| `/sca` | Software-Kompositionsanalyse: Abhängigkeiten, Sicherheitshinweise, Lieferkettensignale, SBOMs und Fixes | Beta |
| `/exploit` | Proof-of-Concept-Exploitcode generieren | Beta |
| `/patch` | Sichere Patches für bestätigte Schwachstellen generieren | Beta |
| `/fuzz` | Binär-Fuzzing mit AFL++ und Absturzanalyse | Stable |
| `/crash-analysis` | Autonome Ursachenanalyse für C/C++-Abstürze | Stable |
| `/oss-forensics` | Evidenzgestützte forensische Untersuchung für GitHub-Repositories | Stable |
| `/project` | Benannte Arbeitsbereiche zum Organisieren von Läufen und Verfolgen von Funden über die Zeit | Stable |
| `/threat-model` | Projektspezifische Bedrohungsmodelle erstellen, prüfen und verwalten | Stable |
| `/sage` | Persistente Gedächtnisschicht (speichern, abrufen, verknüpfen, bestätigen) | Stable |
| `/frida` | Dynamische Instrumentierung mit Frida | Alpha |
| `/web` | Webanwendungsscanning | Alpha/stub |

## Wie die Pipeline funktioniert

Beginnen Sie mit der Erstellung eines Projekts, damit alle Ihre Läufe an einem Ort landen:```
/project create myapp --target /path/to/code   # create a project first
/project use myapp                             # set it as active
/understand --map                              # map the attack surface
/agentic --threat-model --validate             # map, model, scan, validate
/project findings                              # review everything in one place

Für ein kompiliertes Artefakt ist der entsprechende Ausgangspunkt:```text /binary investigate /path/to/binary # build the evidence-backed binary map /binary graph --edges --json # query the persisted graph /binary trace-parser # collect runtime parser evidence /binary harness # draft a harness only when the boundary is explicit

root@kitploit:~
`/understand` erstellt eine Kontextkarte von Einstiegspunkten, Vertrauensgrenzen und Senken, noch bevor eine Zeile gescannt wird. `/agentic` führt dann Semgrep und CodeQL aus, dedupliziert die Funde und leitet jeden einzelnen zur Validierung mittels der Exploitation-Validator-Methodik weiter:

Mit `--threat-model` erstellt RAPTOR zuerst die Karte, erzeugt `threat-model.json` und `THREAT_MODEL.md`, falls das Projekt diese noch nicht hat, und speist dann eine kompakte Version in `/understand`, die autonome Analyse und `/validate` ein. Existierende Projekt-Bedrohungsmodelle bleiben erhalten, es sei denn, Sie übergeben `--threat-model-refresh`; veraltete Fallback-Karten werden abgelehnt, es sei denn, Sie übergeben explizit `--threat-model-use-stale`. Außerdem werden kartierte, ungeprüfte Abläufe in Kandidaten-SARIF umgewandelt, sodass Scanner-Lücken den Durchlauf nicht abbrechen. Es handelt sich um einen vom Betreiber kontrollierten Kontext, keinen magischen Beweis: Funde benötigen weiterhin Code-Belege oder eine oraclegestützte Bestätigung. Siehe `docs/threat-model.md`.

- Stufe A: Ist das Muster tatsächlich eine Schwachstelle oder handelt es sich um Musterabgleichsrauschen des Tools?
- Stufe B: Was benötigt ein Angreifer, um es zu erreichen, und was steht im Weg?
- Stufe C: Existiert der Codepfad tatsächlich? Kann er von außen erreicht werden?
- Stufe D: Endgültige Entscheidung – handelt es sich um Testcode, sind unrealistische Vorbedingungen erforderlich, oder ist das Modell unsicher?
- Stufe E: Machbarkeit einer binären Exploit-Ausnutzung (sofern ein kompiliertes Artefakt verfügbar ist)
- Stufe F: Selbstüberprüfung – hat eine frühere Stufe Unentschlossenheit gezeigt oder sich widersprochen?

Funde, die die Validierung bestehen, erhalten Exploit-PoCs und Patches. Am Ende wird eine querschnittliche Analyse der Funde durchgeführt, um gemeinsame Ursachen und Angriffsketten zu finden.

`/validate` führt dieselbe Pipeline als eigenständigen Schritt aus, wenn Sie bereits Funde aus einem vorherigen Scan haben.

Bei einem kompilierten Artefakt führt `/binary <path>` nun eine evidenzgesteuerte Untersuchung durch, anstatt dem Betreiber einen Haufen roher Reverse-Engineering-Artefakte vorzulegen. Unter der Haube erstellt es weiterhin das SHA-256-gebundene Manifest, das Evidenzledger, die Kontextkarte, die Checkliste und die SQLite-Grafik aus Dateimetadaten, Importen und radare2-Xrefs. Mach-O-Apps erhalten zudem eine Slice-Inventarisierung, Bundle-Metadaten sowie Objective-C-/Swift-Klassen-Selektoren; hochwertiger Pseudocode wird dauerhaft gespeichert, anstatt im Durchlauf zu verschwinden. PE-DLL-Exporte, Windows-Treiber-Dispatcher und Linux-Kernelmodul-ioctl-Handler werden ebenfalls als eigene Einstiegskandidaten behandelt, wobei die PE-Architektur aus dem COFF-Header und nicht durch Raten gelesen wird. Die Untersuchungsebene fragt dann diese Grafik ab, bewertet externe Einstiegspunkte vor generischen Senken-Hinweisen, entdeckt deklarierte Helfer-/Geschwister-Binärdateien und erstellt einen kompakten Bericht, der in Fakten, strukturelle Schlussfolgerungen und unbewiesene Hypothesen unterteilt ist. Frida-Beobachtungen, Fuzz-Crash-Zeugen, explizite Z3-Prüfungen und Binärdateivergleiche können später stärkere Beweise hinzufügen. RAPTOR behält auch den internen Aufrufgraphen bei, der benötigt wird, um begrenzte Einstiegs-zu-Parser-Kandidaten wiederherzustellen, sodass ein App-Callback auf die interne Funktion eingegrenzt werden kann, die tatsächlich `XML_Parse`, `d2i_X509`, `jpeg_read_header` oder eine andere echte Parser-Oberfläche aufruft, ohne so zu tun, als sei dies ein Taint-Beweis. `/binary trace-parser <run-dir>` ist die explizite dynamische Folgemaßnahme: Es führt die enge Frida-Parser-Spur aus und aktualisiert dann dieselbe Kontextkarte, Übergabe, Grafik und Untersuchungsbericht an Ort und Stelle. `/binary investigate --active` erstellt zuerst eine Karte und startet nur dann eine echte Fuzz-Kampagne, wenn eine konkrete Harness-Grenze existiert; App-, DLL- und Treiberziele erhalten stattdessen einen Harness- oder Snapshot-Schritt. `/binary harness` schreibt eine evidenzgestützte Harness-Spezifikation für den gewählten Einstiegspunkt und gibt nur dann Quellkandidaten aus, wenn der ABI- oder IOCTL-Vertrag explizit ist. Es blufft sich nicht von „`memcpy` existiert“ zu „dies ist ausnutzbar“: Importe, Selektoren und Aufrufkanten bleiben Kandidaten, bis etwas Mechanisches mehr beweist. Siehe `docs/binary-analysis.md`.

---

## Software-Kompositionsanalyse

`/sca` analysiert die Abhängigkeits- und Lieferkettenseite eines Projekts. Es handelt sich nicht nur um eine CVE-Suche in der Requirements-Datei: RAPTOR entdeckt Manifeste, Lockfiles, Inline-Installationsbefehle, Workflow-Abhängigkeiten und Quellpakete von Containern/Base-Images und normalisiert sie dann zu einer einheitlichen Abhängigkeitsansicht.

Der Scan reichert Abhängigkeiten an mit OSV-Advisonies, CISA KEV, EPSS, CISA Vulnrichment/SSVC, Erreichbarkeit, Exploit-Evidenzsignalen, Hygiene-Checks, Supply-Chain-Heuristiken, Lizenzrichtlinien-Funden und optionaler LLM-Überprüfung/Triage. Er gibt RAPTOR-native Funde sowie SBOM- und CI-freundliche Ausgaben aus:

- `findings.json` – kanonische RAPTOR-Funde
- `report.md` – menschenlesbare Zusammenfassung
- `sbom.cdx.json` – CycloneDX-SBOM mit VEX-Daten
- `findings.sarif` – GitHub-/GitLab-Code-Scanning-Ausgabe

Häufige Befehle:```bash
python3 raptor.py sca --repo /path/to/project
python3 raptor.py sca --repo /path/to/project --no-llm
python3 raptor.py sca --repo /path/to/project --fail-on-severity high --fail-on-kev
python3 raptor.py sca --repo /path/to/project fix
python3 raptor.py sca check PyPI django 4.2.10

Nützliche Unterbefehle sind fix, check, upgrade, diff, verify, health, render, suppress und clean-cache. Siehe docs/sca.md für die vollständige Referenz.


Z3 SMT integration

RAPTOR verfügt über eine zweischichtige Z3-Integration (pip install z3-solver). Sie ist optional. Alles funktioniert auch ohne sie, aber die Ergebnisse sind damit besser.

Dataflow pre-screening (CodeQL)

Wenn CodeQL ein Pfadergebnis liefert, werden die Pfadbeschränkungen vor jedem LLM-Aufruf auf Erfüllbarkeit geprüft. Pfade, die nachweislich unerreichbar sind, werden sofort verworfen. Für erreichbare Pfade erzeugt Z3 konkrete Kandidateneingaben, die in den Analyse-Prompt einfließen, sodass das LLM etwas Konkretes zum Nachdenken hat, anstatt über abstrakte Muster.

One-gadget constraint analysis (binary feasibility)

Bei der Bewertung der Durchführbarkeit von Binary-Exploits prüft Z3, ob die Register- und Speicherbeschränkungen eines One-Gadgets im konkreten Crash-Zustand erfüllbar sind. Gadgets werden nach tatsächlicher Erreichbarkeit statt nach Heuristiken bewertet, sodass Sie Zeit mit Gadgets verbringen, die tatsächlich funktionieren können.

Z3 ist im Devcontainer vorinstalliert. Für manuelle Installationen: pip install z3-solver.


orjson (optional)

Wenn orjson installiert ist (pip install orjson), verwendet RAPTOR es für das gesamte JSON-Parsing und die Serialisierung. Der Geschwindigkeitsvorteil ist bei großen Inventaren und Fundmengen relevant. Ohne es funktioniert alles identisch über die stdlib json – der Wechsel ist transparent.


Running offline and in air-gapped pipelines

Die benutzerdefinierten Regeln von RAPTOR unter engine/semgrep/rules/ sind vollständig lokal und laufen ohne Netzwerkzugriff.

Für Registry-Pakete (p/security-audit, p/owasp-top-ten, usw.) ist das Cache-Verzeichnis leer ausgeliefert. Ein Cache-Tool (engine/semgrep/tools/cache-packs.py) übernimmt die Befüllung:```bash

On a connected machine — update the local cache directly:

python3 engine/semgrep/tools/cache-packs.py update

Or fetch into a zip bundle for airgap transfer:

python3 engine/semgrep/tools/cache-packs.py fetch

→ produces semgrep-cache-YYYY-MM-DD.zip

On the airgapped machine — import the bundle:

python3 engine/semgrep/tools/cache-packs.py import semgrep-cache-2026-07-16.zip

Check what's cached:

python3 engine/semgrep/tools/cache-packs.py list

root@kitploit:~
Sobald befüllt, löst der Scanner Paket-IDs in lokale Dateien auf, und es erfolgt kein Netzwerkaufruf. Ohne den Cache versucht RAPTOR, Registry-Pakete von semgrep.dev zum Scan-Zeitpunkt abzurufen; falls offline, verwirft es ungecachte Pakete anmutig und führt nur mit benutzerdefinierten Regeln aus.

CodeQL benötigt Netzwerkzugriff nur während der Ersteinrichtung, um das CLI und Abfragepakete herunterzuladen. Nach der Installation läuft es offline.

---

## Benutzerdefinierte Regeln

RAPTOR liefert 185 benutzerdefinierte statische Analyseregeln, die adversariell getestet wurden, um False Positives zu eliminieren:

- **Semgrep (123 Regeln)** — Taint-Tracking- und Pattern-Regeln für Python, Go, Java und JS/TS. Deckt SQLi, XSS, SSRF, SSTI, Command Injection, Deserialisierung, XXE, LDAP/NoSQL-Injection, Path Traversal, Open Redirect, Log-/Header-Injection, Eval-Injection, ReDoS, Prototype Pollution, JWT-Fehlkonfiguration, schwache Kryptografie, unsicheres TLS und hartcodierte Geheimnisse ab.
- **Coccinelle (54 Regeln)** — strukturelles Matching für C/C++. Speichersicherheit (Double Free, Use-after-Free, Free von Nicht-Base-Pointer, Free von Stack-Array, mmap'd-Speicher, Use-after-Close), Integer-Fehler (Überlauf, Vorzeichenerweiterung, doppeltes sizeof), Ressourcenlecks (popen/fclose-Fehlpaarung, fdopendir-Double-Close), Pufferbehandlung (strncpy ohne NUL, copy_user-Größenkonflikt, malloc/strlen-Off-by-One), Signal-Handler-Sicherheit, API-Missbrauch (fcntl-Flag-Domain, SIGKILL/SIGSTOP, doppeltes Byte-Swap, inet_ntoa-statischer Puffer), Compiler-Dead-Store-Eliminierung, Kernel-IS_ERR/PTR_ERR-Verwechslung, Format-String-Injection, TOCTOU-Races und mehr.
- **CodeQL (8 Abfragen)** — interprozedurales Taint-Tracking für C++ (Format-String-Injection, Integer-Truncation, Use-after-Move, Iterator-Invalidierung) und Java (XXE, unsichere Deserialisierung, Log-Injection, Spring SSRF).

Durchstöbern Sie die Regeln direkt: `engine/semgrep/rules/`, `engine/coccinelle/rules/`, `engine/codeql/queries/`. Diese ergänzen die Registry-Pakete (`p/security-audit`, `p/owasp-top-ten`, `p/0xdea`, `p/trailofbits`), die ~950 zusätzliche Regeln bereitstellen – die Überschneidung ist minimal.

---

## Verwenden eines anderen LLM

RAPTOR verfügt über zwei separate Modellebenen, und es ist hilfreich zu wissen, wie beide funktionieren, bevor Sie etwas ändern.

Die **Orchestrierungsebene** ist immer Claude Code. Die CLAUDE.md, Skills und Befehle werden alle als Claude Code-Anweisungen ausgeführt. Um zu ändern, welches Claude-Modell RAPTOR orchestriert, verwenden Sie das `--model`-Flag von Claude Code oder den Befehl `/model` innerhalb einer Sitzung.

Die **Analyse-Dispatch-Ebene** ist das LLM, das einzelne Schwachstellenbefunde analysiert. Diese ist von der Orchestrierungsebene getrennt und kann jeder unterstützte Anbieter sein. Konfigurieren Sie sie in `~/.config/raptor/models.json`:```json
{
  "models": [
    {
      "provider": "anthropic",
      "model": "claude-opus-4-6",
      "api_key": "sk-ant-...",
      "role": "analysis"
    },
    {
      "provider": "openai",
      "model": "gpt-5.4",
      "api_key": "sk-...",
      "role": "analysis"
    },
    {
      "provider": "anthropic",
      "model": "claude-sonnet-4-6",
      "api_key": "sk-ant-...",
      "role": "aggregate"
    }
  ]
}

Oder überspringen Sie die Konfigurationsdatei und setzen Sie Umgebungsvariablen. RAPTOR wird sie automatisch erkennen:```bash export ANTHROPIC_API_KEY=sk-ant-... # Anthropic Claude export OPENAI_API_KEY=sk-... # OpenAI export GEMINI_API_KEY=... # Google Gemini export MISTRAL_API_KEY=... # Mistral export OLLAMA_HOST=http://localhost:11434 # Local Ollama

root@kitploit:~
| Rolle | Aufgabe |
|------|---------|
| `analysis` | Validiert und analysiert jeden Befund (Schritte A-F) |
| `code` | Schreibt Exploit-PoCs und Patch-Code |
| `consensus` | Zweitmeinung über echte Positive |
| `aggregate` | Optional. Von LLM verfasste narrative Synthese auf Basis der deterministischen Multi-Modell-Korrelation, geschrieben in `aggregation.json` und den endgültigen `agentic-report.md` |
| `fallback` | Wird verwendet, wenn das primäre Modell fehlschlägt oder Ratenlimits erreicht |

Wenn keine Rollen festgelegt sind, übernimmt das erste Modell in der Liste alles. Für eine Multi-Modell-Quellcode-Analyse konfigurieren Sie zwei oder mehr `analysis`-Modelle – standardmäßig erhalten Sie die deterministische Korrelation. Die Rolle `aggregate` ist optional und fügt eine von einem LLM verfasste Zusammenfassung hinzu:```bash
python3 raptor.py agentic --repo /code \
  --model claude-opus-4-6 \
  --model gpt-5.4 \
  --aggregate claude-sonnet-4-6

Budgetkontrolle:```bash

Cap analysis-layer LLM spend at $5 for this run (default: $10)

python3 raptor.py agentic --repo /code --max-cost-usd 5.00

root@kitploit:~
Ollama funktioniert für die Analyse, erzeugt aber unzuverlässigen Exploit- und Patch-Code. Für Code-Generierungsaufgaben verwenden Sie ein Frontier-Modell.

### Fast-tier short-circuit + das model scorecard

Wenn Ihr Analyse-Stufen-Modell ein günstigeres Geschwistermodell desselben Anbieters hat (Anthropic Opus → Haiku, OpenAI 5.x → 4o-mini, Gemini Pro → Flash-Lite, Mistral Large → Small), verwendet RAPTOR es als Prefilter für Consumer, die in das Substrat eingebunden sind (derzeit codeql; SCA und andere folgen später). Das günstige Modell short-circuits nur bei **zuversichtlichen Falsch-Positiven**; mehrdeutige Fälle und zuversichtliche True Positives durchlaufen immer die vollständige Analyse. Das Vertrauen akkumuliert pro `(model, decision_class)`-Zelle – RAPTOR zeichnet die Übereinstimmung zwischen günstig und vollständig auf und short-circuits erst, wenn die Wilson-95%-Obergrenze der Fehlerrate der Zelle bei 5 % oder darunter liegt.

Um zu prüfen, worin Ihre Modelle gut sind, verwenden Sie `/scorecard` (oder direkt: `libexec/raptor-llm-scorecard list`). Die Scorecard ist global (Erkenntnisse werden projektübergreifend übernommen) und persistiert unter `out/llm_scorecard.json`.

---

## Projekte

Ohne Projekt erhält jeder Durchlauf sein eigenes, mit Zeitstempel versehenes Verzeichnis unter `out/`. Mit einem Projekt wird alles an einem Ort abgelegt, und Sie erhalten zusammengeführte Ergebnisse, Abdeckungsverfolgung und Diffs zwischen Durchläufen.```bash
/project create myapp --target /path/to/code -d "Short description"
/project use myapp

/scan
/understand --map
/validate

/project status                # all runs, pass/fail, timestamps
/project findings              # merged findings across all runs
/project findings --detailed   # per-finding detail
/project coverage --detailed   # which files were reviewed
/project diff myapp run1 run2  # compare two runs
/project report                # full merged report
/project clean --keep 3        # remove old runs, keep the last 3
/project export myapp /tmp/myapp.zip
/project none                  # clear active project

Architecture

RAPTOR besteht aus zwei Ebenen.

Die Python-Ausführungsebene (raptor.py, packages/, core/, engine/) übernimmt die schwere Arbeit: Ausführen von Semgrep und CodeQL, Verwalten von Unterprozessen, Parsen von SARIF, Deduplizieren von Fundstellen, Versenden von LLM-API-Aufrufen, Nachverfolgen von Kosten, Schreiben von Ausgabedateien. Sie trifft keine Entscheidungen. Sie führt aus.

Die Claude Code-Entscheidungsebene (.claude/, tiers/, CLAUDE.md) trifft die Entscheidungen: welche Fundstellen priorisiert werden sollen, wie Ergebnisse zu interpretieren sind, was das Angriffsszenario ist, ob der Exploit realistisch ist. Implementiert als Claude Code-Fähigkeiten, -Befehle und -Agenten, die schrittweise geladen werden.``` CLAUDE.md always loaded -- bootstrap, routing, security rules .claude/commands/ slash commands (/agentic, /scan, /validate, etc.) .claude/skills/ methodology detail, loaded on demand tiers/ adversarial thinking, recovery, expert personas .claude/agents/ specialist sub-agents (offsec, crash analysis, forensics)

root@kitploit:~
Die Aufteilung bedeutet, dass Sie die Python-Ebene aus einer CI-Pipeline ausführen können (`python3 raptor.py scan --repo …`) und strukturierte SARIF-Ausgabe ohne Claude Code erhalten, oder sie interaktiv mit dem vollständigen agentischen Workflow ausführen können.

---

## OSS-Forensik

`/oss-forensics` untersucht öffentliche GitHub-Repositories unter Verwendung von Beweisen aus mehreren Quellen: der GitHub-API, dem GH-Archiv (unveränderliche Ereignishistorie über BigQuery), der Wayback Machine und der lokalen Git-Historie. Es führt eine strukturierte Pipeline von der Beweiserhebung über die Hypothesenbildung bis hin zu einem abschließenden forensischen Bericht aus.

Erfordert `GOOGLE_APPLICATION_CREDENTIALS` für den BigQuery-Zugriff. Siehe `.claude/commands/oss-forensics.md` für Details.

---

## Experten-Personas

Sieben Experten-Personas sind auf Anfrage verfügbar. Laden Sie eine, wenn Sie eine andere Perspektive auf einen Befund oder eine bestimmte Technik wünschen:```
Exploit Developer (Mark Dowd)                  Exploit PoC generation
Crash Analyst (Charlie Miller / Halvar Flake)  Crash analysis and exploitability assessment
Security Researcher                            General adversarial code review
Patch Engineer                                 Secure fix generation
Penetration Tester                             Realistic attack scenario assessment
Fuzzing Strategist                             Corpus design and triage
Binary Exploitation Specialist                 ROP, heap, and memory corruption

Sagen Sie Claude, welches verwendet werden soll, z.B. „Use the Binary Exploitation Specialist“.


Dokumentation

Siehe docs/README.md für das vollständige Verzeichnis. Wichtige Anleitungen:


Mitwirken

RAPTOR ist Open Source. Gute Einstiegspunkte, wenn Sie mitwirken möchten:

  • Ein ordentliches Web-Exploitation-Modul (das aktuelle ist ein Stub)
  • SSRF-Regelabdeckung für annotationsgesteuerte Frameworks (Spring @RequestParam, FastAPI typed params) – Semgrep kann diese Quellen nicht abgleichen, daher sind alternative Ansätze willkommen
  • YARA-Signaturgenerierung
  • Portierungen auf andere KI-Codierungstools (Cursor, Windsurf, Copilot, Cline)
  • Bessere Firmware-Analyseabdeckung
  • Alles, was Ihrer Meinung nach fehlt

Releases werden als vX.Y.Z getaggt und automatisch von CI gebaut. Commit-Präfixe bestimmen, was ins Changelog kommt: feat: für neue Funktionen, fix: für Fehlerbehebungen, security: für Sicherheitsänderungen, docs: für Dokumentation. Alles ohne Präfix landet unter „Other changes“. Keine strenge Konvention erforderlich, aber es hilft.

Reichen Sie Pull Requests ein. Chatten Sie mit uns auf dem #raptor-Kanal im Prompt||GTFO Slack: https://join.slack.com/t/promptgtfo/shared_invite/zt-3v2b4sll3-SfyzFRw2lykx_XQX7F3uNQ


Lizenz

MIT – Copyright (c) 2025-2026 Gadi Evron, Daniel Cuthbert, Thomas Dullien (Halvar Flake), Michael Bargury, John Cartwright.

Siehe LICENSE für den vollständigen Text. Überprüfen Sie die Lizenzen aller Abhängigkeiten vor der kommerziellen Nutzung – insbesondere CodeQL erlaubt keine kommerzielle Nutzung.

Issues: https://github.com/gadievron/raptor/issues

Tool herunterladen
DateiInhalt
docs/commands.mdVollständige Slash-Befehlsreferenz mit allen Flags
docs/architecture.mdCodebase-Struktur und Verzeichnisbaum
docs/llm.mdLLM-Anbieterkonfiguration, Bedrock, Multi-Modell-Workflows
docs/sandbox.mdProzessisolierung: Profile, Landlock, Namespaces
docs/validation.mdExploitability-Validierungs-Pipeline (Stufen 0–1)
docs/static-analysis.mdSemgrep- und Coccinelle-Regeln
docs/codeql.mdCodeQL-Integration und autonome Analyse
docs/binary-analysis.mdBinary-Orakel, /binary, Exploit-Durchführbarkeit
docs/fuzzing.mdAFL++ und libFuzzer
docs/crash-analysis.mdAutonome Crash-Ursachenanalyse
docs/sca.mdSoftware Composition Analysis
docs/frida.mdDynamische Instrumentierung
docs/security.mdRAPTORs eigenes Sicherheitsmodell
docs/threat-model.mdProjektspezifische Bedrohungsmodell-Funktion
docs/python-cli.mdPython-CLI-Referenz für Scripting und CI
docs/concepts.mdKernkonzepte: Zwei-Ebenen-Modell, Finding-Lebenszyklus, Auswählen eines Befehls
docs/agentic.mdAutonomer Workflow: /agentic-Pipeline, Anreicherungsflags, Multi-Modell
docs/dependencies.mdExterne Tools, Versionen und Lizenzen
tiers/personas/README.mdReferenz zu Experten-Personas