alexi.sh
Tous les articlesSécurité navigateurConfidentialité réseauOutils de confidentialitéModélisation des menacesCodage IAOutils de dev

alexi.shLabo IA

ai-coding

GhostApproval : la faille des assistants de code IA qui écrit des fichiers sans votre accord (2026)

PrivSec Lab4 min de lecture
Un éditeur de code ouvert sur l'écran d'un portable dans une pièce sombre

Wiz a révélé GhostApproval, une faille de frontière de confiance dans au moins six assistants de code IA : un dépôt malveillant peut pousser l'agent à écrire hors de votre projet via un lien symbolique, parfois avant votre approbation. Ce que c'est, les outils touchés, et comment se protéger.

GhostApproval est le nom que Wiz a donné à une faille trouvée dans au moins six assistants de code IA populaires, révélée en juillet 2026. En bref : un dépôt piégé peut pousser votre agent de code à écrire des fichiers hors de votre projet - et, dans les pires cas, avant même que vous cliquiez sur « approuver ». C'est un bon rappel que laisser un agent toucher à votre système de fichiers n'est sûr que dans la mesure de ce que la fenêtre d'approbation affiche vraiment. Voici ce qu'est GhostApproval, les outils touchés et comment se protéger.

Comment fonctionne GhostApproval

L'astuce combine deux vieilles faiblesses : suivre les liens symboliques (CWE-61) et une interface trompeuse (CWE-451). Un dépôt malveillant contient un symlink - un fichier qui n'est qu'un pointeur vers un autre chemin. Son nom paraît anodin, disons project_settings.json, mais il pointe vers quelque chose de sensible comme ~/.ssh/authorized_keys. Vous demandez à l'agent d'éditer « le fichier de réglages » ; il suit le lien et écrit dans la vraie cible - par exemple en ajoutant la clé SSH d'un attaquant. Point clé : la fenêtre de confirmation affiche le nom anodin du symlink, pas la destination résolue. Comme le dit Wiz, « l'agent savait, l'utilisateur non » : le raisonnement du modèle reconnaissait parfois le chemin dangereux alors que la fenêtre le cachait.

La variante dangereuse : l'écriture avant votre accord

Dans certains outils, l'écriture a lieu avant même l'apparition de la fenêtre Accepter/Rejeter, transformant la confirmation en bouton d'annulation plutôt qu'en barrière. Wiz décrit exactement cela dans Windsurf : la clé SSH d'un attaquant était écrite dans ~/.ssh/authorized_keys avant que l'utilisateur puisse approuver. C'est une exécution de code à distance avant autorisation - le contrôle humain arrive après que le mal est fait.

Un terminal listant des fichiers au-dessus d'un clavier rétroéclairé - GhostApproval abuse d'un fichier lié par symlink pour écrire hors du dossier que vous croyez éditer.

Les outils touchés et leur statut

Wiz a testé six assistants et a signalé une variante dans chacun. Voici le statut divulgué, rapporté de façon neutre :

  • Cursor - corrigé (CVE-2026-50549, version 3.0+).
  • Amazon Q Developer - corrigé (CVE-2026-12958, language server 1.69.0).
  • Google Antigravity - corrigé (déployé en mai 2026).
  • Augment - accusé de réception ; pas de correctif livré à la divulgation.
  • Windsurf - accusé de réception ; la variante avant-autorisation, pas de correctif livré à la divulgation.
  • Anthropic Claude Code - Anthropic considère le problème hors de son modèle de menace, au motif qu'un utilisateur confirme faire confiance à un dossier au premier démarrage de Claude Code ; par ailleurs, Claude Code a ajouté des avertissements sur les symlinks dans une version antérieure.

Pourquoi cela dépasse un simple bug

GhostApproval n'est pas vraiment l'erreur d'un seul éditeur - c'est un motif. Deux choix de conception le causent : un bac à sable superficiel qui ne résout pas le chemin canonique d'un fichier avant d'agir, et des approbations humaines formelles plutôt qu'éclairées, car vous approuvez un nom au lieu de la vraie action. Tout agent avec un large accès au système de fichiers peut tomber dans ce piège. C'est la même classe de risque que dans notre guide sur la sécurité des agents IA : autonomie plus accès signifie qu'une mauvaise instruction devient une vraie action.

Comment se protéger

  • Mettez vos outils à jour maintenant. Plusieurs éditeurs l'ont corrigé ; utilisez la dernière version de votre assistant de code.
  • Ne faites confiance qu'aux dépôts de confiance. Méfiez-vous de laisser un agent agir dans des dépôts inconnus ou fraîchement clonés.
  • Appliquez le moindre privilège. Faites tourner les agents dans un conteneur ou un bac à sable qui n'atteint pas ~/.ssh, vos identifiants cloud ou d'autres secrets.
  • Lisez les fenêtres. Méfiez-vous des éditions de fichiers de configuration et de dotfiles, et préférez les outils qui résolvent les symlinks et affichent le vrai chemin cible.

En résumé

GhostApproval montre que le « contrôle humain » ne vaut que ce que la fenêtre révèle vraiment. Un symlink peut diriger un agent bien intentionné vers vos secrets, et une confirmation qui cache le vrai chemin - ou apparaît après l'écriture - offre un faux confort. Mettez à jour votre assistant de code IA, restreignez ce qu'il peut toucher, et ne considérez les approbations comme utiles que lorsqu'elles vous montrent la vraie destination.

Photo: Pexels (source)

Aussi disponible en

FAQ

C'est quoi GhostApproval ?
GhostApproval est un motif de sécurité que l'entreprise de sécurité Wiz a identifié dans au moins six assistants de code IA, révélé en juillet 2026. Un dépôt malveillant contient un lien symbolique (symlink) au nom anodin mais pointant vers un fichier sensible hors de votre projet - par exemple un fichier nommé project_settings.json qui pointe en réalité vers ~/.ssh/authorized_keys. Quand vous demandez à l'agent d'éditer ce fichier, il suit le lien et écrit dans la vraie cible, tandis que la fenêtre d'approbation n'affiche que le nom anodin. Wiz l'a résumé ainsi : l'agent savait, l'utilisateur non.
GhostApproval est-il corrigé ?
En partie. Wiz l'a signalé à six éditeurs. Selon Wiz, Cursor (CVE-2026-50549, version 3.0+), Amazon Q Developer (CVE-2026-12958, language server 1.69.0) et Google Antigravity ont livré des correctifs. Augment et Windsurf ont accusé réception mais, au moment de la divulgation, n'avaient pas livré de correctif. Anthropic considère le problème hors de son modèle de menace, au motif que l'utilisateur confirme faire confiance à un dossier au démarrage de Claude Code ; par ailleurs, Claude Code a ajouté des avertissements sur les symlinks dans une version antérieure. En pratique : mettez vos outils à jour.
Quels assistants de code IA étaient touchés ?
Wiz en a testé six et a trouvé une variante dans chacun : Cursor, Amazon Q Developer, Google Antigravity, Augment, Windsurf et Anthropic Claude Code. La gravité allait d'un souci d'interface corrigeable à une exécution de code à distance avant autorisation, selon l'outil. Les réponses des éditeurs diffèrent, donc supposez que tout agent de code avec un large accès au système de fichiers peut être exposé aux évasions de chemin par symlink, sauf s'il résout et affiche le vrai chemin cible.
GhostApproval peut-il exécuter du code sur ma machine ?
Dans les pires variantes, en pratique oui. En écrivant une clé SSH contrôlée par l'attaquant dans ~/.ssh/authorized_keys, un attaquant peut obtenir un accès distant à la machine du développeur, ce qui est une exécution de code à distance en pratique. Wiz a décrit le cas le plus grave (dans Windsurf) comme une RCE avant autorisation, car le fichier était écrit avant même l'apparition des boutons Accepter ou Rejeter - la confirmation servait donc d'annulation, pas de barrière.
Comment me protéger de GhostApproval ?
Mettez votre assistant de code IA à jour vers la dernière version, plusieurs éditeurs l'ayant corrigé. Ne laissez un agent agir que dans des dépôts de confiance, et méfiez-vous des dépôts inconnus. Faites tourner les agents avec le moindre privilège - idéalement dans un conteneur ou un bac à sable qui n'atteint pas ~/.ssh, vos identifiants cloud ou d'autres secrets. Lisez attentivement les fenêtres d'approbation, surtout pour les éditions de fichiers de configuration ou de dotfiles, et préférez les outils qui résolvent les symlinks et affichent le vrai chemin de destination.