Depuis un an, beaucoup d'équipes de PME laissent un agent de code modifier directement leurs fichiers. Le garde-fou tient en une boîte de dialogue : l'agent propose une écriture, un humain valide. Une faille divulguée cet été montre que ce garde-fou repose sur une hypothèse fragile, celle où le nom de fichier affiché correspond au fichier réellement écrit.
Le 8 juillet 2026, l'équipe de recherche de Wiz a publié GhostApproval, un schéma de vulnérabilité commun à six assistants de code1. Le principe s'appuie sur une fonction du système de fichiers vieille de plusieurs décennies, le lien symbolique, référencé CWE-612.
Le mécanisme
Un lien symbolique est un pointeur : un chemin qui en désigne discrètement un autre. Un dépôt piégé contient un fichier d'apparence anodine, par exemple project_settings.json, qui n'est pas un vrai fichier mais un lien vers une cible sensible comme ~/.ssh/authorized_keys. Quand l'agent doit modifier ce fichier, il affiche une demande d'approbation portant le nom anodin. Le développeur lit project_settings.json, clique sur Accepter, et le moteur suit le lien pour écrire sur la cible réelle.
L'attaquant obtient alors une écriture arbitraire hors de l'espace de travail. En visant le fichier des clés SSH autorisées, il installe sa propre clé et gagne un accès à la machine du développeur. Le contrôle humain reste en place, mais il valide une information falsifiée.
Qui est concerné, et qui a corrigé
Six outils étaient exposés : Amazon Q Developer, Claude Code d'Anthropic, Augment, Cursor, Google Antigravity et Windsurf. Les réponses ont divergé.
| Outil | Réponse | Correctif |
|---|---|---|
| Amazon Q Developer | Corrigé | v1.69.0, CVE-2026-129583 |
| Cursor | Corrigé | v3.0, CVE-2026-505494 |
| Google Antigravity | Corrigé | v1.19.6 |
| Claude Code (Anthropic) | Classification contestée | avertissement sur les liens ajouté5 |
| Augment | Signalé, sans correctif publié à la parution | aucun |
| Windsurf | Signalé, sans correctif publié à la parution | aucun |
Anthropic a contesté la qualification de vulnérabilité, en estimant que la confiance accordée à un dossier sort de son modèle de menace, tout en ajoutant un avertissement sur les liens symboliques dans Claude Code5. Amazon, Cursor et Google ont livré un correctif. Augment et Windsurf ont accusé réception sans publier de correction au moment de la parution.
Ce que cela change pour une équipe de PME
La recommandation de Wiz se formule simplement : résoudre le lien symbolique avant d'afficher la demande, puis montrer le chemin réel plutôt que le nom apparent1. Côté utilisateur, quelques réflexes limitent l'exposition.
D'abord, il faut mettre à jour l'outil vers une version corrigée quand elle existe, et suivre son numéro de version. Ensuite, il vaut mieux se méfier des dépôts clonés depuis une source inconnue avant de lancer un agent dessus, car l'attaque voyage dans le contenu du dépôt. Enfin, exécuter l'agent dans un environnement isolé, conteneur ou machine dédiée, évite qu'une écriture hors périmètre n'atteigne les clés SSH personnelles.
Ce schéma prolonge une série de failles où le contenu d'un dépôt sert de vecteur. Nous avions déjà décrit comment un simple fichier de configuration suffit à détourner un agent de code. GhostApproval ajoute une nuance : ici, l'agent exécute fidèlement la demande, et c'est l'affichage de validation qui trompe l'humain.
Notre lecture
Pour une PME, l'enseignement ne tient pas à renoncer aux agents de code, mais à traiter la boîte d'approbation pour ce qu'elle est, une aide à la décision qui peut être falsifiée. Un développeur qui valide vingt écritures par heure ne vérifie pas le chemin canonique de chacune. La bonne réponse est structurelle : isoler l'agent, restreindre ses droits d'écriture et n'ouvrir l'accès qu'à des dépôts de confiance après revue.
La divergence des réponses éditeurs mérite attention. Trois correctifs livrés, deux silences et une classification refusée : le même défaut n'a pas la même gravité selon le modèle de menace de chacun. Tant que ces modèles ne sont pas alignés, une équipe qui utilise plusieurs agents doit suivre elle-même l'état des correctifs, outil par outil. Cette veille devient un critère de choix d'outillage, à intégrer en amont plutôt qu'à subir après coup.
Sources
- Wiz Research, GhostApproval: A Trust Boundary Gap in AI Coding Assistants : https://www.wiz.io/blog/ghostapproval-a-trust-boundary-gap-in-ai-coding-assistants
- The Hacker News, GhostApproval Symlink Flaws Could Let Malicious Repos Run Code in AI Coding Agents : https://thehackernews.com/2026/07/ghostapproval-symlink-flaws-could-let.html
- Infosecurity Magazine, GhostApproval Flaw Hits Six Major AI Coding Assistants : https://www.infosecurity-magazine.com/news/ghostapproval-flaw-ai-coding/
- Cybersecurity News, New GhostApproval Vulnerability Affects Amazon Q, Claude Code, Cursor, and Other AI Agents : https://cybersecuritynews.com/ghostapproval-vulnerability/
Footnotes
-
Wiz Research, GhostApproval, divulgué le 8 juillet 2026. La recommandation de résoudre le lien avant affichage y figure. ↩ ↩2
-
CWE-61, UNIX Symbolic Link (Symlink) Following, base MITRE. ↩
-
AWS a corrigé le serveur de langage Amazon Q Developer en version 1.69.0, sous la référence CVE-2026-12958. ↩
-
Cursor a corrigé la faille en version 3.0, sous la référence CVE-2026-50549. ↩
-
Anthropic conteste la qualification en invoquant son modèle de menace, tout en ajoutant un avertissement sur les liens symboliques dans Claude Code. ↩ ↩2