Console ist der optionale gehostete Dienst von OpenCode: Ein Arbeitsbereich speichert dort seinen eigenen OpenAI-, Anthropic- oder Google-Schlüssel, und Console nutzt diesen Schlüssel für die Anfragen an den Anbieter, sodass Teammitglieder die Modelle verwenden können, ohne den Schlüssel je zu sehen.

Die Benachrichtigung ging am Morgen des 17. Oktober mit der Betreffzeile „Handlung erforderlich: Mögliche Kompromittierung von Provider-Schlüsseln" heraus. Wer keine E-Mail erhalten habe, sei nicht betroffen, erklärte OpenCode noch am selben Tag in einem Beitrag auf X.

Gefährdet sind ausschließlich die in Console eingefügten Schlüssel. Die Kommandozeilen- und Desktop-Anwendungen von OpenCode speichern lokal hinzugefügte Provider-Schlüssel dagegen in einer SQLite-Datenbank auf dem jeweiligen Rechner. Der Vorfall betreffe „die OpenCode Console, nicht OpenCode selbst", schrieb Mitgründer Dax Raad in einer Antwort auf X; diese Schlüssel „kommen nie zu uns".

Ein Provider-Schlüssel ist ein Bearer-Credential: Wer eine Kopie besitzt, kann auf Kosten des Inhabers abrechnungspflichtige Anfragen stellen, bis der Anbieter den Schlüssel widerruft. Das Löschen des Schlüssels in Console widerruft ihn nicht, und auch ein Budget in Console kann die Nutzung nicht begrenzen, weil Console nur die Anfragen sieht, die über sein eigenes Gateway laufen.

Für Schlüssel, die in einem Console-Arbeitsbereich gespeichert waren, nennen die E-Mail von OpenCode und die Hinweise der Anbieter folgende Schritte:

  • Den Schlüssel im Dashboard des Anbieters widerrufen und einen neuen erzeugen, entsprechend den Anleitungen von OpenAI, Anthropic oder Google.
  • Jede Anwendung und jedes Skript aktualisieren, die den alten Schlüssel genutzt haben.
  • Nutzung und Abrechnung beim Anbieter auf nicht selbst veranlasste Anfragen prüfen, mindestens rückwirkend bis zum 16. Oktober. Wann der unbefugte Zugriff begann, hat OpenCode nicht mitgeteilt.
  • Beim Anbieter ein Ausgabenlimit oder eine Warnung einrichten und jedem Werkzeug einen eigenen Schlüssel geben, damit ein kopierter Schlüssel weniger Schaden anrichtet und seine Nutzung leichter nachvollziehbar ist.

Einige Nutzer berichten bereits von Kosten für Anfragen, die sie nicht gestellt haben. Colin Parsons schrieb auf X, sein OpenAI-Schlüssel sei für 281 US-Dollar und sein Anthropic-Schlüssel für 168 US-Dollar genutzt worden; Preston Zeller bezifferte seinen Schaden auf 1.700 US-Dollar. Ein Reddit-Nutzer gab unbefugte Nutzung im Umfang von 400 US-Dollar auf einem Anthropic-Konto an, ein weiterer rund 200 Euro bei Google, woraufhin das Projekt gesperrt wurde. Es handelt sich dabei um Angaben der Nutzer selbst. OpenCode formuliert lediglich, die Schlüssel „könnten offengelegt worden sein", und hat nicht erklärt, dass ein Schlüssel kopiert oder verwendet wurde.

In dem Beitrag vom 17. Oktober bezeichnete OpenCode den Vorfall als andauernd und erklärte, man arbeite mit Anthropic, OpenAI und Google an der Behebung; der Einbruch stehe „im Zusammenhang mit einem groß angelegten Distillation-Angriff". Namen nannte das Unternehmen nicht, ebenso wenig den Zusammenhang zwischen beidem, um welches Altsystem es sich handelte, wie es erreicht wurde, wie viele Schlüssel dort lagen oder wie vielen Nutzern 1,4 Prozent entsprechen.

Als Distillation bezeichnen Modellanbieter Kampagnen, die Antworten eines Modells in großer Zahl abgreifen, um damit ein konkurrierendes Modell zu trainieren. Anthropic erklärte im September, die dahinterstehenden Labore erreichten seine Modelle über Netze gefälschter Konten, die mit gestohlenen Kreditkarten, Zugangsdaten und abgegriffenen API-Schlüsseln angelegt werden. Gestohlene Schlüssel haben weitere Verwendungen: Kriminelle Marktplätze handeln mit KI-Token und Schlüsseln und treiben damit Rechnungen in die Höhe.

Am 18. Oktober versuchten Angreifer weiterhin, in die Systeme von OpenCode einzudringen, schrieb Raad auf X: Man werde „seit 48 Stunden ununterbrochen angegriffen", und „ein Nebeneffekt ist, dass alles gehärtet wird".