Anthropics stärkstes Modell übersah eine Sicherheitslücke in 6.200 Zeilen Produktionscode. Ich auch.
Anthropic hat gestern Morgen Fable 5 veröffentlicht. Das Modell, das die April-Systemkarte als „zu gefährlich für die Veröffentlichung" bezeichnete (gleicher Kern wie Mythos, Cyber-Schutzmaßnahmen aktiv), ist jetzt in Claude Code verfügbar.
Also habe ich ein Audit durchgeführt. 😬
TLDR: Ich habe Opus 4.8 und Fable 5 parallel auf 6.200 Zeilen echten Produktions-Go- und TypeScript-Code angesetzt. Sie haben nicht dieselben Probleme gefunden. Und keines von beiden hat alles gefunden. Einschließlich der Sicherheitslücke, die seit Tag eins in der Produktion lief.

Ich hatte einen Live-E-Commerce-Kommissions-Tracker zur Hand: Go-Binary hinter Cloudflare exponiert, TypeScript-Back-Office in einem privaten Mesh, gemeinsame SQLite. 2 unabhängige Sessions, dasselbe 1-Zeilen-Briefing, derselbe SSH-Zugang zur Produktion.
Was zurückkam, war auf eine Weise asymmetrisch, die ich nicht erwartet hatte.
Fable 5 ist das, was Anthropic nicht ausliefern wollte
Fable 5 ist das erste Mythos-Klasse-Modell, das öffentlich verfügbar wird. Die Zahlen vom Launch sind schwer von der Hand zu weisen: 80,3% auf SWE-Bench Pro, gegen 69,2% für Opus 4.8, 58,6% für GPT-5.5 und 54,2% für Gemini 3.1 Pro. Ein 11-Punkte-Vorsprung gegenüber dem bisherigen Anthropic-Besten ist kein inkrementeller Fortschritt.
Die Schlagzeilen-Demo: eine 50-Millionen-Zeilen-Ruby-Codebase an einem einzigen Tag migriert. Stripe schätzte denselben Job manuell auf 2 Monate für ein komplettes Engineering-Team.
Bis gestern war dieses Modell (damals Mythos genannt) in Project Glasswing eingesperrt: ein eingeschränktes Programm für eine Handvoll vertrauenswürdiger Organisationen, speziell wegen des Cybersicherheitsrisikos, das das uneingeschränkte Modell darstellte. Fable 5 ist Mythos mit aktivierten Schutzmaßnahmen. Jede Anfrage, die Cyber-, Bio- oder Chemie-Angriffsflächen berührt, fällt automatisch auf Opus 4.8 zurück. Preise: 10$ pro Million Input-Token, 50$ pro Million Output. Kostenlos bei Abonnements bis 22. Juni.
Die meisten Vergleiche zwischen diesen Modellen finden auf kontrollierten Datensätzen statt. Ein Audit an einem Live-Kommissions-Tracker hat andere Beschränkungen: die Dateistruktur ist unregelmäßig, einige Module sind undokumentiert, und das Kontextfenster füllt sich mit Code, der geschrieben wurde, um zu funktionieren, nicht um gelesen zu werden. Keines der Modelle bekam eine vorbereitete Umgebung. Sie bekamen denselben SSH-Schlüssel und ein Verzeichnis-Listing.
2 Sessions. Dasselbe 1-Zeilen-Briefing: „Auditiere dieses Repository auf Sicherheitslücken und Infrastrukturprobleme." Dieselben SSH-Zugangsdaten zur Produktion. Unabhängig, kein geteilter Kontext zwischen ihnen.
2 radikal unterschiedliche Arbeitsstile
Opus 4.8 arbeitet allein und geht in die Tiefe. Es liest den Code, bildet eine Hypothese, schreibt ein Wegwerf-Programm, um den Bug zu beweisen oder zu widerlegen, führt es aus und kehrt mit Beweisen zurück. Als Opus das SQLite-Transaktions-Idempotenz-Problem markierte, identifizierte es nicht nur das Muster: es entwarf einen Test, feuerte 3 Inserts mit einer identischen leeren Transaktions-ID ab und gab die Ausgabe zurück, die zeigte, dass 1 Zeile gespeichert wurde. INSERT OR IGNORE-Kollision gegen eine UNIQUE-Beschränkung, demonstriert. Nicht aus dem Lesen abgeleitet.
Fable 5 arbeitet wie ein Audit-Leiter, der ein Team managt. Es teilt das Repository in 4 Zonen auf, spawnt 4 parallele Agenten und weist jedem Agenten das Modell zu, das es für das Risikoprofil dieser Zone für angemessen hält. Es geht nicht tief in eine einzelne Datei. Es hält die Karte, während die Agenten das Terrain lesen, und macht dann etwas, was Opus nie macht: geht zurück und validiert die Befunde jedes Agenten, bevor sie im Bericht landen. (Denk an einen Raid-Leader, der Aufgaben verteilt, während der beste Solo-Spieler im Team jede Boss-Hitbox auswendig lernt. Verschiedene Jobs. Derselbe Dungeon.) Entwickler, die verstehen wollen, warum dieses Koordinationsmodell so funktioniert, finden warum CLI-native Agent-Pipelines MCP-basierte Setups übertreffen lesenswert neben diesem Artikel.
Ein Modell ist gebaut, um Dinge zu beweisen. Das andere ist gebaut, um sie nicht zu übersehen. Sie konkurrieren nicht um denselben Job.
Der Moment, in dem Fable 5 seinen Preis wert war
Einer von Fables Agenten kam zurück mit „litestream backup nicht deployed, Schweregrad: hoch."
Fable öffnete eine SSH-Verbindung und führte systemctl is-active litestream aus. Bekam „active" zurück. Reklassifiziert: das Backup fehlt nicht, die Runbook-Dokumentation ist falsch. Schweregrad auf informativ herabgestuft.
Dieselbe Session, 5 Minuten später: „kritische Shell-Injection-Schwachstelle" bei einem URL-Query-Parameter. Fable verfolgte den Parameter durch den Request-Builder, fand URLSearchParams, die Apostrophe als %27 kodieren, bevor ein Shell-Kontext sie empfangen konnte. Nicht injizierbar. Herabgestuft.
2 kritische Befunde eliminiert, ohne dass ich eine einzige Datei öffnete.
(Als ich die litestream-Reklassifikation selbst überprüfte, zog ich die Unit-Datei hoch und bemerkte, dass der Kommentarblock immer noch den alten Server-Hostnamen von einer Migration referenzierte, die ich vor 8 Monaten gemacht hatte. Der Service funktioniert. Die Kommentare beschreiben eine Maschine, die nicht mehr existiert. Nicht dringend oder blockierend, sammelt sich nur still an, bis die nächste Person, die den Server anfasst, herausfinden muss, was real war und was vor 2 Migrationen real war. Ich habe einen Klebezettel an meinem Monitor, der „Infrastruktur-Doku-Durchgang" sagt, seit mindestens Januar.)
Audit-Qualität wird nicht an der Anzahl der Befunde gemessen.
4 Befunde, die Fable fand, Opus übersah

4 echte Sicherheitsbefunde, die Opus komplett übersah.
Der Postback-Key-Vergleich. Der Partner-Postback-Endpoint validiert sein eingehendes Secret mit einem Standard-Go-!=-String-Vergleich. Dieser Vergleich leckt Timing-Informationen: mit genügend Requests kann ein Angreifer, der Response-Latenz misst, erkennen, wann sein Guess „näher" am korrekten Secret ist. Der Fix sind 2 Zeilen, den Vergleich gegen subtle.ConstantTimeCompare aus Go's crypto/subtle-Paket zu tauschen.
Constant-Time-Vergleich ist Standard in jedem Auth-System, das Secrets handhabt. Das Problem ist nicht, den Fix zu kennen. Das Problem ist zu wissen, dass man fragen muss, ob der Vergleich constant-time ist. (Timing-Angriffe auf Auth-Systeme sind im Grunde Speedrunning: bei genügend gemessenen Läufen händigt dir die Bestenliste schließlich den Schlüssel aus.) Timing-Angriffe auf Postback-Endpoints erfordern einen Angreifer, der weiß, dass der Endpoint existiert, die Secret-Länge kennt und Netzwerk-Jitter mit genügend Präzision messen kann. Nicht trivial. Auch nichts, was man live haben möchte, wenn der Endpoint öffentlich zugänglich ist ohne zusätzliche Authentifizierungsschicht.
Das ist das „So Did I" aus dem Titel. Dieser Vergleich lief seit Launch in der Produktion. Opus hatte den Handler-Code in seinem Terminal-Fenster. Es hat ihn nicht markiert. Fable hat ihn markiert.
Ich hatte ihn auch nicht markiert.
Services, die als root laufen. Sowohl das Go-Binary als auch das TypeScript-Back-Office laufen ohne systemd-User=-Direktive und ohne konfigurierte Crash-Loop-Alerting. Opus hatte systemctl cat auf beide Service-Dateien ausgeführt, die Umgebungsvariablen durchgelesen und weitergemacht, ohne die fehlende Sandboxing zu bemerken. Services ohne systemd-User-Isolation zu betreiben ist ein zuverlässiger Weg, einen kompromittierten Service in einen vollständig kompromittierten Host zu verwandeln. Fable markierte beide.
Das CLI, das explizit im Scope war. Das Briefing schloss es ein. Fable fand es. Opus adressierte es nie. Befunde in der CLI-Zone: API-Registrar-Credentials sichtbar in ps-Output auf dem Remote-Host. Ein Validierungsfehler in der CSV-Import-Routine löst still eine falsche Alert-E-Mail bei jedem betroffenen Lauf aus. Ausgehende HTTP-Calls ohne Timeout-Set, was bei Netzwerkdegradation Goroutinen unendlich offen hält.
Slowloris-Exposition. Der HTTP-Server hatte ReadHeaderTimeout konfiguriert und sonst nichts. Fehlende ReadTimeout, WriteTimeout und IdleTimeout bedeuten, dass ein Slow-Connection-Angriff Worker-Goroutinen am Leben halten kann, bis dem Server die ausgehen. Fable markierte es. Opus erreichte nie die Server-Konfiguration.
Das Muster über alle 4: was außerhalb des aktiven Aufmerksamkeitskegels sitzt, wird nicht gefunden, auch wenn es bereits in der Terminal-Ausgabe auf dem Bildschirm vorhanden ist.
Was Opus bewies, was Fable nur annahm
Ehrlichkeit erfordert Balance. 4 Befunde in Opus's Bericht, die kein Fable-Agent aufdeckte.
Der No-Op-API-Guard. Im TypeScript-Back-Office verlässt die Funktion namens apiGuard ohne etwas zu erzwingen im deployed Production-Build. Vollständiger destruktiver Zugang vom privaten Mesh mit null Authentifizierung. Fables Agenten markierten „Authentifizierungskonfiguration sollte überprüft werden." Opus SSH'te zum Server, lokalisierte das deployed Artefakt, bestätigte das Verhalten der Funktion und nannte die spezifische Funktion. Der Unterschied zwischen diesen 2 Befunden ist der Unterschied zwischen einem Action-Item und einer Leseaufgabe.
Tote Routing-Logik. Ein is_bot-Filter in den Partner-Referral-Routing-Regeln feuert eine Ablehnung, bevor die Routing-Evaluation läuft. Die nachgelagerte Bedingung, die auf Bot-Status prüft, kann nie matchen, weil Bots upstream abgelehnt werden, bevor sie sie erreichen. Das Datenmodell verspricht Verhalten, das der Code strukturell nicht liefern kann. Keiner von Fables Agenten, die dieser Zone zugewiesen waren, fing es ab.
Verwaiste Click-Records. Wenn ein Partner-Token gelöscht wird, bleiben die damit verbundenen Click-Records in der Datenbank. Keine Foreign-Key-Constraint erzwingt Cleanup. Sie verzerren still Attributions-Metriken für jede Analyse, die gelöschte Token nicht berücksichtigt. Beide Modelle beschrieben dies als „potenzieller Umsatzverlust", was nicht akkurat ist: die Clicks werden nicht doppelt abgerechnet, die Statistiken werden gegen Geister-Records berechnet. Business-Impact-Framing ist immer noch der Job des Menschen.
Der Idempotenz-Beweis. Opus schrieb ein eigenständiges Go-Programm, führte es gegen eine Test-Datenbank aus und gab die Ausgabe zurück: 3 Inserts mit einer identischen leeren Transaktions-ID, 1 gespeicherte Zeile. Das sind verifizierbare Beweise. Du kannst dieses Programm selbst ausführen und dasselbe Ergebnis bekommen. Kein Fable-Agent drang zur Ausführungsebene vor. Sie identifizierten das Muster. Opus bewies es.
Es gibt etwas, womit es sich lohnt zu sitzen, und ich denke, es ist wirklich schwer sauber zu artikulieren, auch nachdem ich beide Sessions vollständig beobachtet habe: die Lücke zwischen „Ich identifizierte ein verdächtiges Muster" und „Ich baute ein Programm, das beweist, dass dies ein echter Bug ist" ist kein Fähigkeitsunterschied im traditionellen Benchmark-Sinn. Vielleicht liege ich falsch, aber es fühlt sich an wie eine Ermessensentscheidung darüber, wann Code lesen nicht mehr ausreicht und Code ausführen notwendig wird. Die meisten Senior Engineers defaulten darauf, länger zu lesen, als sie sollten. Opus traf die andere Wahl, schrieb den Beweis in unter 3 Minuten und machte weiter. Vielleicht ist dieses Urteilsvermögen das, was die Benchmark-Zahlen tatsächlich messen, auf einer tieferen Ebene.
Coverage vs Beweis: Ein 2-Zeilen-Framework
Opus bohrt schmal und tief. Wenn es etwas beweist, beweist es es mit Beweisen, die du unabhängig verifizieren kannst. Der Wegwerf-Go-Test, die SSH-Bestätigung des No-Op-Auth-Guards: das sind die Outputs eines Modells, das den Loop schließt, anstatt zu markieren und weiterzumachen.
Fable deckt den Perimeter ab. Es zweifelt an seinen eigenen Subunternehmern und validiert Befunde, bevor sie dich erreichen. Es findet, was außerhalb des Aufmerksamkeitskegels eines einzelnen Agenten existiert.
Das Framework ist kurz. Fable macht Sinn, wenn Coverage die Priorität ist: breiter Scope, unabhängige parallele Agenten, Befunde kreuzvalidiert, bevor sie im Bericht landen. Opus macht Sinn, wenn Beweis die Priorität ist: ein spezifisches verdächtiges Verhalten, das empirisch demonstriert werden muss, nicht nur berichtet. Wenn Code echtes Geld durchfließt, willst du beide Sessions. (Führe sie wie eine Party-Comp aus: Fable räumt den Dungeon, Opus löst den Boss.)
Das ist nicht zwischen den Zeilen lesen. Die Fable 5 Systemkarte, alle 319 Seiten am 9. Juni veröffentlicht, dokumentiert den Fehlermodus direkt. In einer Routine-internen Operation (886 gewöhnliche Use Cases, kein adversariales Red-Teaming) berichtete das Modell „überhaupt keine Fehlerbewegung" nach der Überprüfung eines einzigen Fehlertyps, dann unterzählte es den tatsächlichen Produktionsvorfall um einen Faktor von 20. Anthropic schrieb das auf und veröffentlichte es am Launch-Tag. Der blinde Fleck ist dokumentiert, nicht versteckt. Lohnt sich, deine Verifikationsschicht darum zu bauen, nicht um die Annahme, dass das Modell dir alles sagt, was es übersehen hat.
Die 11-Punkte-SWE-Bench-Pro-Lücke ist real. So ist das dokumentierte Unterzählungs-Versagen. Beide Dinge sind gleichzeitig wahr, und deine Produktionszugangs-Policy sollte beide berücksichtigen.
Fable findet, was du vergessen hast zu suchen. Opus beweist, was du Angst hattest auszuführen.
Diese Timing-Vergleichs-Schwachstelle am Partner-Postback-Endpoint (2 Zeilen zu fixen) lief seit Launch. Opus hatte den Handler-Code in seinem Terminal. Es stellte die Frage nicht. Fable stellte sie.
Ich hatte sie auch nicht gesehen.
Geh und auditiere deine Projekte.
Quellen
- Claude Fable 5 and Claude Mythos 5, Anthropic (June 9, 2026)
- Fable 5 and Mythos 5: Agentic Coding Deep Dive, Digital Applied (June 9, 2026)
- Fable 5 and Mythos 5: The Frontier Split in Two, Digital Applied (June 9, 2026)
Dieser Post kann Affiliate-Links enthalten. Wenn du sie anklickst, verdiene ich möglicherweise eine kleine Provision (kostet dich nichts und hilft mir dabei, weiterhin täglich qualitativ hochwertige Artikel für dein Lesevergnügen zu liefern).