xAI a ouvert le code source de Grok Build, son agent de codage en terminal, en publiant environ 844 530 lignes de Rust sur GitHub sous la licence Apache 2.0, une démarche entreprise pour rétablir la confiance après que le même outil a été pris à téléverser discrètement l'integralite des dépôts de code des utilisateurs vers les serveurs de xAI. Le retournement tient à ce que l'ouverture du code a révélé plutôt qu'à ce qu'elle a retiré. Les chercheurs en sécurité affirment que le code qui effectuait ces téléversements se trouve toujours dans le logiciel publié, désactivé par un drapeau côté serveur plutôt que supprimé.

Le comportement a été mis au jour lorsqu'un chercheur a retracé ce que Grok Build renvoyait durant une session normale. En plus du trafic de modèle attendu, d'environ 192 kilooctets, l'outil ouvrait un second canal qui téléversait environ 5,10 gigaoctets de données en 73 blocs d'à peu près 75 mégaoctets chacun, près de 27 800 fois plus que ne l'exigeait la tâche de codage. Il n'envoyait pas seulement les fichiers qu'il devait lire, il expédiait des dépôts Git entiers, historique complet des commits inclus, vers un bucket Google Cloud Storage exploité par xAI. Lors d'un test, un fichier .env suivi est monté sans caviardage, avec ses clés API canari et ses mots de passe de base de données, et des utilisateurs ont signalé que des clés SSH, des bases de données de mots de passe, des documents et des photos étaient emportés avec le code.

xAI a agi vite une fois la découverte ébruitée. Elon Musk a déclaré que toutes les données d'utilisateurs téléversées seraient supprimées, l'entreprise a désactivé la fonction de téléversement, qui selon elle est désactivée par défaut depuis le 12 juillet, puis elle a publié l'integralite du code source, présentant cette ouverture comme un moyen de permettre à quiconque d'auditer l'outil et de l'exécuter entièrement en local. À première vue, c'est la réponse type à une atteinte à la confiance, montrer le code, supprimer la fonction, effacer les données.

Le hic réside dans les détails que les chercheurs ont signalés après avoir lu ce code. La machinerie de téléversement n'a pas été retirée, elle est toujours présente dans le binaire et n'est retenue que par un drapeau de configuration côté serveur, ce qui signifie que xAI pourrait la réactiver sans livrer la moindre mise à jour ni demander l'avis de personne. L'ouverture du code a rendu le mécanisme visible, elle ne l'a pas fait disparaître, et un interrupteur que contrôle le fournisseur est une garantie d'une tout autre nature qu'un code qui n'est tout simplement pas là.

L'épisode est une leçon cinglante sur cette nouvelle catégorie d'agents de codage qui vivent dans votre terminal avec un accès profond à votre système de fichiers, à vos clés et à vos secrets. La commodité d'un outil capable de lire l'ensemble de votre projet est indissociable du risque d'un outil capable d'envoyer l'ensemble de votre projet ailleurs, et la frontière entre les deux peut tenir à une valeur de configuration que vous ne voyez jamais. L'ouverture du code aide, car ce sont des milliers d'yeux posés sur 844 530 lignes qui ont permis de repérer le drapeau au départ. Mais la vraie leçon, c'est que confier son code à un agent revient désormais à faire confiance à quiconque peut actionner ses interrupteurs, et cette fois l'interrupteur est toujours là.