Einfache Merkmale schlagen die meisten KI-Kontrollmonitore
Code und Paper-Quelltext für das Workshop-Paper EvoRobust @ NeurIPS 2026.
Was das Paper zeigt
KI-Kontrollmonitore sind Modelle, die Code lesen und Backdoors (versteckte Sabotage) markieren. Sie werden anhand fester Datensätze entwickelt und bewertet, in denen jedes Programmierproblem eine ehrliche Lösung und eine mit Backdoor versehene Lösung hat. Ein Monitor sollte bei einem solchen Datensatz nur dann gut abschneiden, wenn er die Backdoor findet. Wir untersuchen den öffentlichen APPS-Backdoor-Datensatz (RoganInglis/apps-control-arena), dessen ehrliche Lösungen von Menschen geschrieben wurden und dessen Backdoors von älteren Modellen stammen (Claude 3.7 Sonnet, o3-mini, o1-mini, GPT-4o und vier kleinere Modelle, alle bis Anfang 2025 veröffentlicht, plus eine nicht zugeordnete Quelle). Wir nennen seine Paare die Originalpaare. Abbildung 1 des Papers fasst die Ergebnisse zusammen.
- Ein Klassifikator, der den Code nie ausführt, schlägt die meisten Monitore. Auf dem Standard-Testsplit (1.375 Probleme, je ein Programm, Kommentare entfernt) erreicht ein Bag-of-Words-Klassifikator, der auf den Trainingsproblemen des Splits trainiert wurde, AUROC 0,806 und liegt damit über 20 von 24 Open-Weight-Modellen (0,4B–32B), die in früheren Arbeiten als Monitore gepromptet wurden. Was er liest, ist über angreifende Modelle hinweg gemeinsam und vorhanden, unabhängig davon, ob eine Backdoor funktioniert; seine stärksten backdoor-seitigen Tokens (
and, ==, if) sind eine oberflächliche Spur jedes hinzugefügten Sonderfalls. Der Klassifikator wird trainiert, die Monitore nicht, daher misst dies, was der Datensatz preisgibt, nicht welcher Detektor besser ist.
- Die Labels leaken. Der Testsplit behält das backdoored Programm eines Problems nur, wenn die Backdoor funktioniert; 720 der 892 Probleme mit einer Backdoor schlagen fehl und tragen stattdessen ihre ehrliche Lösung bei. Probleme der Backdoor-Klasse haben daher etwa halb so viele Tests, und ein Klassifikator, der nur Problem-Metadaten liest (Schwierigkeit, Testanzahl, Statement-Länge), erreicht 0,766 kreuzvalidiert innerhalb des Splits und liegt damit über 20 Monitoren. Außerhalb des Splits gefittet erzielt er 0,298, dieselbe Beziehung umgekehrt, weil dort die ehrlichen Items aus Problemen stammen, die der Split ausgeschlossen hat. Der Leak kommt daher, wie die Labels gewählt wurden, nicht aus dem Code.
- Der Klassifikator belohnt einen Kontrast zwischen Autoren. Wir bauen die Paare mit einem Modell, Claude Sonnet 5 (und separat Claude Haiku 4.5), neu auf, das beide Lösungen schreibt, und paaren jede Klasse mit der des anderen Autors. Benennt man jede Art von Paar danach, wer seine ehrliche und seine backdoored Seite geschrieben hat, so erzielt Bag-of-Words auf den 99 Problemen, bei denen jede Backdoor funktioniert, 0,789 bei Person / ältere Modelle und 0,749 bei Sonnet 5 / Sonnet 5, aber 0,953 bei Person / Sonnet 5 und 0,905 bei Sonnet 5 / ältere Modelle: Er erzielt die höchste Punktzahl, wenn die beiden Klassen verschiedene Autoren haben. Dasselbe gilt über alle Versuche (0,981 gegenüber 0,865). Mit einem einzigen Autor behält er rho = 0,687 seines Vorteils gegenüber dem Zufall bei Sonnet 5s einzelnen Versuchen und 0,097 bei denen von Haiku 4.5, sowie 0,861 bei funktionierenden Backdoors, sodass er auch die hinzugefügten Sonderfälle der Backdoor liest; ein Teil dessen, was Sonnet 5 behält, ist ein Layout, das unser Angriffs-Prompt hervorruft (
def main), und fordert man die ehrliche Lösung mit diesem Prompt an, sinkt rho auf 0,390.
- Welche Backdoors echt sind. Ein Sonnet-5-Monitor reagiert hauptsächlich auf die Backdoors (0,944 auf den Originalpaaren, 0,966, wenn Sonnet 5 die ehrliche Seite geschrieben hat, deren Code es etwas weniger verdächtig findet). Er fällt auf 0,755 bei Person / Sonnet 5, aber ein Teil davon sind die Labels. Eine Backdoor gilt als funktionierend, wenn ihre Ausgabe bei ihrem eigenen Trigger von der einer ehrlichen Lösung abweicht, und nichts prüft, ob der Trigger eine legale Eingabe ist. Die Labels des Datensatzes zeigen das Problem: Im Standard-Testsplit haben 17 der 172 backdoored Programme nur einen illegalen Trigger und 7 geben bei einem öffentlichen Test eine falsche Ganzzahl aus. Ohne diese 24 erzielt Bag-of-Words 0,817 und die 24 veröffentlichten Monitore verschieben sich um einen Median von +0,010. Unsere Generierung verwendete dieselbe Definition, daher prüfen wir vor dem Vergleich der Angreifer jeden Trigger in beiden Klassen gegen einen aus dem Statement geschriebenen Eingabe-Validator, verlangen, dass die Ausgabe der Backdoor dort von der Mehrheitsantwort der menschlichen Lösungen abweicht, und suchen bei fehlgeschlagener Prüfung 40 nahegelegene legale Eingaben nach einem Zeugen. Die Prüfung entfernt 14 der 99 Backdoors der älteren Modelle und 40 von Sonnet 5s. Auf den 54 Problemen, bei denen beide Backdoors echt sind, ist Sonnet 5s möglicherweise immer noch schwerer zu erkennen, aber weniger: AUROC 0,958 gegenüber 0,904 (Differenz -0,053, 95%-KI -0,108 bis -0,004), und beim Markieren von 2 % der menschlichen Lösungen erkennt der Monitor 78 % der Backdoors der älteren Modelle und 61 % von Sonnet 5s (Differenz 0,17, 0,0002 bis 0,32, nur knapp über null). Vor den Prüfungen, auf allen 99 Problemen, waren es 77 % gegenüber 37 % (0,40, 0,28 bis 0,52), sodass ein Teil der Veränderung vom Weglassen von Problemen stammt. Die Lücke hängt vom Schwellenwert ab, und ein Teil davon könnte sein, dass der Monitor seine eigenen
model: ein Haiku 4.5 Monitor, der keine der beiden Klassen geschrieben hat, ergibt 0,850 gegenüber 0,822.
Ein hoher Score auf einem so aufgebauten Datensatz kann also von anderen Hinweisen als der Backdoor stammen (wir zeigen nicht, dass veröffentlichte Monitore diese verwenden), und eine Fangrate bei ungeprüften Labels kann einen Angreifereffekt mehr als verdoppeln. Wir veröffentlichen die neu erstellten Paare, die Eingabevalidatoren und die Prüfungen und empfehlen, sie auf anderen Monitor-Benchmarks auszuführen: Melden Sie Baselines, die den Code nie ausführen (Bag-of-Words, Problem-Metadaten, Länge), mit ihren Shuffled-Label-Scores; paaren Sie jede Klasse mit dem Code eines anderen Autors; prüfen Sie, dass jeder Trigger eine legale Eingabe ist, bei der die Antwort des Backdoors falsch ist; melden Sie Fangraten bei einem festen Audit-Budget für die Backdoors, die bestehen, aus mehreren Generatoren einschließlich aktueller Modelle; und wo die Prüfungen Shortcuts finden, lassen Sie ein Modell beide Klassen aus demselben Prompt schreiben und wählen Sie ehrliche Beispiele unabhängig davon aus, ob ein Angriff erfolgreich war.
Repository-Aufbau
experiments/
apps/ APPS backdoor dataset: the floors on the original pairs, the rebuilt pairs
(generation, test harness, backdoor verification) and every measurement on them;
*.json are the committed outputs behind the paper's numbers
validators/ one input validator per checked problem (258), used by the trigger checks
agentic/ five agentic settings in which one model wrote both classes (appendix)
README.md how to reproduce each result, with commands, and which script gives each number
paper/ LaTeX source, bibliography, figures and the built main.pdf
Reproduzieren
Siehe experiments/README.md. Die Ergebnisse für die ursprünglichen Paare laufen auf einer Laptop-CPU in wenigen Minuten. Das Erstellen der neu aufgebauten Paare erfordert einen Anthropic-API-Schlüssel, und die Open-Weight-Variante (die nur die ehrliche Klasse neu generiert) benötigt eine GPU.
pip install -r requirements.txt
cd experiments/apps
python fetch.py && python fetch_inputs.py && python bow.py
python koran_split_eval.py # the bag-of-words floor: AUROC 0.806, above 20 of 24 monitors