AutoDojo : pourquoi les tâches « action ouverte » font tomber les défenses anti-injection
Un papier de juin 2026 transforme AgentDojo en benchmark adaptatif : un attaquant boîte noire bon marché récupère 28 % des injections bloquées — et 64 % sur les tâches qui délèguent l'action au contenu attaquant.
De quoi s’agit-il ?
Le 19 juin 2026, des chercheurs (Xinhang Ma, Taoran Li, Chaowei Xiao, Zhiyuan Yu, Ning Zhang et Yevgeniy Vorobeychik) ont publié AutoDojo, une extension adaptative du célèbre benchmark AgentDojo dédié à l’injection de prompt indirecte (IPI). Le constat est net : les benchmarks utilisés pour déclarer une défense « efficace » sont statiques — ils rejouent un ensemble figé d’injections — et ne disent donc rien de la résistance face à un attaquant qui s’adapte. Dès qu’on autorise l’attaquant à s’adapter, même à faible coût et à l’aveugle, la plupart des défenses IPI publiées se révèlent bien plus faibles que leurs chiffres affichés. Le code est public.
L’injection de prompt indirecte, c’est le cas où un agent lit un contenu contrôlé par l’attaquant — page web, e-mail, résultat d’outil — et traite le texte caché qui s’y trouve comme des instructions. AutoDojo n’invente pas de nouvelle injection : il prend des injections existantes et les optimise contre la défense en place.
Comment ça marche
AutoDojo enveloppe l’agent outillé d’AgentDojo dans une boucle d’optimisation en boîte noire. L’attaquant ne voit que le signal de succès/échec visible par n’importe quel utilisateur externe — pas de poids du modèle, pas de gradients — et dépense un petit budget de requêtes sur un LLM « optimiseur » hors ligne. Chaque tour comporte trois étapes : retour de résultat (scorer le dernier candidat contre l’agent défendu, en direct), diagnostic (l’optimiseur raisonne sur un classement des candidats passés pour formuler une hypothèse sur la cible) et génération (produire un nouveau candidat guidé par cette hypothèse). Chaque candidat est évalué sur un ensemble de tâches utilisateur qui lisent le même contenu empoisonné, ce qui distingue un succès chanceux d’un succès fiable. Le tout est une recherche évolutionnaire pilotée par LLM : le classement est la population, l’ASR (taux de succès) la fonction de fitness, et la boucle ne tourne que quelques itérations.
Point clé : comme l’agent est interrogé de bout en bout, la défense active fait implicitement partie de chaque évaluation — l’injection se spécialise contre elle sans que l’attaquant ait jamais à l’identifier.
Le papier évalue neuf défenses en trois familles : au niveau du prompt (Sandwich, Reminder, Spotlighting), par filtrage/détection (Llama Prompt Guard 2, PIGuard, un classifieur DeBERTa ProtectAI, et un « DataFilter » LLM d’assainissement) et au niveau système (Progent et DRIFT, qui dérivent une trajectoire d’appels d’outils autorisée à partir de la requête utilisateur et bloquent les écarts). Les cibles couvrent cinq modèles : GPT-4o-mini, GPT-5.4-mini, Gemini-2.5-Flash, DeepSeek-v4-Flash et Claude-Haiku-4.5.
Pourquoi c’est important
Deux résultats méritent l’attention. D’abord, un « 0 % » statique n’est pas de la robustesse. Contre un filtre qui ramène le taux de succès statique à 0 %, AutoDojo récupère 28 % au global. L’assainisseur LLM passe de 12,6 % à 33,4 % sur GPT-4o-mini — quasiment le triple — et le classifieur DeBERTa de 7,2 % à 15,4 %. Une défense validée sur un benchmark figé peut s’effondrer dès que l’attaquant itère.
Ensuite — et c’est le résultat structurel — la précision de la spécification de la tâche détermine le risque. Le papier définit trois niveaux : entièrement spécifiée (action et paramètres donnés par l’utilisateur), paramètres ouverts (action fixe, paramètres lus dans le contenu) et action ouverte (l’utilisateur ne nomme aucune action et s’en remet à ce que dit le contenu). Sur les tâches à action ouverte, l’attaque récupère 64 % contre ce même filtre à 0 %, parce que l’injection peut se faire passer pour une donnée ordinaire plutôt que pour un texte d’instruction — précisément ce que les détecteurs sont entraînés à repérer. Si votre produit dit régulièrement à un agent « lis ceci et débrouille-toi », vous avez confié le choix de l’action à un contenu non fiable.
Il y a aussi un coût que les chiffres rendent visible : les défenses par filtre qui bloquent le plus réduisent d’un tiers à la moitié l’utilité sur les tâches légitimes, et n’en laissent parfois que 5 à 25 % d’exploitable. La sécurité n’est pas gratuite ici, et l’acheter avec un détecteur jamais testé en adaptatif risque de n’acheter que très peu.
Défenses
- Testez les défenses en adaptatif, pas seulement sur benchmark statique. Un « 0 % d’ASR » en rejeu AgentDojo est un plancher, pas une garantie. Relancez avec un optimiseur adaptatif (AutoDojo est open source) avant de faire confiance à un contrôle.
- Privilégiez les contrôles au niveau système plutôt que les astuces de prompt/filtre. Dans le papier, les défenses contraignant la trajectoire (Progent, DRIFT) sont la famille la plus robuste face à l’attaque adaptative. Imposez des trajectoires d’outils à moindre privilège dérivées de la requête réelle, et bloquez les écarts.
- Réduisez votre surface « action ouverte ». Faites nommer l’action et les paramètres par l’application (ou l’utilisateur) ; ne laissez jamais un contenu non fiable décider ce que fait l’agent. Contraignez chaque tâche à un ensemble d’actions pré-approuvé.
- Traitez toute sortie d’outil et tout contenu récupéré comme des données, jamais comme des instructions. Les filtres de détection d’instructions ratent les injections déguisées en données ; ne comptez donc pas sur eux seuls — placez-les sous une couche d’autorisation.
- Surveillez la facture d’utilité. Mesurez le succès sur les tâches légitimes quand vous déployez un filtre ; une défense qui divise l’utilité par deux tout en laissant un ASR adaptatif à deux chiffres est un mauvais compromis.
Status
| Élément | Détail |
|---|---|
| Publication | arXiv 2606.15057v2, 19 juin 2026 |
| Type | Évaluation adaptative en boîte noire des défenses IPI (recherche) |
| Défenses testées | Sandwich, Reminder, Spotlighting ; Llama Prompt Guard 2, PIGuard, ProtectAI, DataFilter ; Progent, DRIFT |
| Modèles testés | GPT-4o-mini, GPT-5.4-mini, Gemini-2.5-Flash, DeepSeek-v4-Flash, Claude-Haiku-4.5 |
| Code | Public (github.com/xhOwenMa/AutoDojo) |
À retenir : les défenses anti-injection devraient être mesurées face à des attaquants adaptatifs, et les tâches d’agent les plus risquées sont celles qui laissent un contenu contrôlé par l’attaquant choisir l’action.