veilletech.fr
3 sept. Feed du jour
#01 SÉCURITÉ Faille

Un .git piégé fait courir vos agents

Un dépôt cloné exécute déjà du code. Avant l'agent.

Manifold Security a publié huit failles touchant sept agents de code en ligne de commande : la clé Git core.fsmonitor, dont la valeur est une commande, est exécutée dès que l'agent lance git status au démarrage — hors sandbox et avant le dialogue de confiance. Goose et Codex CLI sont corrigés ; quatre chemins restaient ouverts au 1er septembre.

3 min de lectureintermédiairevidéo 1:20
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Le vecteur : des fichiers, pas un clone
  3. Versions et correctifs
  4. Ce n'est pas la première fois
  5. À retenir

Ce qui se passe

Manifold Security publie sous le nom GitSpawn huit failles réparties sur sept agents de code en ligne de commande. Le principe est le même partout : la configuration d'un dépôt désigne une commande, et l'agent l'exécute sur la machine du développeur — sous son identité, hors du bac à sable de l'agent et sans invite d'approbation.

La clé en cause est core.fsmonitor. C'est un réglage de performance de Git dont la valeur est une commande, lancée pour déterminer les fichiers modifiés. Git la lit dans le .git/config du dépôt lui-même, et toute opération qui rafraîchit l'index — git status, git diff — la déclenche. Or c'est exactement ce qu'un agent fait à l'ouverture d'un dossier, pour savoir sur quelle branche il se trouve.

Manifold résume le point : « La vulnérabilité n'est pas dans le modèle, ni dans quoi que ce soit de nouveau. Elle est dans la plomberie ordinaire en dessous. »

Le moment d'exécution varie selon l'agent, et il est chaque fois trop tôt :

Agent La charge part…
Claude Code, Hermes Agent avant l'acceptation du dialogue de confiance
Qwen Code avant même l'authentification
Grok Build à la première frappe
goose pendant goose review, avant tout appel au modèle

Le vecteur : des fichiers, pas un clone

Le détail qui décide de votre exposition : l'attaque exige que le dépôt arrive sous forme de fichiers avec son répertoire .git intact. Une archive partagée, un lecteur réseau, un dossier synchronisé, une clé USB conservent le .git/config. Un git clone ordinaire, non — la configuration locale ne se transmet pas.

Versions et correctifs

Aucune exploitation n'est rapportée : le 2 septembre, aucun de ces CVE ne figure au catalogue KEV de la CISA (version 2026.09.01, 1 687 entrées).

Ce n'est pas la première fois

Sonar avait signalé le même point d'entrée en avril, et identifié le même contournement du dialogue de confiance dans Visual Studio Code avant 1.63.1 (CVE-2021-43891) et dans les IDE JetBrains avant 2021.3.1 (CVE-2022-24346). Claude Code 2.0.34, publié le 5 novembre 2025, avait déjà déplacé sa séquence de démarrage pour fermer ce chemin — que Manifold retrouve dans 2.1.193, publiée le 25 juin 2026.

À retenir

  1. git config --global core.fsmonitor false — le réglage est désactivé par défaut, l'attaque a besoin qu'il soit lu depuis le dépôt.
  2. Avant d'ouvrir un dossier reçu : inspecter .git/config et y chercher core.fsmonitor, core.hooksPath et attr.tree, puis git config --get core.fsmonitor dans le dépôt.
  3. Auditer le global avec git config --global --list | grep fsmonitor.
  4. Côté éditeurs d'agents, l'appel de fond correct est git -c core.fsmonitor=false status.

Source : The Hacker News