Confier les clés de sa machine à un agent IA, c’est un peu comme embaucher un vigile qui ouvre la porte à quiconque lui laisse un mot poli. C’est en substance ce que démontre la preuve de concept baptisée « Friendly Fire », qui a fait avaler à des agents comme Claude Code et Codex des charges malveillantes dissimulées dans un banal fichier README.
Points clés
- La PoC « Friendly Fire » piège des agents IA via des instructions malveillantes cachées dans un fichier README.
- Claude Code et Codex exécutent la charge sur la machine hôte quand l’approbation automatique des commandes est activée.
- Le risque repose sur l’incapacité des LLM à distinguer données à analyser et instructions à suivre.
Le loup dans la bergerie
Le principe est aussi vieux que l’injection de prompt, mais l’exécution fait froid dans le dos. Un attaquant glisse des instructions piégées dans la documentation d’un projet (un README, par exemple). Quand l’agent IA parcourt le dépôt pour l’analyser, il lit ces instructions et les prend pour des consignes légitimes. Résultat : la charge s’exécute directement sur la machine hôte.
Le détail qui pique : ces agents sont parfois déployés précisément pour repérer du code malveillant. On les a conçus comme des sentinelles, ils se transforment en complices dès qu’on active le fameux mode d’approbation automatique des commandes. Le nom « Friendly Fire » (tir ami) n’est pas volé.
L’approbation automatique, ce talon d’Achille
Le facteur aggravant tient en une case cochée. Quand l’utilisateur autorise l’agent à lancer des commandes de façon autonome, sans validation manuelle à chaque étape, il retire le dernier garde-fou humain. L’agent lit, interprète, exécute. La frontière entre données à analyser et instructions à suivre s’efface, et c’est exactement là que l’attaquant s’engouffre.
Rien de magique ni de nouveau sur le fond : les modèles de langage ne distinguent pas nativement le contenu qu’on leur soumet des ordres qu’on leur donne. Ce que révèle cette PoC, c’est que le problème persiste même dans des outils censés sécuriser le développement.
La leçon, encore et toujours la même
La parade tient en quelques réflexes de bon sens que les agents autonomes font trop vite oublier. Ne jamais accorder l’exécution automatique de commandes à un agent qui va brasser du code ou de la documentation venue de l’extérieur. Traiter tout dépôt tiers comme potentiellement hostile. Et garder un humain dans la boucle avant qu’une commande ne touche le système de fichiers.
La promesse des agents IA, c’est de nous décharger des tâches ingrates. Encore faut-il ne pas leur déléguer aussi la naïveté : un vigile qui lit ses consignes sur le premier bout de papier venu, ça ne s’appelle pas de l’automatisation, ça s’appelle une porte grande ouverte.