Die drei Forscher des Sicherheits-Start-ups Hacktron AI – Harsh Jaiswal, Mohan Pedhapati und Rahul Maini – schrieben Ende Juli mit Anthropics Claude Opus 5 eine Exploit-Kette, die vom Entwicklerforum von OpenAI direkt in dessen internes Code-Repository führte. Das Team veröffentlichte den vollständigen Ablauf am 13. September in einem Blogbeitrag, und diese Woche berichteten das Wall Street Journal und The Information nacheinander darüber, wodurch der Fall größere Aufmerksamkeit erhielt.
Die gesamte Kette begann mit einem einzigen Bild und endete im Haupt-Repository von OpenAI, openai/openai. Die Forscher öffneten darin als Beweis einen harmlosen Pull Request (Nummer #1186742), ohne sensible Daten auszulesen.
Ein HEIF-Bild durchbricht das Forum
Das Entwicklerforum von OpenAI, community.openai.com, läuft auf Discourse. Die integrierte Bildbibliothek von Discourse erkennt das HEIF-Format nicht und übergibt entsprechende Uploads an ImageMagick, das wiederum libheif zum Dekodieren aufruft.
Das Problem liegt in libheif. Die Bibliothek weist eine Heap-Buffer-Overflow-Schwachstelle auf, und die im Debian-Repository verwendete Version 1.19.7 hatte den entsprechenden Sicherheitspatch nicht zurückportiert bekommen. Darauf aufbauend bastelten die Forscher ein bösartiges HEIF-Bild, mit dem sie nach dem Hochladen Remote Code Execution auf dem Forenserver erlangten. Laut Hacktron sind die betroffenen libheif-Versionen von 1.19.7 bis 1.23.x über mehrere Linux-Distributionen hinweg betroffen.
Die Übernahme des Forenservers war erst der erste Schritt. Auf dem Server lagen Auth-Tokens angemeldeter Nutzer, darunter auch OpenAI-Mitarbeiter. Die Forscher stellten fest, dass sich einige Forum-Tokens direkt bei ChatGPT verwenden ließen. Hacktron betonte diesen Punkt im Blogbeitrag ausdrücklich:
"the vulnerability to escalate is not Discourse-specific. It is an OpenAI SSO issue"
Die für die Rechteausweitung genutzte Schwachstelle liegt nicht bei Discourse, sondern ist ein Problem des Single-Sign-on-Systems von OpenAI.
Über diese Lücke übernahmen die Forscher ChatGPT- und Codex-Konten mehrerer Mitarbeiter. Bei einem davon war Codex mit der GitHub-Organisation von OpenAI verknüpft; die Forscher schickten diesem Codex einen Prompt, der es veranlasste, im internen Repository einen Pull Request zu öffnen. Laut Hacktron waren über dieselbe Verknüpfung auch Dienste wie Slack und E-Mail erreichbar, die sie jedoch nicht anrührten.
Opus 4.8 schaffte es nicht, Opus 5 brauchte drei Stunden
Der Rolle des Modells widmet der Blogbeitrag den meisten Raum. Der Heap-Overflow in libheif ist in einer Umgebung mit aktiviertem ASLR (Address Space Layout Randomization) nur schwer auszunutzen; das Team hatte zuvor mehrere Versuche mit Claude Opus 4.8 ohne Erfolg unternommen.
"Opus 4.8 struggled across several sessions to produce a working exploit with ASLR enabled. Within hours of Opus 5's release, we gave it the same problem and it succeeded."
Opus 4.8 kämpfte über mehrere Sitzungen hinweg, ohne einen funktionierenden Exploit bei aktiviertem ASLR zu erzeugen; wenige Stunden nach dem Release von Opus 5 gaben wir ihm dasselbe Problem, und es gelang.
Nach dem vom Team genannten Zeitplan erschien Opus 5 am 24. Juli, und das Modell schrieb innerhalb von rund drei Stunden zunächst einen funktionierenden Exploit für eine lokale ARM64-Maschine und portierte ihn anschließend auf die x86-64-Umgebung mit jemalloc, die der Discourse-Server nutzt. Die Forscher ließen Claude in einer autonomen Schleife laufen, die wiederholt gegen eine selbst aufgesetzte Discourse-Cloud-Instanz antrat; am nächsten Morgen hatte es bereits Codeausführung erlangt und als Beweis die Datei /etc/hosts ausgelesen. Dasselbe Skript funktionierte anschließend auch gegen die Instanz von OpenAI.
Von der Entdeckung bis zum vollständigen Durchbruch vergingen rund 72 Stunden. Laut Hacktron kostete die gesamte Untersuchung mit dem Namen "HEIF Heist" weniger als 3.000 US-Dollar an Token-Verbrauch.
Es ist nicht das erste Mal, dass das Unternehmen Claude zum Schreiben von Exploit-Code einsetzt. Zuvor hatte es bereits einen Rückblick veröffentlicht, in dem Claude Opus einen Chrome-Exploit schrieb; damals lautete das Fazit, dass das Modell den Großteil der Arbeit erledigen könne, entscheidende Schritte aber noch menschliches Zutun erforderten. Bei dieser gesamten Kette vom Forum bis zum Repository war der menschliche Arbeitsanteil deutlich geringer. Nach Beschreibung des Teams entstand der Exploit-Code für den Discourse-Teil praktisch eigenständig durch das Modell.
Patch und Bug-Bounty
OpenAI reagierte nicht langsam. Nachdem die Forscher am 25. Juli den Fehler gemeldet hatten, bestätigte OpenAI die Behebung innerhalb von rund 14 Stunden, um 22:49 Uhr (UTC) desselben Tages. Discourse bestätigte den Eingang der Meldung am Sonntag und lieferte am Montag den Patch. Am 1. September zahlte OpenAI ein Bug-Bounty von 6.500 US-Dollar aus.
Bislang liegt nur die einseitige Darstellung von Hacktron vor. Ob OpenAI die Zugriffsprotokolle dieses Forenservers vor der Behebung geprüft hat, ob noch jemand anderes dieselbe Kette ausnutzte und ob die Mitarbeiter-Tokens vollständig widerrufen wurden, dazu gibt es bis Redaktionsschluss keine öffentliche Stellungnahme.
Für Entwickler in China ergeben sich aus diesem Vorfall zwei direkte Vergleichspunkte: Erstens werden bei Teams, die selbst Communitys wie Discourse oder Discuz betreiben, die Versionen von ImageMagick und diversen Decoder-Bibliotheken in der Bildverarbeitungskette oft langsamer aktualisiert als das Hauptprogramm. Zweitens hängt bei Unternehmen, die Forum, Ticketsystem und Hauptprodukt an dasselbe Single-Sign-on-System anbinden, im Fall eines durchbrochenen Randsystems davon ab, wie weit Tokens reichen können, ob der SSO-Geltungsbereich entsprechend eingeschränkt wurde.
Quellen: Hacktron-AI-Techblog, The Wall Street Journal, CocoLoop, The Information; der Hacktron-Blog bestätigt die Exploit-Kette, den 72-Stunden-Zeitplan, die 14-stündige Behebungszeit, das Bug-Bounty von 6.500 US-Dollar sowie die Token-Kosten von 3.000 US-Dollar.