
cerberus-re ist eine lokale, Apple-fokussierte Reverse-Engineering-Workbench zum Aufbau einer wiederholbaren dreiköpfigen statischen/dynamischen/Instrumentierungs-Schleife um Ghidra, LLDB und Frida.
cerberus-re ist eine lokale, auf Apple spezialisierte Reverse-Engineering-Workbench zum Aufbau einer wiederholbaren dreiköpfigen Schleife aus statischer/dynamischer/Instrumentierung rund um Ghidra, LLDB und Frida.
Es wurde für Analysten und Codierungsagenten entwickelt, die dauerhafte Artefakte anstelle von reinen Terminal-Notizen benötigen:
Runtime-Attach und Target-Aufruf sind immer explizit. Das Tooling bevorzugt eigene Prozesse, No-Attach-Validierung, generierte Artefakte und begrenzte Sonden, deren Annahmen zusammen mit den Beweisen aufgezeichnet werden.
Die öffentliche Workbench ist eine allgemeine Apple-Binäranalyse-Infrastruktur: Ghidra-Imports und -Exports, LLDB/Frida-Korrelation, Mach-O/ObjC/Swift/XPC-Beweise und portable Berichte. Sie ist kein projektspezifisches Forschungstagebuch und kein generisches langlaufendes Agentenspeichersystem. Domänenspezifische Forschungsabläufe sollten in privaten Overlays oder dauerhaften Laufartefakten stattfinden, während der generische langlaufende Zustand in long-run-agent gehört.
Verwenden Sie Cerberus RE zusammen mit long-run-agent für umfangreiche Reverse-Engineering-Arbeiten. Cerberus RE bietet die statische, dynamische und instrumentierende Workbench; long-run-agent bewahrt Missionszustand, Behauptungen, Artefakte, Fehler, Friktionen und nächste Aktionen, sodass längere Untersuchungen nachvollziehbar und fortsetzbar bleiben. Cerberus RE kann eigenständig für begrenzte Aufgaben ausgeführt werden, aber für Benchmark- und Release-Workflows sollte die Kombination cerberus-re + long-run-agent bevorzugt werden.
Für einen frischen Checkout beginnen Sie mit dem Abhängigkeitsinstaller im Dry-Run-Modus:
python3 scripts/install_dependencies.py
python3 scripts/install_dependencies.py --execute
source .venv/bin/activate
cerberus-re bootstrap
Der Installer erstellt eine lokale virtuelle Umgebung, installiert Cerberus RE und fügt Frida-Python-Tooling hinzu. Unter macOS mit Homebrew kann er Ghidra/Java und Node installieren. Unter Linux und Windows gibt er paketmanagerspezifische Befehle zur Überprüfung aus, anstatt Systeminstallationen automatisch auszuführen.
Falls Ihre Systemabhängigkeiten bereits vorhanden sind:
pip install -e .
cerberus-re bootstrap
Optionale Skill-Installation:
cerberus-re install --host codex
cerberus-re install --host claude
cerberus-re install --host both
Standardpfade können mit Umgebungsvariablen überschrieben werden, die in templates/config.env.example dokumentiert sind.
cerberus-re doctor
cerberus-re bootstrap
cerberus-re import analyze /path/to/Binary my_project
cerberus-re export apple-bundle my_project BinaryName
cerberus-re bridge arm my_project BinaryName
cerberus-re bridge call /functions/search '{"query":"interestingName"}'
cerberus-re validate lldb-trace my_project BinaryName --launch-cmd /path/to/host --symbols '-[Owner selector:]'
cerberus-re validate lldb-trace my_project BinaryName --launch-cmd /path/to/host --symbols FirstExport --symbols SecondExport
cerberus-re frida validate-scripts
cerberus-re frida recheck-attach --target /path/to/owned-host --symbol '-[Owner selector:]' --allow-runtime
cerberus-re export runtime-enrich my_project BinaryName /path/to/runtime_hits.json
cerberus-re export xpc-surface my_project BinaryName
cerberus-re export xpc-graph my_project:BinaryName other_project:OtherBinary
cerberus-re export function-dossier my_project BinaryName --function '-[Owner selector:]'
cerberus-re export triage-bundle my_project BinaryName --top-candidates 25
cerberus-re polish release --mode quick --strict-command-surface
Wenn export xpc-surface Nullzahlen meldet, überprüfen Sie warnings und missing_input_count, bevor Sie dies als Abwesenheitsbeweis verwenden. Übergeben Sie --bundle-dir oder explizite Export-JSON-Pfade, wenn Sie ein Apple-Bundle analysieren, das außerhalb des Standard-Exportverzeichnisses gespeichert ist.
Verwenden Sie python3 -m cerberus_re_skill oder cerberus-re zur Automatisierung. Generischer langlaufender Laufstatus, Steuerungsdateien, dauerhafter Projektspeicher und Agentenabschluss-Orchestrierung gehören in long-run-agent, nicht in diese Workbench.
python3 scripts/agent_benchmark.py list
python3 scripts/agent_benchmark.py scaffold --runner codex --configuration cerberus-re-long-run-agent --output benchmarks/results/example/codex/cerberus-re-long-run-agent
python3 scripts/agent_benchmark.py validate --bundle benchmarks/results/example/codex/cerberus-re-long-run-agent
Verwenden Sie benchmarks/agent_benchmark.v1.json als maschinenlesbare Quelle der Wahrheit. Ein gerüstetes Bundle ist erst dann ein Ergebnis, nachdem ein echter Läufer dauerhafte Befehle, Behauptungen, Artefakte, Fehler und Metriken aufgezeichnet hat.
SKILL.md: agentenorientierte Betriebsanleitung.cerberus_re_skill/: Python-CLI und Berichtsersteller.scripts/: Installer, Hilfsskripte, eingebundene Shell-Bibliotheken und Ghidra-Java-Skripte.bridge-extension/: Ghidra-Bridge-Quelle.references/: öffentliche Befehls- und Artefaktreferenzen.benchmarks/: Benchmark-Definition, Ergebnisbundle-Gerüst und zukünftige öffentliche Ergebnisformen.tests/: Smoke- und Regressionstests.Vor der Veröffentlichung eines Meilensteins:
python3 -m unittest discover -s tests
python3 -m compileall cerberus_re_skill scripts tests
python3 -m cerberus_re_skill polish release --mode quick --strict-command-surface
python3 -m cerberus_re_skill bridge audit
git diff --check
Apache-2.0. Siehe LICENSE.