Dans la matinée du 28 septembre, Zhipu a annoncé avoir retiré le pipeline d'envoi des snapshots de dépôts de ZCode vers le cloud, supprimé les données cloud concernées, et mis à jour en parallèle la version open source vers la 3.14.3. La nouvelle position officielle tient en une phrase : "sans action de votre part, rien ne part vers le cloud" — sans une opération lancée par l'utilisateur, le code ne quitte plus la machine locale.
Le même communiqué détaille aussi le plan de dédommagement. Chaque utilisateur reçoit 4 cartes de reset hebdomadaire et 4 cartes de reset de 5 heures, valables un mois ; entre le 28 septembre et le 7 octobre, Zhipu distribuera à l'ensemble des utilisateurs 100 000 quotas de 100 millions de tokens chacun. Le communiqué ne détaille ni les conditions d'éligibilité ni les règles de répartition.
Le problème venait du Repo Wiki
Sur la cause de l'incident, Zhipu reprend l'explication déjà donnée : la fonction "indexation de dépôt" de ZCode comporte un module appelé Repo Wiki ; la génération de pages wiki peut déclencher l'envoi de données du dépôt. Ces données seraient détruites immédiatement après la génération de la page dans le cloud, sans être conservées. La fonction était activée par défaut au tout début du lancement, ce qui a touché une partie des utilisateurs.
Cette explication avait déjà été mise en doute par des développeurs lors de sa première apparition, le 18 septembre. À l'époque, le blogueur tech Ferstar avait disséqué un échantillon : un seul snapshot pesait 313 Mo, dont 86,6 % pour le seul dossier .git — ce qui partait n'était pas seulement le code courant, mais tout l'historique des commits et le cache LFS. Ce qui a le plus dérangé les développeurs, c'est que l'interrupteur de l'interface ne contrôlait que l'utilisation ou non des données par le serveur pour entraîner des modèles, alors que l'empaquetage et l'envoi local se poursuivaient sans changement.
De l'excuse à l'audit, trois jours d'intervalle
En remettant les événements sur une frise chronologique, la gestion de Zhipu s'est déroulée cette fois en trois temps.
Le 18 septembre, des excuses ont été publiées, avec la promesse d'ouvrir prochainement le code du dépôt et d'inviter un tiers à l'examiner ; le jour même, l'entreprise a réinitialisé une fois le quota hebdomadaire de tous les utilisateurs.
Le 21 septembre, ZCode est officiellement passé en open source. Selon Eastmoney et d'autres médias, Zhipu a mandaté la China Academy of Information and Communications Technology (CAICT) et NSFOCUS pour un audit de sécurité : l'évaluation technique de la CAICT conclut que le bucket OSS d'Alibaba Cloud nommé zcode-prod se trouve dans un état "zéro donnée dans le cloud", et que le client, à partir de la version v3.14.0, avait déjà retiré la fonction Repo Wiki ; NSFOCUS confirme que ce bucket et tous les objets de données qu'il contenait ont été supprimés, et qu'aucune fonction du client n'a été trouvée capable de déclencher un snapshot local du dépôt ou une exfiltration de fichiers. Zhipu a également affirmé que les données de code évoquées par la communauté ne sont pas conservées, et que l'entreprise ne les a jamais utilisées pour entraîner des modèles.
Le 28 septembre, soit ce communiqué même, la version est passée à 3.14.3 et le plan de dédommagement est entré en application.
Dix jours pour parcourir "révélation, excuses, open source, audit, dédommagement" : le rythme n'est pas lent. L'open source permet à quiconque de lire soi-même le code du module de snapshot ; l'audit, lui, apporte des conclusions issues de deux organismes indépendants. Ces deux éléments sont plus faciles à vérifier qu'une simple déclaration unilatérale de "problème résolu".
Ce qui reste à éclaircir
Le communiqué et les conclusions d'audit ne couvrent que le "présent" : bucket vide, pipeline démonté. Sur plusieurs questions rétrospectives, les documents publics disponibles n'apportent pour l'instant aucune réponse.
Zhipu n'a pas dévoilé combien d'utilisateurs et de dépôts ont été touchés. La base d'utilisateurs de ZCode avait dépassé le million mi-août et aurait, selon certains rapports, doublé pour atteindre environ 2 millions mi-septembre ; combien de personnes se trouvaient dans la période où le Repo Wiki était activé par défaut, personne à l'extérieur ne peut l'estimer. Combien de temps les données sont réellement restées sur l'OSS, et si elles ont été lues par d'autres systèmes avant leur suppression, restent également sans réponse — le rapport d'audit complet n'a pas été rendu public, les médias n'en ayant relayé que les conclusions.
Pour les développeurs qui utilisent encore ZCode, la pratique prudente reste inchangée : passer à la version 3.14.3, nettoyer les répertoires de snapshots restés sur la machine locale, et faire tourner toutes les clés et tokens qui ont pu apparaître dans l'historique Git. Pour ce qui a déjà fuité, la promesse "déjà supprimé" ne peut garantir que le côté du prestataire.
Le dédommagement en cartes de reset et en tokens n'a de sens que pour ceux qui continuent d'utiliser ZCode. Les entreprises qui ont déjà désinstallé l'outil à cause de cet épisode attendent surtout le rapport d'audit complet.
Sources : communiqué officiel de Zhipu ZCode, ITHome, Sina Tech, CocoLoop, Eastmoney ; vérification du nombre de cartes et de la période de distribution des quotas dans le plan de dédommagement, du numéro de version open source, ainsi que de la formulation des conclusions d'audit de la CAICT et de NSFOCUS.