Le problème soulevé par ZCode ne se résume pas au fait qu’un assistant de programmation puisse communiquer avec un serveur. Quelle quantité de données emporte-t-il, et l’utilisateur le sait-il ? Le 18 septembre 2026, le chercheur ferstar a décrit un mécanisme qui préparait une copie chiffrée de tout son espace de travail local, historique du projet compris, en vue d’un envoi vers le stockage en ligne d’Alibaba Cloud, sans consentement explicite.
4
10
32
Une archive de 313 Mo, au-delà des fichiers de code actuels
Sur la machine de ferstar, ZCode a regroupé 42 411 fichiers dans une archive de 313 Mo. Les journaux ont enregistré 564 tentatives d’envoi vers le service de stockage d’objets d’Alibaba Cloud ; elles ont toutes échoué dans son cas. Ces chiffres décrivent une observation individuelle : ils ne permettent pas de déterminer combien d’envois auraient abouti chez d’autres utilisateurs.
10
La copie comprenait aussi l’historique Git, notamment les journaux de références (reflogs) et le cache Git LFS, utilisé pour les gros fichiers. En empaquetant tout l’espace de travail, le mécanisme risquait également d’emporter des fichiers de configuration sensibles ou des identifiants avec le code.
4
14
Pourquoi les utilisateurs ne pouvaient pas vérifier eux-mêmes une archive envoyée
Selon l’analyse technique rapportée par ferstar, ZCode chiffrait le contenu avec AES-256-CTR, puis protégeait la clé de ce chiffrement avec RSA-OAEP-SHA256, au moyen d’une clé publique fournie par le serveur. Le client recevait également les identifiants nécessaires à l’envoi vers le stockage d’Alibaba Cloud.
10
La clé privée correspondante restait sur l’infrastructure de Z.AI. Un utilisateur ne pouvait donc pas déchiffrer lui-même une archive déjà envoyée pour en examiner le contenu, ni vérifier personnellement ce qu’il était advenu de cette copie.
17
L’explication de Z.AI et les changements apportés
Z.AI a attribué ce comportement à une fonction d’indexation du code, « Codebase Indexing », activée par défaut, et a déclaré avoir corrigé la faille. Selon l’entreprise, l’envoi des dépôts servait à générer une page « Repo Wiki » ; les données étaient ensuite détruites. Z.AI a présenté ses excuses et publié le code source de ZCode sous licence Apache 2.0.
17
22
2
En examinant la version 3.14.0, ferstar a constaté que la chaîne d’envoi repoSnapshot avait été retirée et que le point d’accès délivrant les identifiants du stockage renvoyait une erreur 404.
23 D’après les évaluations rapportées de l’Académie chinoise des technologies de l’information et des communications et de la société de cybersécurité NSFOCUS, le compartiment de stockage Alibaba Cloud concerné était vide ou supprimé ; elles n’ont pas non plus trouvé, dans le client mis à jour, de chemin fonctionnel déclenchant encore ces copies.
7 La publication du code permet d’examiner la version diffusée, même si ferstar a relevé que le dépôt publié ne contenait que deux commits, et non l’historique antérieur du développement.
9
Z.AI a aussi annoncé vouloir instaurer un dispositif permanent de signalement des vulnérabilités. Séparément, des articles ont fait état d’un projet permettant aux utilisateurs de demander la non-conservation de certaines données sur sa plateforme MaaS, qui fournit l’accès à ses modèles comme service. Cette politique annoncée comporte des exceptions, notamment pour certaines interfaces de programmation et pour les informations conservées pour des raisons légales, de sécurité ou de prévention des abus.
13
20
Ce que les contrôles ne démontrent pas
Z.AI affirme que les données de code ne sont pas conservées et qu’elles n’ont jamais servi à entraîner ses modèles. Les contrôles rapportés étayent une conclusion plus limitée sur le compartiment de stockage examiné : ils ne vérifient pas, à eux seuls, l’absence d’utilisation passée pour l’entraînement.
8
9
Un client professionnel aurait par ailleurs adressé une lettre juridique demandant des réponses sur le traitement des données envoyées. Les informations disponibles n’établissent ni l’issue de cette démarche ni une preuve indépendante de suppression pour chaque utilisateur concerné.
18
21 À la Bourse de Hong Kong, le titre Z.AI a perdu plus de 5 % à un moment de la séance du 21 septembre, selon les comptes rendus de marché : il s’agit d’un mouvement en séance, pas d’une variation du cours de clôture.
30
33
Pour les développeurs, la distinction est essentielle : le retrait du mécanisme dans le client et l’état du compartiment contrôlé disposent d’éléments à l’appui. Le devenir de chaque copie antérieure et l’affirmation relative à l’entraînement des modèles restent, eux, soumis à la portée des vérifications rendues publiques et aux déclarations de Z.AI.
7
8
23