Un dépôt qui exécute du code à l’ouverture

Manifold Security a révélé une classe de vulnérabilités qu’elle nomme GitSpawn : le fichier de configuration d’un dépôt exécute une commande sur la machine du développeur dès qu’un agent de programmation IA lui est pointé dessus. L’entreprise a documenté huit constats sur sept agents : Claude Code, le CLI Codex d’OpenAI, Cursor, Goose, Grok Build, Hermes Agent et Qwen Code. Quatre n’étaient toujours pas corrigés lors du nouveau test de Manifold, le 1er septembre.

Le modèle n’intervient à aucun moment. Les agents en ligne de commande lancent des commandes git ordinaires au démarrage — git status, git diff — pour savoir sur quelle branche ils se trouvent et ce qui a changé. Git dispose d’un réglage de performance nommé core.fsmonitor qui désigne un programme auxiliaire que git exécute chaque fois qu’il rafraîchit son index, et ce réglage se trouve dans le .git/config du dépôt lui-même. Un dépôt livré avec son répertoire .git intact transporte donc une instruction que l’agent déclenche tout seul.

« La vulnérabilité n’est pas dans le modèle, ni dans quoi que ce soit de nouveau », écrit Manifold. « Elle est dans la plomberie ordinaire en dessous, le sous-processus qu’un agent lance au démarrage de la session pour savoir où il se trouve. »

Elle se déclenche avant la demande de confiance

La commande s’exécute sous l’utilisateur connecté, hors du bac à sable que l’agent utilise d’ordinaire, et sans aucune boîte de dialogue d’approbation. Manifold indique que l’exécution a lieu avant l’approbation de confiance de l’espace de travail dans Claude Code et Hermes Agent, avant l’authentification de l’utilisateur dans Qwen Code, et dès la première frappe dans Grok Build. Tout ce que le développeur peut atteindre — clés SSH, identifiants cloud — est également à portée de la commande.

Une développeuse à son bureau avec du code ouvert sur deux écrans
Manifold indique que le code s'exécute sous l'utilisateur connecté, hors du bac à sable de l'agent. Rafael Minguet Delgado · pexels · Pexels License

Ce qui limite l’attaque, c’est la livraison. Un git clone classique n’importe pas la configuration d’un inconnu : le dépôt doit donc arriver sous forme de fichiers avec son .git déjà à l’intérieur — une archive zip, un lecteur partagé, un dossier de synchronisation, une clé USB.

Ce qui est corrigé et ce qui ne l’est pas

Anthropic a corrigé la voie core.fsmonitor dans Claude Code 2.1.196, trois jours après le signalement de Manifold du 26 juin. Goose est corrigé en 1.44.0 et le CLI Codex d’OpenAI en 0.131.0, après que les versions 0.102.0 à 0.130.0 ont été touchées. Cursor est corrigé. Quatre identifiants CVE ont été émis à ce jour : CVE-2026-19592 pour Codex, CVE-2026-72718 pour Goose, CVE-2026-55607 pour une voie worktree de Claude Code et CVE-2026-71963 pour Hermes Agent.

Toujours ouverts lors du nouveau test du 1er septembre, selon Manifold : une deuxième voie de Claude Code signalée par l’entreprise, Hermes Agent, Qwen Code et Grok Build. La société affirme que quatre de ses signalements ont été clos comme doublons de soumissions d’autres chercheurs, et que Hermes Agent n’a jamais été trié après six tentatives de contact par plusieurs canaux.

Des programmeurs travaillant à leur bureau dans un espace ouvert
Quatre des huit constats n'étaient toujours pas corrigés lors du nouveau test des chercheurs, le 1er septembre. cottonbro studio · pexels · Pexels License

Que faire maintenant

Manifold conseille aux développeurs d’inspecter .git/config à la recherche de core.fsmonitor, core.hooksPath et des réglages de filtre avant d’ouvrir un répertoire arrivé sous forme de fichiers plutôt que par un clone, ou de désactiver le réglage globalement avec git config --global core.fsmonitor false. Aux éditeurs, elle recommande de retirer la configuration du dépôt des appels git en arrière-plan, par exemple en passant -c core.fsmonitor=false.

Aucune exploitation réelle n’a été signalée. La question la plus difficile est celle que suggère la recherche : les agents continuent d’ajouter au démarrage des tâches qui lisent des fichiers non fiables, et chaque ajout est un endroit de plus où la même astuce fonctionne.