Aller au contenu principal

Quand les agents de code sont transformés en armes

Avancé
What you'll learn
  • Comprendre la nouvelle frontière de confiance créée par le mode auto-approbation — et pourquoi c’est elle, et non le modèle, qui est la cible
  • Retracer l’attaque « Friendly Fire » : un scan de sécurité qui exécute le malware qu’on lui demandait d’inspecter
  • Voir ce qu’un ransomware entièrement agentique (JADEPUFFER) a réellement automatisé, de bout en bout
  • Appliquer les défenses opérationnelles qui arrêtent les deux — dont aucune ne consiste à « utiliser un modèle plus intelligent »

En 2026, le risque abstrait de la prompt injection a cessé d’être abstrait. Deux événements documentés publiquement — l’un une preuve de concept, l’autre une intrusion réelle — ont montré la même chose depuis deux extrémités opposées : quand un agent IA décide par lui-même ce qu’il est sûr d’exécuter, cette décision devient une cible. Cette page parcourt les deux cas, puis vous donne les défenses qui se généralisent.

Le basculement central : une nouvelle frontière de confiance

Un outil de développement traditionnel vous demande avant d’exécuter quelque chose de dangereux. Un agent en mode auto-approbation / autonome se le demande à lui-même — il approuve toute commande qu’il juge « sûre ». Ce jugement est la nouvelle surface d’attaque. Un attaquant n’a plus besoin de convaincre l’humain qu’un code malveillant est acceptable ; il lui suffit de convaincre le modèle. Et un modèle qui lit un dépôt traite un README et un artefact de build comme des entrées ordinaires, pas comme une partie hostile cherchant à le manipuler.

Ce seul choix de conception — qui détient le oui/non — résume toute l’histoire ci-dessous.

Incident 1 — « Friendly Fire » : le scanner exécute le malware

Les chercheurs Boyan Milanov et Heidy Khlaaf de l’AI Now Institute ont publié une preuve de concept qui détourne exactement la tâche pour laquelle ces outils sont vendus : vérifier du code tiers non fiable à la recherche de problèmes. Au lieu d’intercepter la menace, l’agent devient le mécanisme de livraison.

Guided walkthrough1 of 4
  1. Une bibliothèque open-source non fiable embarque un binaire caché déguisé en artefact de build compilé (par ex. un fichier objet Go) posé à côté d’un code source d’apparence inoffensive. Rien dans le code source visible n’est manifestement malveillant.

Trois choses surprennent ici la plupart des gens :

  • La revue de sécurité est l’exploit. Plus vous vous sentez en sécurité (« je ne fais que le scanner d’abord »), plus vous tendez directement le déclencheur à l’agent.
  • C’est inter-fournisseurs et inter-modèles. Une seule charge utile, plusieurs outils — parce qu’ils partagent le motif d’auto-approbation, pas du code.
  • La partie malveillante se cache dans un artefact de build, pas dans le code source que vous liriez réellement. Relire les fichiers .py/.go visibles ne la révèle pas.

Les outils signalés comme affectés dans les publications étaient Claude Code et OpenAI Codex fonctionnant dans un mode où ils approuvent leurs propres commandes, sur les modèles de pointe de l’époque. Les versions exactes de CLI/modèles sont volatiles — considérez le motif comme la leçon durable, pas une quelconque chaîne de version.

:::warning C’est le contrepoint à « il suffit de demander à l’agent de le relire » Relire du code tiers note que l’agent « peut lui aussi être dupé ». Friendly Fire, c’est cette note de bas de page transformée en exploit fonctionnel — le relecteur et la victime sont le même processus. :::

Incident 2 — JADEPUFFER : un ransomware sans humain aux commandes

Si Friendly Fire est le résultat de laboratoire, JADEPUFFER (documenté par la Sysdig Threat Research Team) est le cas de terrain : ce que Sysdig a évalué comme le premier ransomware agentique de bout en bout documenté — un agent LLM qui a piloté toute l’opération d’extorsion, en narrant ses propres intentions au fur et à mesure.

Guided walkthrough1 of 4
  1. L’opérateur a atteint une instance Langflow exposée sur Internet via une CVE connue — un classique point d’entrée par service exposé, pas de la magie IA.

L’enseignement stratégique que tire Sysdig est le plus dérangeant : le niveau de compétence requis pour lancer un ransomware est tombé à peu près au coût d’exécution d’un agent. Si cet agent tourne avec des identifiants API volés (LLMjacking), le coût de calcul de l’attaquant tend vers zéro. La barrière qui était « il faut un opérateur qualifié » s’érode.

Deux extrémités d’un même problème

Friendly FireJADEPUFFER
TypePreuve de conceptIntrusion réelle
Rôle de l’agentL’outil de la victime elle-même, transformé en armeL’opérateur de l’attaquant
Point d’entréeDépôt malveillant que vous lui avez demandé de relireService exposé (CVE)
Pourquoi ça marcheFrontière de confiance de l’auto-approbationAutonomie + identifiants ambiants
Leçon durableNe laissez pas le modèle avoir le dernier « oui » sur l’exécutionLe moindre privilège + aucun identifiant réutilisable limitent le rayon d’impact

Des attaquants différents, une même racine : un agent avec autonomie + capacité + accès à des entrées non fiables. C’est le triangle d’exfiltration avec le volume poussé à fond — brisez un côté et vous contenez les dégâts.

Des défenses qui se généralisent vraiment

Aucune de celles-ci ne consiste à « attendre un modèle qu’on ne peut pas duper ». Supposez qu’on le peut, et bornez ce qu’un agent dupé peut faire.

Guided walkthrough1 of 5
  1. N’utilisez pas le mode auto-approbation/YOLO sur une machine ayant des accès réels quand l’agent touche du code que vous n’avez pas écrit. Le « oui » humain est la frontière que Friendly Fire supprime — remettez-la en place dans ce cas.

Un point de départ concret — des règles de refus pour qu’un agent ne puisse pas lire silencieusement des identifiants même si on le convainc d’essayer :

Règles de refus de permissions (exemple — à adapter à votre configuration)

"permissions": {
"deny": [
  "Read(./.env)",
  "Read(./.env.*)",
  "Read(./**/*.pem)",
  "Read(./**/id_rsa*)",
  "Bash(curl:*)",
  "Bash(rm -rf:*)"
]
}

Voir Durcir les exécutions autonomes pour la checklist complète des exécutions sans surveillance et Sécuriser les agents et les outils pour le cadrage des capacités.

Le modèle mental à retenir

Rappel express
Appuyez sur Entrée ou Espace pour retourner la carte. Utilisez les flèches gauche et droite pour naviguer entre les cartes.Terme affiché.
1 / 5

Testez-vous

0/4
  1. Dans l’attaque Friendly Fire, qu’est-ce qui convainc l’agent d’exécuter la charge utile malveillante ?
  2. Pourquoi est-il significatif que la même attaque ait fonctionné, inchangée, sur les outils de deux fournisseurs ?
  3. Qu’est-ce qui réduit le plus le rayon d’impact d’une intrusion autonome de type JADEPUFFER ?
  4. Vous êtes sur le point de faire relire par un agent un dépôt open-source inconnu. Le geste le plus sûr ?

Sources et lectures complémentaires

À lire aussi sur AILmanac