Anthropics Frontier Red Team und der Formalmethoden-Partner Theorem berichten, Claude habe maschinengeprüfte Beweise für 239 Fuzz-Test-Einstiegspunkte in 123 Open-Source-Bibliotheken erstellt. Geprüft wurden bestimmte Eigenschaften der kompilierten RISC-V-Programme: Unter den festgelegten Bedingungen sollen sie regulär beendet werden, ohne Speicherfehler auszulösen oder an Assertions zu scheitern. Das ist kein allgemeiner Nachweis, dass die Bibliotheken fehlerfrei sind.
9
5
Bemerkenswert ist der Umfang: Laut den Beteiligten dauerte die Arbeit wenige Wochen und brachte rund 180 Millionen Zeilen Rocq-Beweiscode hervor. Die weitergehende Bedeutung sehen sie darin, formale Verifikation mithilfe von KI auf mehr reale Software anwenden zu können. Entscheidend bleibt aber, genau zu beachten, was spezifiziert und tatsächlich geprüft wurde.
3
13
Was die Beweise abdecken
Anthropic zufolge gilt der Nachweis für jede Eingabe unter 64 MB sowie für modellierte Linux-Betriebssystemantworten und Speicherlayouts – jeweils unter den angegebenen Annahmen. Gegenstand sind kompilierte RISC-V-Programme. Daraus folgt keine pauschale Garantie für jede Version einer Bibliothek oder für ihren Einsatz in beliebigen Umgebungen.
9
12
Für das Verfahren nutzte das Team vorhandene Einstiegspunkte aus Googles OSS-Fuzz-Projekt als formale Spezifikationen. Fuzzing probiert viele Eingaben aus; Claude sollte stattdessen Eigenschaften der jeweiligen Programme für den gesamten Eingabebereich beweisen, den der Satz formal umfasst.
3
13
Anthropic bezeichnet das Vorhaben als ersten groß angelegten Versuch, KI zur formalen Verifikation produktiver Software auf Assembly-Ebene einzusetzen. Das ist die Einordnung des Teams zur Neuartigkeit des Projekts, kein unabhängig bestätigter historischer Konsens.
7
13
Warum der Rocq-Prüfer wichtig ist
Claude erzeugte die Beweise, geprüft wurden sie vom Rocq-Beweiskern. Entwickler müssen daher nicht Claudes Schlussfolgerungen vertrauen oder jede einzelne Zeile des Beweises manuell kontrollieren, damit die Prüfung mechanisch erfolgen kann. Ganz ohne Annahmen geht es trotzdem nicht: Der mathematische Satz muss die gewünschte Eigenschaft korrekt ausdrücken, und die verwendeten Modelle sowie der Prüfer gehören weiterhin zur Vertrauensgrundlage.
9
5
Anthropic und weitere Berichte beziffern den Umfang auf rund 180 Millionen Zeilen Rocq-Beweiscode – im Schnitt etwa 600.000 Zeilen pro Binärprogramm. Diese Menge zeigt die Größe des Vorhabens, sagt für sich genommen aber weder aus, wie weit eine Eigenschaft reicht, noch ob sie den Anforderungen eines konkreten Produktionssystems entspricht.
3
12
Was Tests übersehen können
Fuzzing untersucht viele Eingaben, beweist für sich allein aber nicht, wie sich ein Programm bei jeder möglichen Eingabe innerhalb eines festgelegten Bereichs verhält. Berichten zum Projekt zufolge fand und behob Claude Hunderte Fehler, darunter auch Probleme, die Billionen von Fuzzing-Durchläufen entgangen waren. Das sind Angaben zu diesem Vorhaben – kein unabhängiger Beleg dafür, wie oft formale Verifikation Tests bei anderen Projekten überlegen ist.
2
11
Die praktische Lehre lautet deshalb nicht, Tests abzuschaffen. Formale Beweise können eine andere Art von Sicherheit liefern: Für die präzise formulierte Eigenschaft und den festgelegten Geltungsbereich lässt sich das Verhalten für alle Eingaben des spezifizierten Bereichs beweisen – nicht nur für die Fälle, die ein Testlauf tatsächlich durchgespielt hat.
9
2
Warum „verifiziert“ nicht „fehlerfrei“ bedeutet
Die Garantien beziehen sich auf ausgewählte Einstiegspunkte und konkrete kompilierte Programme. Sie gelten nicht automatisch für alle Funktionen einer Bibliothek, jede Build-Konfiguration, jede Architektur oder jede Nutzung.
9
5
Auch die Ausführungsbedingungen sind wichtig. Berichte beschreiben die Beweise als auf statische, nebenläufigkeitsfreie RISC-V-Programme unter Linux und ein festgelegtes Speicherbudget bezogen. Viele Anwendungen laufen mit anderen Prozessorarchitekturen oder Konfigurationen; für diese Einsätze ist das Ergebnis keine Garantie.
12
27
34
Außerdem beweist ein formaler Nachweis den formulierten Satz – nicht alle Eigenschaften, die Entwickler sich wünschen könnten. Fehler können außerhalb des Prüfbereichs liegen oder in den Modellen und Grundlagen der Beweisprüfung selbst.
5
31
Was Entwickler daraus mitnehmen können
Der zentrale Beitrag des Projekts ist ein Hinweis darauf, dass KI-Unterstützung die formale Prüfung von Assembly-Code für mehr reale Software praktikabler machen könnte, als es ohne erheblichen Expertenaufwand bisher möglich war. Eine allgemeingültige Aussage zu Kosten oder Erfolgsquoten für beliebige Codebasen ergibt sich daraus nicht.
7
13
Ein Teil der Beweise ist öffentlich verfügbar. Ein Bericht beschreibt diese Veröffentlichung als Teilmenge mit 25 Bibliotheken und 60 Einstiegspunkten – nicht als vollständige Sammlung des Projekts. Theorem hat außerdem OSS Verify für Open-Source-Projekte angekündigt.
32
16
38
Für Entwickler heißt das: Einen Beweis als klar abgegrenzte Zusicherung lesen. Vor der Nutzung sollten sie den konkreten Einstiegspunkt, das geprüfte Programm, die Annahmen und die bewiesene Eigenschaft nachvollziehen. Die Ergebnisse machen KI-gestützte formale Verifikation als Ergänzung zu Tests interessant – sie sind kein Grund, Tests einzustellen oder Software pauschal für fehlerfrei zu halten.
9
5