Retour au blog

Sécurité

Un fichier texte dans vos Téléchargements peut détourner votre assistant de code

2 novembre 20267 min de lecturePar Alpha Oumar Sow

Un fichier Markdown déposé par un site web suffit à faire installer un logiciel malveillant par votre assistant de code. Ce qu'il faut changer.

Un responsable technique ouvre son assistant d'écriture de code dans le dossier où il range ses fichiers téléchargés. Il demande une tâche banale : ranger des documents, par exemple. Avant même de commencer, l'assistant modifie ses propres réglages et installe un programme que personne n'a choisi.

Ce scénario n'est pas une démonstration de laboratoire. Il s'est produit sur la machine d'un vrai client, en octobre 2026. La société Forever Security, qui surveille les risques liés aux agents d'IA, a arrêté l'installation en cours de route.

L'assistant de code est un programme d'IA qui lit un projet, écrit des fichiers et lance des commandes à votre place. Codex, d'OpenAI, et Claude Code, d'Anthropic, sont les deux exemples étudiés ici.

Le point de départ tient dans un fichier texte d'apparence anodine, posé dans le dossier Téléchargements. Aucune faille logicielle n'a été exploitée. C'est le fonctionnement normal de ces outils qui a été retourné contre leur utilisateur.

Ce qui s'est passé chez un vrai client

Le premier signal est une alerte. Un assistant de code s'apprête à installer un composant nommé function-color. La société de sécurité le bloque, car ce composant figure sur la liste des programmes malveillants connus.

La question suivante est plus gênante : d'où vient l'ordre ? Ni d'une dépendance du projet, ni d'un dépôt de code. L'ordre vient d'un fichier AGENTS.md posé dans le dossier Téléchargements, qui servait aussi de dossier de travail à l'assistant.

Le fichier est long, calme, et ressemble à un document d'ingénierie ordinaire. Il pèse environ 13 kilo-octets, selon les chercheurs. Au milieu de consignes banales, une section demande à l'assistant de préparer son environnement. Cette section décrit l'installation comme une étape technique standard.

Personne ne sait comment le fichier est arrivé là. Les chercheurs n'ont pas pu remonter la piste. Ils ont en revanche montré qu'un simple site web peut le déposer, sans clic et sans demande d'autorisation.

Ce qu'est un fichier d'instructions, et pourquoi il est obéi

Un fichier d'instructions est un document texte placé à la racine d'un projet. Il indique à l'assistant quelles conventions suivre, comment lancer les tests, quels outils utiliser. AGENTS.md joue ce rôle pour plusieurs assistants. CLAUDE.md joue le même rôle pour Claude Code.

Le fichier est en Markdown, un format de texte brut lisible dans n'importe quel éditeur. Il ne s'exécute pas tout seul. Il est lu, puis suivi.

L'analogie utile est celle de la note affichée au mur d'un atelier. Un ouvrier qui arrive lit les consignes et les applique. Personne ne vérifie si la note a été écrite par le contremaître ou collée par un passant.

C'est ce qui rend l'attaque possible. L'assistant ne distingue pas une consigne légitime d'une consigne plantée. Il obéit au fichier, parce que c'est sa fonction.

Pourquoi le dossier Téléchargements change la donne

Un navigateur enregistre ses téléchargements dans un dossier commun, souvent Téléchargements. Chrome, Edge et Firefox y déposent les fichiers sans demander où les ranger. Ils affichent une notification, mais le fichier est déjà écrit.

Ce dossier est donc le seul endroit du disque où une page web peut écrire toute seule. Un exécutable téléchargé ne démarre pas sans autorisation. Un fichier texte, lui, ne déclenche aucune protection de ce type.

Les chercheurs résument la combinaison d'une phrase : le Markdown est le nouvel exécutable. Il n'est pas exécuté par le système. Il est exécuté par l'assistant, qui le lit et agit.

Encore faut-il que l'assistant soit lancé dans ce dossier. C'est là que le facteur humain intervient. Forever Security observe qu'environ la moitié de ses clients lancent un agent dans Téléchargements. Rien que pour Claude Code, plus de 1 300 sessions ont démarré depuis cet emplacement.

Ce que l'attaque réussit à faire, chiffres à l'appui

Sur Codex, l'équipe a rejoué le fichier réel de l'attaquant dans une machine isolée. L'assistant a exécuté la chaîne complète. Dans plus de 90 % des essais, il a installé le programme malveillant. La plupart des tests utilisaient un substitut inoffensif, qui ouvre simplement une calculatrice.

Le dégât ne s'arrête pas au dossier. Le fichier fait écrire un réglage dans la configuration globale de Codex, sur tout l'ordinateur. À chaque nouvelle session, dans n'importe quel projet, l'assistant recharge le serveur ajouté par l'attaquant. Quitter le dossier ne suffit pas.

Sur Claude Code, l'attaque prend un autre chemin. Un fichier CLAUDE.md fabriqué pour l'occasion demande à l'assistant de faire passer son trafic par une passerelle présentée comme interne. Claude Code accepte dans environ 50 % des essais. Chaque requête transporte alors le jeton de connexion de l'utilisateur, la clé qui garde sa session ouverte.

Les chercheurs ont rejoué ce jeton contre le vrai service. Ils ont été traités comme le client légitime. Le compte était pris, sans qu'une seule ligne de code ait été exécutée. Dans environ un essai sur cinq, l'assistant a même lancé du code à distance dans la même session.

Un détail compte pour les dirigeants. Le composant malveillant visé par le fichier appartenait à une campagne restée discrète pendant environ deux ans. Il a été retiré de la bibliothèque publique npm, où les développeurs téléchargent des composants. Bloquer un paquet connu est simple. Comprendre pourquoi un assistant a voulu l'installer l'est moins.

Une étude indépendante, publiée le 28 octobre 2026 sur arXiv, une archive publique de prépublications, confirme que ces fichiers forment une surface d'attaque à part entière. Les auteurs ont testé 36 tâches de programmation avec des fichiers piégés. Le taux de code sûr a varié de moins 8 à plus 6 points, sans tendance claire. Un fichier malveillant ne rend donc pas toujours le code vulnérable, mais il peut le faire sans que l'assistant le signale clairement.

Pourquoi OpenAI et Anthropic ne peuvent pas simplement corriger

La tentation est de chercher le correctif. Les chercheurs affirment qu'il n'y en a pas, au sens habituel.

Un assistant qui suit le fichier d'instructions de son dossier fait exactement ce pour quoi il a été conçu. Le navigateur qui affiche une page de phishing fonctionne aussi comme prévu. Le problème n'est pas dans le navigateur, il est dans la page.

Les deux éditeurs recommandent déjà de lancer l'assistant à la racine du projet concerné, pas dans un dossier général. Cette recommandation existe pour la qualité du contexte. Elle devient ici une mesure de sécurité.

La faille est donc organisationnelle. Elle tient à un dossier que le web peut remplir et qu'un assistant traite comme une source de confiance. Tant que ces deux propriétés coexistent, le vecteur reste ouvert.

Ce que votre équipe doit changer cette semaine

Interdisez Téléchargements comme dossier de travail. Un assistant doit démarrer à la racine du projet, jamais dans le dossier des téléchargements, ni dans le dossier personnel. Cette règle ne coûte rien et ferme le cas observé.

Faites lire les fichiers d'instructions avant l'assistant. Un AGENTS.md ou un CLAUDE.md que personne n'a écrit est le signal d'alerte. Cela vaut aussi pour un dépôt que vous venez de cloner. Un fichier de 13 kilo-octets, très bavard et très poli, doit intriguer.

Vérifiez les réglages globaux des assistants. Dans le fichier de configuration de Codex, cherchez un serveur que vous n'avez pas ajouté. Dans les réglages de Claude Code, cherchez une adresse d'interface de programmation que vous n'avez pas posée. Une passerelle inconnue peut recevoir tous les échanges.

Gardez les demandes d'approbation et le bac à sable. Le bac à sable est l'espace isolé où le code ne peut pas toucher au reste de la machine. Une consigne qui demande de les désactiver est suspecte par principe.

Traitez tout jeton exposé comme volé. Si un fichier planté a été suivi, changez le mot de passe et révoquez les jetons de connexion. Un jeton volé fonctionne comme une session ouverte. Changer le mot de passe ne suffit pas toujours.

Limitez ce que l'assistant peut faire. Donnez-lui accès au seul projet en cours, pas au disque entier. Ce principe ne bloque pas l'attaque. Il réduit ce qu'elle peut atteindre.

Ce qu'il faut retenir

  • Un fichier texte nommé AGENTS.md, déposé dans le dossier Téléchargements par un site web, peut être lu comme un ordre par un assistant de code.
  • Sur Codex, le fichier réel a fait installer un programme malveillant dans plus de 90 % des essais. Il modifie ensuite les réglages de toute la machine.
  • Sur Claude Code, un fichier équivalent a fait fuiter le jeton de connexion dans environ la moitié des essais, ce qui permet de prendre le compte sans exécuter de code.
  • Aucun correctif n'est attendu : l'assistant obéit au fichier par conception, comme un navigateur affiche une page piégée.
  • La mesure la plus simple est d'interdire le dossier Téléchargements comme dossier de travail et de lire tout fichier d'instructions inconnu.
  • Si un fichier suspect a été suivi, changez les jetons de connexion : un jeton volé reste une session ouverte.

Références

  1. [1] Gal Weizman et Omer Samet (Forever Security), « Markdown Is the New Executable: Attackers Are Dropping Agent Instructions Into Your Downloads Folder From the Web », recherche publiée le 22 octobre 2026
  2. [2] Bill Toulas, « AI coding agents hijacked using AGENTS.md file in Downloads folder », BleepingComputer, 25 octobre 2026
  3. [3] Sinisa Markovic, « AI coding agents fall for malicious instructions planted in the Downloads folder », Help Net Security, 26 octobre 2026
  4. [4] Thiago Santos de Moura, Selma Güler et Yannic Noller, « Security Impact of Coding Agent's Memory Files », arXiv:2610.38521, 28 octobre 2026

Alpha Oumar Sow

Gufaca — ingénierie logicielle et IA

Profil LinkedIn

Prêt à passer à l’action ?

Réservez une séance de diagnostic de 45 minutes et repartez avec une feuille de route claire.

Réserver un diagnostic