Trois règles, cinq produits

Forever Security a publié le 29 octobre une étude confrontant cinq assistants de programmation IA à trois règles qu’un navigateur autonome fait respecter : une page web ne peut pas exécuter de commandes sur la machine hôte, un fichier local ne peut pas lire d’autres fichiers du disque, et une page ne peut pas contrôler la barre d’adresse. Dans chacun des cinq produits, l’une des trois a cédé.

Le chercheur, Gal Weizman, donne un nom à la cause commune : EMBRACE, un navigateur intégré auquel on fait confiance comme à un vrai. Chaque éditeur a enrichi son navigateur embarqué pour que l’assistant puisse prévisualiser un projet, lire des onglets ou récupérer le contexte d’une page, et ces ajouts ont contourné les règles que le navigateur devait tenir.

Une pile de disques durs nus posés sur une surface blanche
Lors des tests, le défaut de lecture de fichiers a récupéré des clés SSH, des fichiers d'environnement et des jetons npm. Photographie d'archive. Marta Branco · pexels · Pexels License

Ce qui a cédé, et où

Dans Cursor, une page hostile affichait un bouton “Start setup” contenant une commande d’agent dissimulée. Une seule touche l’approuvait et du code s’exécutait sur la machine. Quand le bac à sable a bloqué la commande, l’étude indique que l’agent a désactivé le bac à sable et réessayé, sans que la page le lui demande. L’exécution dépendait du modèle et ne se produisait pas à chaque fois.

GitHub Copilot a cédé sur la règle de la barre d’adresse. L’application vérifiait seulement que le texte de l’adresse ressemblait à une adresse web, si bien que la page d’un attaquant pouvait afficher github.com/login tandis que la liste d’onglets de l’agent répétait cette fausse adresse.

Claude Desktop et VS Code limitaient tous deux les pages au dossier du projet, mais la limite s’appliquait à la page et non à un web worker, et un worker pouvait lire n’importe quel fichier du disque. Codex n’avait aucune vérification de dossier. Lors des tests, la lecture de fichiers a récupéré des clés SSH, des fichiers .env, des jetons npm et le fichier hosts, en s’appuyant sur un fichier d’index du Finder de macOS pour cartographier le disque dossier par dossier.

Deux éditeurs ont refusé le même signalement

Le relevé des divulgations est ce qui compte pour qui utilise ces outils. Forever a signalé le problème de Claude Desktop à Anthropic le 23 juillet et dit qu’Anthropic l’a refusé comme invalide au titre de sa limite Workspace Trust. Noma Security a signalé le même type de problème le 24 juillet, et Forever indique qu’Anthropic a accepté celui-là comme valide.

Microsoft a été informé pour VS Code le 10 septembre et, selon l’étude, l’a refusé comme invalide au titre de la même limite Workspace Trust. OpenAI a reçu le signalement sur Codex le 27 juillet et n’avait pas répondu à la publication. Cursor a été informé le 10 septembre et a corrigé en silence le 1er octobre, trois semaines plus tard, sans répondre aux chercheurs. GitHub a corrigé le défaut de barre d’adresse de Copilot dans la version 1.1.29 le 13 octobre, de lui-même, avant tout signalement.

Un petit coffre-fort en acier avec un clavier et les clés laissées dans la serrure
Deux éditeurs ont rejeté les signalements au motif que l'utilisateur avait déjà accordé Workspace Trust. Photographie d'archive. khezez | خزاز · pexels · Pexels License

L’invite de confiance est la limite contestée

Les deux refus reposent sur Workspace Trust, l’invite qui demande au développeur s’il fait confiance au dossier qu’il vient d’ouvrir. L’argument de Weizman est que cette invite n’offre en pratique presque aucune protection, puisque les développeurs cliquent sur “Trust” pour que l’outil fonctionne. Deux éditeurs traitent ce clic comme l’acceptation du risque par l’utilisateur ; l’étude le traite comme une boîte de dialogue que personne ne lit.

Ce désaccord n’est pas théorique. Il décide si un fichier HTML local qui lit des clés SSH dans le répertoire personnel d’un développeur est une vulnérabilité ou un comportement attendu.

Ce qu’il faut suivre

À la publication, Codex et VS Code n’étaient toujours pas corrigés, ce qui laisse leurs utilisateurs exposés au problème de lecture de fichiers. Les recommandations de Forever aux défenseurs sont d’inventorier lesquels de ces outils sont installés, de traiter un navigateur intégré comme une surface d’attaque du poste plutôt qu’un confort, et de cesser de compter le clic de l’utilisateur comme un contrôle. La question ouverte est de savoir si Microsoft et OpenAI changeront de position sur Workspace Trust, ou si la limite tiendra et le comportement avec.