iris-rea-recherche: Bei Programm-Zielen gehört eine Ghidra-Analyse vor die Befunde zum Programm #381

Open
opened 2026-11-06 19:38:38 +00:00 by alf · 1 comment
Owner

Problem

Im Lauf „Raiden II“ (Chat-Export 2026-11-06, MacBook) wurde das Programm der Recherche nicht mit Ghidra untersucht: Alle 26 Fundstellen der Befunde sind datei: (25) oder offset: (1), keine einzige adresse: oder funktion:; der Ordner workspace/ghidra/ war im Export leer. Die Befunde zum Programm („V30 statt 68k“, „SEI251“, Interleaving) stammen aus MAME-Wissen und per web_extract geholten MAME-Quellen. Erst auf die Nutzerfrage „Ist das mit Ghidra untersucht worden?“ lief Ghidra (242 Funktionen, 238 Strings); der Agent schrieb selbst „ich habe es gerade nachgeholt“.

Ursache (Vermutung, nicht belegt): Der Systemprompt grenzt nur ab („Eine Datei nur zu zerlegen … ist Sache von iris-ghidra“), und im Skill steht die Ghidra-Analyse nur als Nebensatz in Schritt 2. Nichts im Ablauf sagt, dass bei einem Programm als Ziel eine Code-Analyse vor den Befunden zum Programm steht.

Warum

Das Plugin ist eine Vorstufe: Wer später ein Programm nachbaut, braucht Befunde, die aus dem Code des Ziels stammen, nicht aus Fremdwissen über dasselbe Spiel. Fremdquellen sind ein guter Hinweis, aber kein Beleg der Analyse.

Umfang (Weg 2, nur Text, keine Erzwingung)

  • Systemprompt: Ist das Ziel ein Programm (ausführbarer Code, Firmware, ROM mit Programmcode), zuerst mit iris-ghidra untersuchen und die Befunde zum Programm mit adresse:/funktion: belegen; Wissen aus Emulator- oder Datenbankquellen (MAME u. a.) ist ein Hinweis und wird im Befundtext als Quelle genannt.
  • SKILL.md Schritt 2 und Anleitung: der Ablauf für Programm-Ziele (Ghidra-Lauf, was daraus in Befunde geht), und was bei „bad instruction data“ oder unbrauchbarem Pseudocode gilt: dem Nutzer sagen, nicht still auf Fremdquellen ausweichen.
  • Doku-Test prüft die Zeilen im Systemprompt.

Nicht im Umfang

Erzwingen per Phasenregel (Befund mit adresse:/funktion: vor den Hypothesen) und die V30-Frage in Ghidra (eigenes Issue).

## Problem Im Lauf „Raiden II“ (Chat-Export 2026-11-06, MacBook) wurde das Programm der Recherche nicht mit Ghidra untersucht: Alle 26 Fundstellen der Befunde sind `datei:` (25) oder `offset:` (1), keine einzige `adresse:` oder `funktion:`; der Ordner `workspace/ghidra/` war im Export leer. Die Befunde zum Programm („V30 statt 68k“, „SEI251“, Interleaving) stammen aus MAME-Wissen und per `web_extract` geholten MAME-Quellen. Erst auf die Nutzerfrage „Ist das mit Ghidra untersucht worden?“ lief Ghidra (242 Funktionen, 238 Strings); der Agent schrieb selbst „ich habe es gerade nachgeholt“. Ursache (Vermutung, nicht belegt): Der Systemprompt grenzt nur ab („Eine Datei nur zu zerlegen … ist Sache von `iris-ghidra`“), und im Skill steht die Ghidra-Analyse nur als Nebensatz in Schritt 2. Nichts im Ablauf sagt, dass bei einem Programm als Ziel eine Code-Analyse vor den Befunden zum Programm steht. ## Warum Das Plugin ist eine Vorstufe: Wer später ein Programm nachbaut, braucht Befunde, die aus dem Code des Ziels stammen, nicht aus Fremdwissen über dasselbe Spiel. Fremdquellen sind ein guter Hinweis, aber kein Beleg der Analyse. ## Umfang (Weg 2, nur Text, keine Erzwingung) - Systemprompt: Ist das Ziel ein Programm (ausführbarer Code, Firmware, ROM mit Programmcode), zuerst mit `iris-ghidra` untersuchen und die Befunde zum Programm mit `adresse:`/`funktion:` belegen; Wissen aus Emulator- oder Datenbankquellen (MAME u. a.) ist ein Hinweis und wird im Befundtext als Quelle genannt. - SKILL.md Schritt 2 und Anleitung: der Ablauf für Programm-Ziele (Ghidra-Lauf, was daraus in Befunde geht), und was bei „bad instruction data“ oder unbrauchbarem Pseudocode gilt: dem Nutzer sagen, nicht still auf Fremdquellen ausweichen. - Doku-Test prüft die Zeilen im Systemprompt. ## Nicht im Umfang Erzwingen per Phasenregel (Befund mit `adresse:`/`funktion:` vor den Hypothesen) und die V30-Frage in Ghidra (eigenes Issue).
Author
Owner

PR #383 gemergt: feat(iris-rea-recherche): Bei Programm-Zielen steht eine Ghidra-Analyse vor den Befunden (iris/iris-plugins#381)
http://docker:3000/iris/iris-plugins/pulls/383

Commits:

  • feat(iris-rea-recherche): Bei Programm-Zielen steht eine Ghidra-Analyse vor den Befunden (iris/iris-plugins#381)

Stand: umgesetzt (Weg 2, Text), Version 0.4.1 veröffentlicht (Registry nach dem Pull: Paket 0.4.1).

Geändert (nur Text, keine Erzwingung):

  • Systemprompt: Regel „Ist das Ziel ein Programm (ausführbarer Code, Firmware, ROM mit Programmcode): zuerst mit iris-ghidra untersuchen und die Befunde zum Programm mit adresse:/funktion: belegen“; Emulator-/Datenbankwissen (MAME u. a.) ist ein Hinweis, kein Beleg und wird im Befundtext als Quelle genannt; bei vielen „bad instruction data“ oder unbrauchbarem Pseudocode dem Nutzer das sagen, nicht still auf Fremdquellen ausweichen.
  • SKILL.md Schritt 2 und Anleitung: derselbe Ablauf für Programm-Ziele, bei reinen Daten (Grafik-ROMs, Tabellen) entfällt der Schritt.
  • Doku-Test prüft die tragenden Sätze in Systemprompt, Skill und Anleitung.

Geprüft: 366 Tests grün (2 übersprungen). 6 Gegenproben am Text (Regel im Systemprompt, Hinweis zu Fremdquellen im Systemprompt, Quellenangabe im Skill, Programm-Ablauf in der Anleitung, …): Zwei überlebten zuerst, weil der Test nur einzelne Wörter prüfte; der Test prüft jetzt die tragenden Sätze, danach alle rot. Entpacktes Paket enthält die Regel in Systemprompt, Skill und Anleitung; --dry-run, Veröffentlichung.

Nicht geprüft: ob ein Agent im echten Chat daraufhin bei einem Programm-Ziel tatsächlich zuerst Ghidra nutzt (das ist der eigentliche Test, am besten mit demselben Raiden-ROM); ob das lokale Modell (qwen3.8-flash iq3) dem Text folgt. Erzwungen wird nichts: Ohne Ghidra-Lauf lehnt das Plugin keinen Befund ab.

Offen: #382 (Ursache der „bad instruction data“ bei Raiden II in iris-ghidra); falls der Text nicht reicht, Weg 1 (Phasenregel) aus der Besprechung.

PR #383 gemergt: feat(iris-rea-recherche): Bei Programm-Zielen steht eine Ghidra-Analyse vor den Befunden (iris/iris-plugins#381) http://docker:3000/iris/iris-plugins/pulls/383 Commits: - feat(iris-rea-recherche): Bei Programm-Zielen steht eine Ghidra-Analyse vor den Befunden (iris/iris-plugins#381) --- **Stand: umgesetzt (Weg 2, Text), Version 0.4.1 veröffentlicht (Registry nach dem Pull: Paket 0.4.1).** **Geändert (nur Text, keine Erzwingung):** - Systemprompt: Regel „Ist das Ziel ein Programm (ausführbarer Code, Firmware, ROM mit Programmcode): zuerst mit `iris-ghidra` untersuchen und die Befunde zum Programm mit `adresse:`/`funktion:` belegen“; Emulator-/Datenbankwissen (MAME u. a.) ist ein Hinweis, kein Beleg und wird im Befundtext als Quelle genannt; bei vielen „bad instruction data“ oder unbrauchbarem Pseudocode dem Nutzer das sagen, nicht still auf Fremdquellen ausweichen. - SKILL.md Schritt 2 und Anleitung: derselbe Ablauf für Programm-Ziele, bei reinen Daten (Grafik-ROMs, Tabellen) entfällt der Schritt. - Doku-Test prüft die tragenden Sätze in Systemprompt, Skill und Anleitung. **Geprüft:** 366 Tests grün (2 übersprungen). 6 Gegenproben am Text (Regel im Systemprompt, Hinweis zu Fremdquellen im Systemprompt, Quellenangabe im Skill, Programm-Ablauf in der Anleitung, …): Zwei überlebten zuerst, weil der Test nur einzelne Wörter prüfte; der Test prüft jetzt die tragenden Sätze, danach alle rot. Entpacktes Paket enthält die Regel in Systemprompt, Skill und Anleitung; `--dry-run`, Veröffentlichung. **Nicht geprüft:** ob ein Agent im echten Chat daraufhin bei einem Programm-Ziel tatsächlich zuerst Ghidra nutzt (das ist der eigentliche Test, am besten mit demselben Raiden-ROM); ob das lokale Modell (qwen3.8-flash iq3) dem Text folgt. Erzwungen wird nichts: Ohne Ghidra-Lauf lehnt das Plugin keinen Befund ab. **Offen:** #382 (Ursache der „bad instruction data“ bei Raiden II in `iris-ghidra`); falls der Text nicht reicht, Weg 1 (Phasenregel) aus der Besprechung.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-plugins#381
No description provided.