KI-Tools

REA: Reverse Engineering mit KI-Agenten und überprüfbaren Befunden

REA verbindet KI-Agenten mit Reverse-Engineering-Werkzeugen. So nutzt du Version 6.4.0, prüfst Befunde und erkennst Release-, Datenschutz- und Rechtsgrenzen.

Kurzfassung

REA, ausgeschrieben Reverse Engineer Anything, verbindet KI-Agenten über MCP mit lokalen Reverse-Engineering-Werkzeugen. Statt eine App auf Knopfdruck zu klonen, hilft es dir, Funktionen, Abhängigkeiten und beobachtetes Verhalten nachvollziehbar zu untersuchen. Der veröffentlichte Paketstand 6.4.0 erweitert unter anderem Agenten-Setup und Android-Workflows. Der entscheidende Nutzen sind überprüfbare Befunde für konkrete Fragen, nicht ein garantiert korrekter Nachbau. Analyse-Engines, Modellbetrieb, sichere Ausführungsumgebung und Rechte am untersuchten Programm bleiben deine Verantwortung.

Was ist REA und wofür brauchst du es?

Beim Reverse Engineering gehst du vom vorhandenen Programm zu seiner Funktionsweise zurück. Du untersuchst etwa eine ausführbare Datei, ein ausgeliefertes JavaScript-Paket oder das Verhalten einer Anwendung. Anders als bei gewöhnlicher Codearbeit steht der ursprüngliche Quelltext nicht unbedingt zur Verfügung.

REA von GitHub-Owner morluto stellt dafür eine Kommandozeile und einen MCP-Server bereit. Das Model Context Protocol macht externe Werkzeuge für einen Agenten aufrufbar. Der Agent kann damit beispielsweise Funktionen untersuchen, Aufrufbeziehungen verfolgen oder Module einer Electron-App erfassen. Laut README des veröffentlichten Tags analysiert REA lokal; die Ergebnisse gehen anschließend an deinen Agenten.

Die sinnvolle Frage lautet deshalb nicht: „Kann die KI diese komplette App kopieren?“ Besser ist: „Welches Modul verarbeitet den Export, welche Schnittstellen benutzt es und welche Befunde stützen diese Erklärung?“ So entsteht ein begrenzter Untersuchungsauftrag mit kontrollierbarem Ergebnis.

KerndatumEinordnung und Beleg
ProduktklasseCLI und MCP-Werkzeugschicht, kein eigenes Sprachmodell: README
Paket und Versionsstandrea-agents in Version 6.4.0; Release vom 11.10.2026
LizenzMIT für REA selbst: Lizenztext
Node.jsUnterstützte Laufzeiten laut Paketmetadaten; exakter Bereich im Absatz darunter
Weitere VoraussetzungenAbhängig von Ziel, Betriebssystem und gewählter Engine: Zielklassen
KostenREA-Lizenz ohne Gebühr; Modellbetrieb und externe Engines getrennt kalkulieren

Die exakte Node.js-Anforderung lautet ^22.19.0 || ^24.11.0 || >=26.0.0.

Das ist eine dokumentenbasierte Einordnung, kein eigener Installationstest oder reproduzierter REA-Benchmark.

Wie unterscheiden sich Agent, Skill, MCP und Analyse-Engine?

Diese Begriffe werden schnell vermischt. Bei REA haben sie unterschiedliche Aufgaben:

BestandteilAufgabeWas er nicht ersetzt
KI-AgentPlant die Untersuchung, ruft Werkzeuge auf, erklärt Befunde und schreibt bei Bedarf eine ImplementierungÜberprüfung seiner Schlussfolgerungen
SkillLiefert Untersuchungsanweisungen und ReferenzenLaufenden MCP-Server und installierte Engines
REA über MCP oder CLIFührt Analyseworkflows aus und stellt Ergebnisse strukturiert bereitSprachmodell und sichere Ausführungsumgebung
Analyse-Engine oder ParserGewinnt technische Informationen aus dem ZielFachliche Interpretation und Tests des Nachbaus

Die REA-Dokumentation beschreibt diese Arbeitsteilung: Der Agent fragt, REA untersucht, der Agent arbeitet mit den zurückgegebenen Befunden weiter. Für tiefe native Binäranalyse kann REA Hopper, Ghidra oder IDA verwenden. Statische JavaScript- und .NET-Inspektion benötigen dagegen keine native Analyse-Engine.

Ein Skill allein schaltet diese Funktionen nicht frei. Die Installationsanleitung trennt ausdrücklich zwischen Anweisungen, MCP-Registrierung und externen Analyseprogrammen.

Welche Aufgaben eignen sich für REA?

Die dokumentierten Zielklassen reichen über klassische Disassembler-Abfragen hinaus. Für den Einstieg sind diese Fälle besonders greifbar:

ZielBeispielaufgabeVoraussetzung oder Grenze
JavaScript/ElectronImports, Module und IPC-Verbindungen einer eigenen ausgelieferten App nachvollziehenLokales App-Verzeichnis oder ASAR; statische Beziehungen sind kein Nachweis tatsächlicher Ausführung
Native BinärdateiEine konkrete Berechnung anhand von Pseudocode, Assembly und Referenzen erklärenPassende Engine und unterstütztes Zielformat
.NET-AssemblyMetadaten, CIL-Instruktionen und deklarierte native Abhängigkeiten untersuchenStatische Inspektion, nicht automatisch wiederhergestellter Originalquelltext
Browser oder NetzwerkaufzeichnungSeitenstruktur und beobachtete Anfragen eines autorisierten Ablaufs vergleichenBrowserzugang beziehungsweise passende Capture-Datei; begrenzte Beobachtung
AndroidRessourcen eines eigenen APK oder Zustand eines autorisierten Testgeräts untersuchenJe nach Aufgabe etwa JADX, ADB oder Apktool

Der praktische Vorteil liegt darin, Analyseebenen miteinander zu verbinden. Ein Electron-Modul kann einen IPC-Kanal deklarieren; eine Laufzeitbeobachtung kann später zeigen, ob dein Testablauf diesen Kanal tatsächlich verwendet. Das sind ergänzende Befunde, keine austauschbaren Beweise.

Bei vorhandenem Quellcode kann ein quellcodebezogener Codegraph der passendere Einstieg sein. Der Guide zu codebase-memory-mcp erklärt diesen Ansatz. REA adressiert zusätzlich ausgelieferte Artefakte, native Binärdateien und Beobachtungen zur Laufzeit.

Wie steigst du kontrolliert ein?

Setup eingrenzen und prüfen

Beginne mit einem eigenen kleinen JavaScript- oder Electron-Testartefakt, dessen Aufbau du kennst. Dafür brauchst du keine native Engine. Voraussetzung ist die in den Paketmetadaten festgelegte Node-Laufzeit. Die Installationsdokumentation schließt Node 23, 25 und Prereleases ausdrücklich aus.

Für Codex kannst du zunächst nur den Setup-Plan anzeigen lassen. Die Befehlsformen sind aus der offiziellen Installationsanleitung abgeleitet; die Paketversion ist bewusst festgelegt:

npx rea-agents@6.4.0 setup --client codex --dry-run --json

Prüfe die vorgesehenen Konfigurations- und Skill-Pfade. Erst danach startest du das interaktive Setup in einem normalen Terminal (TTY), ohne Piping, und bestätigst die gewünschten Änderungen:

npx rea-agents@6.4.0 setup --client codex
npx rea-agents@6.4.0 doctor --client codex --json

Starte anschließend deinen Agenten neu. doctor prüft Konfiguration und Voraussetzungen, beweist aber nicht, dass deine bestehende Agentensitzung den Server bereits geladen hat. Maßgeblich sind die tatsächliche Verbindung und Werkzeugverfügbarkeit laut MCP-Vertrag.

Eine begrenzte Frage stellen

Ein selbst formulierter Beispielauftrag für ein autorisiertes Testartefakt:

Untersuche meine eigene Electron-Testapp im angegebenen lokalen Verzeichnis
zunächst ausschließlich statisch. Erfasse Module, Imports und IPC-Beziehungen
rund um die Exportfunktion. Starte die Anwendung nicht. Trenne beobachtete
Fakten, abgeleitete Zusammenhänge und unbekannte Stellen. Nenne zu den
zentralen Befunden die Evidence-IDs und verfügbaren Quellpositionen.

Die Anweisung begrenzt den Auftrag, ist aber keine technische Sandbox. Kontrolliere deshalb zusätzlich die Freigaberegeln deines MCP-Clients.

Für eine direkte CLI-Inspektion dokumentiert der CLI-Guide den folgenden Workflow. Ersetze den Pfad durch dein vorhandenes App-Verzeichnis oder ASAR:

npx rea-agents@6.4.0 analyze-javascript-application /absolute/path/to/app --json

Das ist ein dokumentierter Bedienweg, kein hier ausgeführter Test. Prüfe danach, ob die bekannten Module und Beziehungen deines Testartefakts im Befund auftauchen und welche Teile unaufgelöst bleiben. Rekonstruierten Code testest du separat gegen definierte Ein- und Ausgaben.

Warum sind Evidence-Datensätze wichtiger als überzeugende Antworten?

Ein Sprachmodell kann aus lückenhaftem Pseudocode eine plausible, aber falsche Erklärung bauen. REA versucht, die technische Grundlage solcher Aussagen nachvollziehbar zu halten. Evidenzproduzierende Werkzeuge liefern laut MCP-Ergebnisvertrag kanonische Datensätze mit diesen zentralen Feldern:

FeldBedeutung
evidence_idIdentität des zurückgegebenen Evidence-Datensatzes
normalized_resultStrukturiertes Ergebnis der Operation
analysis_profileAnalyseprofil als Objekt oder ausdrücklich null

Befunde können in der Sitzung weiterverwendet und als Bundles exportiert werden. Ein Export ist wichtig, wenn du Ergebnisse über die Verbindung hinaus behalten willst: Sitzungsreferenzen sind nicht automatisch ein dauerhaftes Archiv.

Das macht eine Untersuchung überprüfbarer, garantiert aber keine richtige Schlussfolgerung. Ein Hash bestätigt nicht, dass der Agent eine Assembly-Instruktion korrekt interpretiert hat. Ebenso wenig beweist ein statischer Aufrufpfad, dass er im untersuchten Ablauf ausgeführt wurde.

Praktisch solltest du jede wichtige Aussage auf ihren Ursprung zurückführen können: direkt gelesene Bytes, erkannte Struktur, beobachteter Ablauf oder Interpretation. Unbekannte Stellen gehören ins Ergebnis, nicht unter eine sprachlich glatte Zusammenfassung.

Was zeigt das DX-Ball-Fallbeispiel tatsächlich?

Die Projekt-Showcase-Seite zu DX-Ball 1.07 zeigt eine Untersuchung der Sound-Pan-Berechnung. Der erste Pseudocode lässt den Eingabeparameter nicht erkennen. Weitere REA-Abfragen liefern Assembly, den Aufrufer und gelesene Konstanten. Erst daraus entsteht die rekonstruierte C-Funktion.

Für diese Funktion nennt das Projekt 3.205 Verhaltensvergleiche und 63 übereinstimmende kompilierte Bytes. Die aufgezeichnete Untersuchung verwendet laut Seite REA 4.1.0, nicht den hier beschriebenen aktuellen Paketstand.

Das Beispiel illustriert einen brauchbaren Arbeitsprozess: Widerspruch erkennen, zusätzliche Belege holen, implementieren und gegen das Original prüfen. Es ist jedoch ein projektnahes Fallbeispiel, kein unabhängiger Benchmark allgemeiner REA-Genauigkeit. Die Funktionstests belegen weder vollständige Spielrekonstruktion noch zuverlässiges Klonen beliebiger Anwendungen; hier wurden sie nicht selbst reproduziert.

Was ändert der veröffentlichte Release-Stand?

Die Release-Notes zu 6.4.0 vom 11.10.2026 nennen unter anderem Setup für Pi, Hermes und Qwen Code, einschließlich aktiver Hermes-Profile. Hinzu kommen ADB-Geräteworkflows, Apktool-Ressourcenanalyse und die Anbindung eines vom Nutzer gestarteten JEB-MCP-Servers. Große Analysen erhalten selektive Evidence-Ansichten; JavaScript-Analyse läuft in einem eigenen Prozess mit Heap- und Timeout-Limits.

Ein eigener Prozess mit Ressourcenlimits ist keine Sicherheitssandbox. Außerdem darfst du Repository-main, veröffentlichte npm-Version, Skill und laufenden Server nicht gleichsetzen. Neue Anweisungen aktualisieren keinen bereits gestarteten Server.

Ein konkreter Dokumentationsstolperstein: Die Installationsdatei am veröffentlichten Tag enthält noch einen datierten npm-Prüfstand zu 6.3.0. Die aktuellen Paketmetadaten und Release-Notes belegen dagegen 6.4.0. Historische Abschnitte sind keine aktuelle Verfügbarkeitsgarantie.

Auch Versionswechsel können gespeicherte Befunde betreffen. Die Release-Notes zu 6.3.0 nennen abgewiesene historische Captures ohne benötigte Abrechnungs- oder Identitätsfelder. In 6.4.0 heißt das WebSocket-Ergebnisfeld nun network.websocket_connections statt network.websocket_events. Direkte Ressourcen-APIs verlangen außerdem ArtifactResourceScope; die CLI-/MCP-Eingaben der dort beschriebenen scoped Operations bleiben laut Release unverändert.

Meine Empfehlung: Paketversion und Engine dokumentieren, Befunde vor Updates sichern und Vergleichsworkflows nach Versionswechseln erneut prüfen.

Wie unterscheidet sich REA von GhidraMCP und IDA Pro MCP?

KriteriumREAGhidraMCPIDA Pro MCP
SchwerpunktMehrere Analyseebenen und ProviderGhidra-Funktionen über Plugin und MCP-BridgeIDA-bezogene Analyse über MCP
Typische AufgabeArtefakte, Modulbeziehungen und Laufzeitbefunde zusammenführenDekompilieren, umbenennen, Funktionen und Imports auflistenIDA-Analysen für einen Agenten verfügbar machen
VoraussetzungenZielabhängig; statisches JavaScript ohne native EngineGhidra und Python-basierte MCP-AnbindungIDA Pro und Python; IDA Free nicht unterstützt
AuswahlkriteriumUnterschiedliche Zielklassen und nachvollziehbare Evidence-VerträgeVorhandener Ghidra-WorkflowVorhandener IDA-Workflow

Grundlage sind die REA-Dokumentation, das GhidraMCP-README und das IDA-Pro-MCP-README. Letzteres empfiehlt inzwischen ausdrücklich den offiziellen Hex-Rays-MCP-Server; diese Empfehlung ist kein hier durchgeführter Vergleichstest.

REA ist damit breiter angelegt, aber nicht nachweislich genauer. Ohne identische Testziele und Vergleichsmethodik wäre eine Qualitätsrangfolge erfunden.

Welche Einschränkungen und Risiken musst du beachten?

Lokal bedeutet weder abgeschottet noch ausschließlich lokal verarbeitet

Die Security Policy sagt ausdrücklich: Die lokalen Bridges sind keine Sandbox. Nicht vertrauenswürdige Binärdateien werden vom gewählten Provider mit den Rechten des Betriebssystemnutzers verarbeitet. Für riskante Ziele empfehle ich eine getrennte, unprivilegierte Testumgebung statt deines normalen Arbeitskontos.

Bei Process Capture wird das Ziel tatsächlich gestartet. Die Process-Capture-Dokumentation unterscheidet Beobachtungspfade von Zugriffsrechten: Ein gewählter Dateisystem-Scope beschränkt, was REA beobachtet, nicht, was der Prozess lesen oder schreiben darf. Schnappschüsse können außerdem kurzlebige Änderungen übersehen.

Werkzeugergebnisse gehen an deinen Agenten und unterliegen anschließend der Datenpolitik seines Modellproviders. Vertraulichen Code, Tokens und Kundendaten solltest du nicht ohne Freigabe in dessen Kontext geben. REA verlangt laut MCP-Vertrag keine zusätzliche Freigabe je Werkzeugaufruf; entsprechende Kontrollen muss dein Client leisten.

Fehlerberichte brauchen Versionskontext

Issue #1606 berichtet über verlorene MCP-Umgebungsoptionen beim Setup auf der dort genannten Quellrevision. Es wurde als completed geschlossen; die Release-Notes nennen ausdrücklich das Erhalten bestehender MCP-Umgebungen als Fix. Das ist ein dokumentierter Upstream-Fix, kein eigener Regressionstest.

Issue #1608 beschreibt auf einer anderen Quellrevision deklarierte Geheimnisse, die in HTML- oder URL-kodierter Schreibweise in DOM-/Accessibility-Artefakten verbleiben. Der Status ist not_planned. Diese Schließung belegt keine Fehlerbehebung; der Bericht wurde hier nicht auf der veröffentlichten Version reproduziert. Nutze synthetische Zugangsdaten und prüfe Capture-Inhalte vor ihrer Weitergabe.

Die MIT-Lizenz erlaubt nicht jeden Nachbau

§ 69e UrhG erlaubt bestimmte Dekompilierung zur notwendigen Interoperabilität unter konkreten Voraussetzungen. Umfang und spätere Informationsverwendung sind begrenzt; daraus folgt keine pauschale Klon-Erlaubnis.

§ 3 GeschGehG erlaubt unter Bedingungen Beobachten, Untersuchen, Rückbauen oder Testen. Die Regelung ersetzt keine gesonderte urheberrechtliche Prüfung. Beschränke erste Versuche auf eigene Programme oder ausdrücklich autorisierte Ziele. Das ist eine technische Empfehlung, keine Rechtsberatung.

FAQ: Häufig gestellte Fragen zu REA

Brauche ich für REA immer Ghidra?

Nein. Laut README funktioniert statische JavaScript- und .NET-Inspektion ohne native Engine. Tiefe native Analyse benötigt einen passenden Provider wie Ghidra, Hopper oder IDA.

Reicht die Installation des Skills?

Nein. Ein Skill liefert Anweisungen, nicht die MCP-Verbindung oder die Analyse-Engines. Der Unterschied steht in der Installationsanleitung.

Ist REA kostenlos?

REA selbst steht unter MIT. Modellbetrieb und gegebenenfalls kommerzielle Analyse-Engines sind davon getrennt; aktuelle Engine-Preise wurden hier nicht geprüft.

Bleiben alle untersuchten Daten lokal?

Nicht automatisch. REA analysiert lokal, aber dein Agent erhält Werkzeugergebnisse. Für deren Modellverarbeitung gilt laut README die Datenpolitik des Modellproviders.

Kann REA eine komplette App zuverlässig klonen?

Dafür liefern die geprüften Quellen keinen allgemeinen Nachweis. Der DX-Ball-Showcase zeigt nachvollziehbare Funktionsrekonstruktion mit Tests, keine universelle Klon-Garantie.

Big Data wächst schneller als die eigene IT? Jetzt zu centron wechseln, bevor die Performance zum Business-Risiko wird!Big Data wächst schneller als die eigene IT? Jetzt zu centron wechseln, bevor die Performance zum Business-Risiko wird!
Anzeige – centron

Fazit

REA lohnt einen kontrollierten Einstieg, wenn du konkrete Funktionen oder Abhängigkeiten autorisierter Software verstehen willst. Nutze es als Werkzeugschicht für überprüfbare Befunde, nicht als Abkürzung zu einem garantiert korrekten App-Nachbau. Beginne statisch, begrenze den Auftrag und prüfe jede Rekonstruktion separat; für vorhandenen Quellcode bietet der Codegraph-Guide zu codebase-memory-mcp die passende Abgrenzung.

Quellen

Primärquellen: Projekt, Releases und Verträge

Projektfallbeispiel und externe Gegenpositionen

  • DX-Ball-Showcase: projektnahe Funktionsrekonstruktion und zugehörige Prüfungen, kein unabhängiger allgemeiner Benchmark.
  • Issue #1606 und Issue #1608: revisionsgebundene Nutzerberichte; nicht selbst reproduziert.
  • GhidraMCP und IDA Pro MCP: Selbstdokumentation der Alternativen, kein Leistungsvergleich.
  • Unabhängige allgemeine Genauigkeitsmessungen von REA sind durch diese Quellen nicht belegt.

Recht und Recherchezugang

*Quellen geprüft am 11.10.2026. Dokumentenrecherche ohne eigenen REA-Laufzeittest.*

#AI Coding #KI-Agenten #Open Source
Dieser Artikel wurde mit KI-Unterstützung erstellt und redaktionell geprüft.

© 2026 · KI-Manager · KI-Tools · ChatGPT · GEO