Zhipu löscht ZCode-Cloud-Snapshots, gibt Reset-Karten und Tokens aus

Zhipu teilte am Morgen des 28. September mit, dass die Pipeline zum Hochladen von Repository-Snapshots in ZCode entfernt und die betroffenen Cloud-Daten gelöscht worden seien; die Open-Source-Version wurde synchron auf 3.14.3 aktualisiert. Der neue offizielle Grundsatz lautet: "Ohne dein Zutun geht nichts in die Cloud" – ohne aktive Aktion des Nutzers verlässt Code nicht mehr das lokale Gerät.

In derselben Mitteilung findet sich auch der Entschädigungsplan. Jeder Nutzer erhält 4 wöchentliche Reset-Karten und 4 Fünf-Stunden-Reset-Karten, gültig für einen Monat; zwischen dem 28. September und dem 7. Oktober vergibt Zhipu an alle Nutzer 100.000 Kontingente mit je 100 Millionen Token. Zugangsvoraussetzungen und Verteilregeln wurden in der Mitteilung nicht näher ausgeführt.

Das Problem lag im Repo Wiki

Zur Ursache hält Zhipu an der bisherigen Erklärung fest: Die Funktion "Repository-Indexierung" von ZCode enthält eine Komponente namens Repo Wiki; beim Erzeugen von Wiki-Seiten kann ein Upload von Repository-Daten ausgelöst werden. Die Daten würden nach Erzeugung der Seite in der Cloud sofort gelöscht und nicht gespeichert. Die Funktion war in der frühen Phase nach dem Start standardmäßig aktiviert, wodurch ein Teil der Nutzer betroffen war.

Diese Zuordnung wurde bereits beim ersten Auftauchen am 18. September von Entwicklern hinterfragt. Der Tech-Blogger Ferstar hatte damals ein Sample zerlegt: Ein einzelner Snapshot war 313 MB groß, davon entfielen 86,6 % auf das .git-Verzeichnis – hochgeladen wurde neben dem aktuellen Code auch die komplette Commit-Historie samt LFS-Cache. Entwickler störten sich vor allem daran, dass der entsprechende Schalter in der Oberfläche nur steuerte, ob der Server die Daten zum Training von Modellen nutzt – das lokale Packen und Hochladen lief davon unberührt weiter.

Von der Entschuldigung zum Audit: drei Tage dazwischen

Reiht man die Zeitleiste auf, zerfällt Zhipus Vorgehen diesmal in drei Schritte.

Am 18. September erschien die Entschuldigung mit dem Versprechen, das Code-Repository zeitnah zu öffnen und Dritte zur Prüfung einzuladen; noch am selben Tag setzte das Unternehmen für alle Nutzer einmalig das Wochenkontingent zurück.

Am 21. September wurde ZCode offiziell als Open Source veröffentlicht. Berichten von Eastmoney und anderen Medien zufolge beauftragte Zhipu die China Academy of Information and Communications Technology (CAICT) und NSFOCUS mit einer Sicherheitsprüfung: Die technische Bewertung der CAICT kam zu dem Ergebnis, dass sich der Alibaba-Cloud-OSS-Bucket namens zcode-prod in einem Zustand "null Cloud-Daten" befindet und der Client ab Version v3.14.0 die Repo-Wiki-Funktion bereits entfernt hat; NSFOCUS bestätigte, dass dieser Bucket und sämtliche darin enthaltenen Datenobjekte gelöscht wurden und im Client keine Funktion gefunden wurde, die lokale Repository-Snapshots oder einen Datenabfluss auslösen könnte. Zhipu erklärte zugleich, die von der Community erwähnten Code-Daten würden nicht aufbewahrt und seien nie zum Training von Modellen verwendet worden.

Am 28. September, also mit dieser Mitteilung, wurde die Version auf 3.14.3 angehoben und der Entschädigungsplan umgesetzt.

Zehn Tage für die Abfolge "Aufdeckung, Entschuldigung, Open Source, Audit, Entschädigung" – kein langsames Tempo. Open Source erlaubt es Außenstehenden, den Code des Snapshot-Moduls selbst zu lesen; das Audit liefert Ergebnisse von zwei unabhängigen Institutionen. Beides lässt sich leichter nachprüfen als eine einseitige Behauptung, das Problem sei "behoben".

Was noch offen bleibt

Mitteilung und Prüfergebnisse decken den "aktuellen Zustand" ab: Bucket leer, Pipeline entfernt. Auf einige rückblickende Fragen liefert das öffentlich verfügbare Material bislang keine Antwort.

Wie viele Nutzer und Repositories betroffen waren, hat Zhipu nicht offengelegt. Die Nutzerzahl von ZCode überschritt Mitte August die Marke von 1 Million und soll sich Berichten zufolge bis Mitte September auf rund 2 Millionen verdoppelt haben; wie viele Nutzer in den Zeitraum fielen, in dem Repo Wiki standardmäßig aktiviert war, lässt sich von außen nicht abschätzen. Wie lange die Daten tatsächlich im OSS lagen und ob sie vor der Löschung von anderen Systemen gelesen wurden, bleibt ebenfalls offen – der vollständige Audit-Bericht wurde nicht veröffentlicht, Medien geben nur die Schlussfolgerungen wieder.

Für Entwickler, die ZCode weiter nutzen, gilt unverändert die sichere Vorgehensweise: auf 3.14.3 aktualisieren, lokal verbliebene Snapshot-Verzeichnisse löschen und sämtliche Schlüssel und Tokens rotieren, die jemals in der Git-Historie aufgetaucht sind. Was bereits nach außen gelangt ist, kann das Versprechen "gelöscht" nur auf der Seite des Anbieters einlösen.

Die Entschädigung besteht aus Reset-Karten und Token-Kontingenten – das ist nur für jene relevant, die ZCode weiter nutzen. Unternehmenskunden, die das Tool wegen dieses Vorfalls bereits deinstalliert haben, wollen vor allem den vollständigen Audit-Bericht sehen.

Quellen: offizielle Mitteilung von Zhipu ZCode, ITHome, Sina Tech, CocoLoop, Eastmoney; abgeglichen wurden die Anzahl der Karten und der Zeitraum der Kontingentvergabe im Entschädigungsplan, die Open-Source-Versionsnummer sowie die Formulierung der Audit-Ergebnisse von CAICT und NSFOCUS.