// CLUBIC — INTELLIGENZA ARTIFICIALE
Codex et Claude Code peuvent être piégés par un fichier dans vos téléchargements
Un fichier texte posé dans le dossier Téléchargements d’un client a poussé son agent de codage à installer un paquet npm malveillant. Les chercheurs de Forever Security ont reproduit l’attaque sur Codex et Claude Code, sans la moindre faille à corriger.
Forever Security surveille les risques liés aux agents d’IA. Fin octobre, la société a arrêté en pleine session l’agent de codage d’un client, au moment précis où il tentait d’installer « function-color », un paquet npm malveillant resté sous les radars pendant près de deux ans. L’ordre ne venait ni d’une dépendance ni d’un dépôt de code, mais d’un fichier AGENTS.md posé dans le dossier ~/Downloads, qui servait aussi de répertoire de travail à l’agent. Personne n’avait déposé ce fichier, et personne ne savait comment il était arrivé là. Mystère et boule de gomme.
Découvrez Bitdefender Ultimate Small Business Security et protégez votre activité contre les cybermenaces. Aucune coordonnée bancaire requise.
Un fichier AGENTS.md contient les consignes qu’un agent de codage suit sur un projet, des outils à utiliser à la façon de lancer les tests. Codex le lit au démarrage et exécute ce qu’il y trouve. Tout le piège tient là, parce que ~/Downloads reste le seul dossier qu’une page web peut remplir toute seule, sans clic et sans autorisation. « Le dossier Téléchargements a quelque chose de particulier. C’est le seul dans lequel le web peut écrire de lui-même », écrivent les chercheurs dans leur analyse de l’attaque. Chrome, Edge et Firefox enregistrent leurs téléchargements à cet endroit sans demander où ranger chaque fichier, et une page peut y déposer un AGENTS.md à l’insu de l’utilisateur. Une démonstration vérifiée par Bleeping Computer a bien récupéré un fichier au contenu inoffensif.
Un exécutable venu du web ne s’ouvre pas sans votre accord, un système d’exploitation y veille depuis longtemps. Le Markdown, lui, ne s’exécute jamais, donc aucun garde-fou ne s’applique. Entre les mains d’un agent, ces instructions finissent malgré tout exécutées. Le danger grossit avec une autre habitude, celle de laisser les agents naviguer. Dans les mesures de Forever Security, un quart des sessions ouvrent un vrai navigateur, et la moitié des clients lancent au moins parfois un agent dans leur dossier Téléchargements. Chez eux, Claude Code a démarré plus de 1 300 fois depuis cet emplacement. L’agent va parfois chercher tout seul le fichier qui le retourne, et personne ne voit rien.
Les chercheurs ont rejoué le fichier du client tel quel, dans une machine virtuelle isolée. Vous ouvrez Codex dans le dossier, vous lui demandez n’importe quoi, et avant de s’atteler à votre tâche, il ajoute à sa configuration un serveur « project tools » puis installe le paquet depuis npm. « Codex vient d’exécuter le code de l’attaquant, en une seule session », résument Gal Weizman et Omer Samet, qui relèvent un taux de réussite de plus de 90 %. Le fichier, un document de 13 Ko aux allures de guide d’ingénierie, écrit dans ~/.codex/config.toml, la configuration de toute la machine. Chaque session suivante charge alors le serveur du pirate, dans n’importe quel dossier.
Claude Code s’est montré plus coriace, et l’attaque a dû changer d’objectif. Un fichier CLAUDE.md pousse l’agent à rediriger son trafic API vers un serveur contrôlé par les chercheurs, via la variable ANTHROPIC_BASE_URL glissée dans un fichier de réglages. Chaque requête emporte alors le jeton OAuth de Claude, de quoi se faire passer pour la victime auprès de la vraie API. Le serveur pirate répond ensuite à la place du modèle et renvoie des commandes que le client exécute. Claude Code est allé au bout de la chaîne dans environ la moitié des essais. Du côté d’OpenAI et d’Anthropic, il n’y a rien à corriger. « Un agent qui suit l’AGENTS.md de son dossier fait exactement ce pour quoi il a été conçu », rappellent les chercheurs. Les deux éditeurs conseillent de lancer l’agent depuis le dossier du projet concerné, jamais depuis Téléchargements, et de g