Die Datei, die nie geöffnet wurde
Der Forscher legte einen Köder aus. Eine einzelne Datei in einem Test-Repository, die der Assistent nie öffnen sollte und auf die er nie verwies: ein Kanarienvogel. Dann leitete er den Datenverkehr über einen Proxy und sah nach, was Grok Build, die Coding-CLI von xAI, tatsächlich nach Hause schickte. Die Köderdatei tauchte im abgefangenen Paket wieder auf. Sie hatte den Rechner verlassen, ohne je gelesen worden zu sein.
Die veröffentlichte Analyse auf Netzwerkebene beschreibt für Version 0.2.93 zwei getrennte Kanäle. Der erste ist der, den jeder von einem Cloud-Coding-Assistenten erwartet: ein Kanal für die Modellrunde, der die Dateien überträgt, die der Agent wirklich liest, damit er antworten kann. Der zweite ist ein Speicherkanal im Hintergrund, der einen Abzug des gesamten Arbeitsbereichs in einen Storage-Bucket schiebt, ganz gleich, ob der Agent diese Dateien angesehen hat oder nicht.
Der Unterschied zwischen beiden ist der eigentliche Befund. Bei einem 12 Gigabyte großen Test-Repository bewegte der Modellkanal rund 192 Kilobyte. Der Hintergrundkanal bewegte 5,10 Gibibyte, in 73 Blöcken von je etwa 75 Megabyte. Das ist ungefähr das 27.800-Fache. Der eine Kanal erledigte die Arbeit. Der andere kopierte das Gebäude.
Unter den Dateien, die mitgingen, war eine versionierte .env, also genau die Konvention, mit der Entwickler das aufbewahren, was niemals reisen darf: API-Schlüssel, Datenbankpasswörter. Sie ging wortwörtlich und ungeschwärzt hinaus.
Der Schalter auf dem Bildschirm war nicht der Schalter auf der Leitung
Jedes KI-Entwicklerwerkzeug liefert heute einen Schalter mit, auf dem sinngemäß "Modell verbessern" steht. Es ist der Regler, nach dem der Einkauf fragt, den ein Datenschutzbeauftragter in die Folgenabschätzung schreibt und auf den ein Engineering-Lead zeigt, wenn jemand wissen will, ob der Code sicher ist.
Der Forscher schaltete ihn aus. Dann prüfte er nach, was der Server davon hielt. Der Settings-Endpunkt lieferte trace_upload_enabled weiterhin als true zurück. Die Uploads liefen weiter.
Diesen Teil sollte man von der Schlagzeile trennen. Der Fehler war nicht, dass ein Coding-Assistent Code an einen Server schickt. Das ist die ganze Prämisse eines Cloud-Coding-Assistenten und der Grund, warum man vor der Installation die Bedingungen liest. Der Fehler ist, dass Einwilligungsschalter und Datenpfad nie miteinander verbunden waren. Der Schalter regelte das Training. Der Upload lief über eine andere Leitung, und nichts auf dem Bildschirm reichte bis dorthin.
Eine Kontrolle, die nichts kontrolliert, ist schlimmer als gar keine Kontrolle, weil ein Team, das sie sieht, aufhört hinzusehen.
Der serverseitige Fix ist der eigentliche Befund
Am 13. Juli 2026 hörten die Uploads auf. Lehrreich ist das Wie. Es gab keine neue Client-Version, keinen Versionssprung, keinen Changelog-Eintrag, den Anwender hätten prüfen und freigeben können. Dasselbe Binary 0.2.93 stellte die Storage-Anfragen schlicht ein, weil der Server nun mit einem neuen Flag antwortete, das den Codebase-Upload abschaltete. Elon Musk sagte, die bereits hochgeladenen Daten würden, in seinen Worten, "completely and utterly deleted", also vollständig und restlos gelöscht.
Lesen Sie diese Reihenfolge noch einmal aus Governance-Sicht. Das Verhalten der Software auf den Laptops Ihrer Entwickler wurde aus der Ferne geändert, vom Hersteller, ohne das Artefakt anzufassen, das Sie freigegeben hatten. Es hätte sich auf demselben Weg auch in die andere Richtung ändern lassen, und von Ihrer Seite aus hätte es identisch ausgesehen.
Das ist die strukturelle Lehre, und sie reicht weit über xAI hinaus. Wenn serverseitige Flags bestimmen, wie ein Werkzeug mit Daten umgeht, dann sagt eine einmalige Prüfung des Clients nur, was er an dem Tag tat, an dem Sie hingesehen haben. Was er heute tut, sagt sie nicht. Eine Version pinnen, die Release Notes lesen, abzeichnen: Das ist ein Verfahren für Software, die ihr Verhalten im Binary ausliefert. Die meisten KI-Werkzeuge tun das nicht mehr.
xAI hat nicht veröffentlicht, warum die Uploads existierten, wie lange die Daten aufbewahrt wurden, wer sie erreichen konnte und wie viele Nutzer betroffen sind. Diese vier Antworten braucht ein Kunde, um den Vorfall zu bemessen, und ihr Fehlen ist selbst eine Information.
Was ein europäisches Team seinen Kunden jetzt schuldet
Beginnen Sie mit der Annahme, die am wenigsten kostet, wenn sie falsch ist: Behandeln Sie jedes Secret, das in irgendeinem mit Grok Build geöffneten Repository lag, als offengelegt. Rotieren Sie API-Schlüssel, Datenbank-Zugangsdaten, Signaturschlüssel und Tokens. Richten Sie sich dabei danach, welche Repositories geöffnet wurden, nicht danach, welche Dateien der Assistent Ihrer Meinung nach gelesen hat. Denn der ganze Befund besteht darin, dass diese beiden Mengen eben nicht dieselben sind.
Prüfen Sie dann, was sonst noch in diesen Repositories lag. Quellcode allein ist ein kaufmännisches Problem. Personenbezogene Daten, oder Zugangsdaten zu Systemen, in denen solche liegen, sind ein rechtliches. Nach der DSGVO ist ein KI-Anbieter, der Ihr Repository in Ihrem Auftrag verarbeitet, Auftragsverarbeiter, und eine Kopie dieses Repositorys in einem Storage-Bucket außerhalb des vereinbarten Zwecks ist eine Offenlegung, die Sie bewerten müssen. Ihre Meldepflicht läuft ab dem Zeitpunkt, zu dem Sie Kenntnis erlangt haben, und die Nachbesserung eines Anbieters setzt sie nicht zurück.
Wesentliche und wichtige Einrichtungen im Sinne von NIS2 sollten den Fall als Lieferkettenvorfall behandeln und genau so protokollieren, denn nichts anderes ist er: ein Mangel im Produkt eines Lieferanten, der Ihre Daten irgendwohin bewegt hat, wo Sie sie nie haben wollten.
Nichts davon verlangt Gewissheit darüber, was xAI mit den Daten getan hat. Es verlangt nur die Einsicht, dass Sie derzeit nicht beweisen können, dass es folgenlos blieb.
Wie man danach ein KI-Coding-Werkzeug einkauft
Die nützliche Konsequenz ist kein Verbot. Teams, die KI-Coding-Assistenten rundheraus untersagen, stellen meist fest, dass ihre Entwickler trotzdem einen installiert haben, nur protokolliert es jetzt niemand mehr. Die nützliche Konsequenz ist, den Client nicht länger für die Grenze zu halten.
Stellen Sie einem Anbieter drei Fragen, bevor das nächste Werkzeug auf einen Laptop kommt. Mit welchen Endpunkten spricht es, und können wir das in unserem eigenen Netz sehen statt in Ihrer Dokumentation. Kann Ihr Server ändern, was der installierte Client sendet, ohne dass eine neue Version ausgeliefert wird, und wenn ja, woran merken wir es. Wenn eine Einstellung in unserem Tenant aus ist, wie sieht die serverseitige Entsprechung dieser Einstellung aus, und lassen Sie uns das nachprüfen.
Machen Sie die Antworten dann prüfbar statt vertraglich. Ein Proxy und ein Nachmittag haben diesen Befund hervorgebracht. Das ist eine billigere Kontrolle als jeder Lieferantenfragebogen, und sie ist die einzige, die Verhalten misst statt Absicht. Secrets wiederum gehören überhaupt nicht in ein Repository, das ein Coding-Agent sehen kann: Umgebungsvariablen zur Laufzeit einspeisen, dazu ein verwalteter Secrets-Store, und aus dieser Klasse von Vorfällen wird statt einer Datenpanne ein Achselzucken.
Die Werkzeuge sind es wert, benutzt zu werden. Nichts wert ist dagegen ein Prüfprozess, der das Etikett liest und nie auf die Leitung sieht.
Weiterlesen: Die Steuerdaten gingen über den IT-Helpdesk | Eine Anfrage konnte Ihre WordPress-Seite kapern



