grok-code-session-tracesL'écart d'échelle a prouvé que le téléchargement n'était pas motivé par ce que l'agent lisait. Sur un dépôt test de 12 Go, le canal de stockage a déplacé 5,10 Gio en 73 morceaux (tous avec un code HTTP 200), tandis que le canal des échanges avec le modèle n'a déplacé que 192 Ko — un rapport d'environ 27 800 pour 1 . Même avec l'invite « réponds OK, ne lis aucun fichier », l'outil a téléchargé l'intégralité du dépôt sous forme de git bundle ; le clonage du bundle capturé a permis de récupérer un fichier (
src/_probe/never_read_canary.txt) que l'agent avait explicitement pour instruction de ne pas ouvrir, ainsi que l'historique complet des commits Git .
.env contenant des clés API, des mots de passe de bases de données et d'autres identifiants ont été transmis textuellement, sans masquage ni caviardage via les deux canaux xai-data-collector) résidente dans le binaire, avec des chemins source comme crates/codegen/xai-data-collector/src/gcs.rs et crates/codegen/xai-grok-shell/src/upload/ Le chercheur a testé le bouton de confidentialité « Améliorer le modèle » et a constaté qu'il n'empêchait pas les téléchargements .
trace_upload_enabled: truedisable_codebase_upload=true existe dans les paramètres du harnais, mais sa relation avec le comportement côté serveur n'est pas documentée, et les tests du chercheur ont montré que le serveur ne respectait pas les préférences du client Actions immédiates pour les équipes qui ont utilisé Grok Build CLI sur des dépôts privés :
.env, un fichier de configuration ou l'historique Git au sein des dépôts utilisés avec Grok Build, car ils peuvent avoir été transmis et stockés dans le bucket GCS grok-code-session-traces Mesures d'atténuation architecturales pour tout agent de codage :