Discret ou visible : pourquoi le taux de succès masque les injections qui comptent
Un article publié le 31 août 2026 sépare le succès d'une injection indirecte selon ce que l'utilisateur peut voir — et montre que le résumé de l'agent ne vaut pas journal d'audit.
De quoi s’agit-il ?
Le 31 août 2026 (révisé le 1er septembre), Yunseok Lee, Yunji Kim et Woojin Lee ont publié “Will the User Ever Know? Covert Indirect Prompt Injection Attacks on Tool-Using LLM Agents” (arXiv 2608.30362), accepté à la conférence principale EMNLP 2026. L’article n’annonce pas une nouvelle classe de vulnérabilité. Il soutient que la métrique standard de l’injection de prompt indirecte — le taux de succès d’attaque (ASR, Attack Success Rate) — mesure la mauvaise chose, et il démontre l’écart empiriquement sur AgentDojo.
L’affirmation est étroite et utile : l’ASR compte si l’action injectée a été exécutée. Il ne dit rien de la question de savoir si l’utilisateur qui lit la réponse finale de l’agent s’en apercevrait un jour.
Comment ça marche
En examinant les traces d’injections réussies, les auteurs observent deux fins distinctes.
Dans la première, l’agent exécute l’action injectée, puis revient terminer la demande initiale de l’utilisateur. La réponse finale ressemble à une réponse ordinaire à une tâche ordinaire. Dans la seconde, l’agent exécute l’action injectée et s’arrête là : l’action injectée est donc ce que décrit la réponse finale — et l’utilisateur a une chance de la remarquer.
Les auteurs nomment ces cas succès discret (covert) et visible (overt), et décomposent la métrique usuelle en conséquence :
ASR = CSR + OSR
CSR (Covert Success Rate) attaque réussie, aucune trace dans la réponse finale
OSR (Overt Success Rate) attaque réussie, détectable par l'utilisateur
L’explication mécanique est la partie intéressante. Dans la boucle ReAct — le schéma raisonnement/action que suit la majorité des agents outillés — la réponse finale est pour l’essentiel un résumé de la dernière action effectuée. Qu’une injection finisse discrète ou visible dépend donc largement de ce que l’agent fait ensuite, et non de la façon dont la charge a été rédigée. Une injection qui termine la trajectoire devient visible. Une injection suivie d’un travail légitime supplémentaire se retrouve enfouie.
De cette observation les auteurs tirent ICoA (Induced Covert Attack) : plutôt que de chercher à faire réussir l’injection plus souvent, la technique structure le texte injecté de sorte que l’agent revienne ensuite à la tâche de l’utilisateur. Sur le principe, la charge présente l’instruction injectée comme une relance de l’utilisateur, puis ajoute une ancre qui renvoie l’agent vers la demande d’origine une fois l’action faite. Sur quatre modèles cibles évalués sur AgentDojo, ICoA obtient le meilleur CSR, avec un gain de 3,79 à 12,01 points de pourcentage sur la meilleure référence.
Aucune charge n’est reproduite ici, et aucune n’est nécessaire pour comprendre le résultat : la technique est une astuce de flot de contrôle sur l’ordonnancement du travail de l’agent, pas une nouvelle manière de contourner un garde-fou.
Pourquoi c’est important
Trois conséquences pour quiconque déploie des agents.
Les chiffres de robustesse publiés sont optimistes dans le mauvais sens. Si l’ASR annoncé d’un modèle est de 4 %, ce nombre mélange silencieusement les injections que l’utilisateur aurait repérées et celles qu’il ne pouvait pas voir. Le second groupe est celui qui compte opérationnellement : plus petit que l’ASR, mais bien plus coûteux par incident. Deux modèles à ASR identique peuvent avoir des CSR très différents.
Le résumé de l’agent n’est pas un journal. Une bonne part de la supervision réelle des agents — revue humaine dans la boucle, « vérifiez ce qu’il a fait avant d’approuver » — repose sur l’hypothèse que la réponse en langage naturel reflète les actions effectuées. Cet article montre que l’hypothèse est peu coûteuse à casser et, pire, que la casser est un effet de bord du bon comportement de l’agent. Un agent qui revient consciencieusement à la tâche de l’utilisateur après une injection est un agent qui dissimule l’injection.
L’attaquant a intérêt à être moins gourmand. La cible d’optimisation passe de « maximiser la probabilité que l’injection se déclenche » à « maximiser la probabilité qu’elle passe inaperçue » — et ce ne sont pas les mêmes charges. Les défenses réglées contre la première ne couvrent pas automatiquement la seconde.
Défenses
-
Journalisez les actions indépendamment de la sortie du modèle. Le seul enregistrement fiable de ce qu’a fait un agent est la trace des appels d’outils, capturée hors du modèle. Ne laissez jamais la réponse finale tenir lieu de piste d’audit. C’est exactement l’exigence « inspectable, traçable, instrumentable » de l’Agent Control Standard de l’OWASP, donné au GenAI Security Project et publié le 1er septembre 2026.
-
Comparez la trace au résumé. Détecteur peu coûteux et indépendant du modèle : énumérez les outils réellement appelés, énumérez les actions mentionnées dans la réponse finale, et signalez tout appel d’outil absent du résumé. Le succès discret est par construction un écart entre ces deux ensembles.
-
Rapportez le CSR, pas seulement l’ASR, dans vos propres évaluations. Si vous menez du red teaming sur votre pile agentique, ventilez les résultats par visibilité utilisateur. Une défense qui convertit des succès discrets en succès visibles est une amélioration réelle même à ASR constant — et une « défense » qui fait l’inverse est une régression que votre métrique actuelle notera comme neutre.
-
Appliquez les contrôles à la couche d’orchestration. Une politique d’exécution portant sur les outils appelables, leurs arguments et les actions soumises à approbation ne dépend pas de l’honnêteté narrative de l’agent. Les points d’accroche déclaratifs et portables entre frameworks proposés par l’ACS sont une voie d’implémentation ; le cadrage de capacités et les listes d’actions autorisées en sont la version artisanale.
-
Alertez sur la forme de la trajectoire, pas seulement sur le contenu. Le résultat même de l’article est que l’ordonnancement porte du signal : une action ni demandée par l’utilisateur ni mentionnée dans la réponse, située en milieu de trajectoire, est un motif détectable quel que soit le contenu de la charge.
Status
| Élément | Référence | Date | Notes |
|---|---|---|---|
| Article discret/visible (arXiv 2608.30362) | arXiv (cs.AI, cs.CL) | 2026-08-31 (v2 : 2026-09-01) | EMNLP 2026 Main Conference ; évalué sur AgentDojo |
| Résultat ICoA | idem | 2026-08-31 | Meilleur CSR sur quatre modèles cibles ; +3,79 à +12,01 pts sur la meilleure référence |
| Agent Control Standard (ACS) | OWASP GenAI Security Project | 2026-09-01 | Points d’accroche middleware + politique d’exécution déclarative, portables entre frameworks |
| Dépôt ACS | GitHub (GenAI-Security-Project) | 2026-09 | Spécification ouverte |
La conclusion n’est pas que l’injection de prompt indirecte a empiré. C’est que la métrique que tout le monde cite n’a jamais mesuré la détectabilité par l’utilisateur, et qu’une fois séparée, la part qui compte le plus pour la réponse à incident est celle que personne ne suivait. Si votre récit de supervision repose sur la lecture de ce que l’agent dit avoir fait, vous n’avez pas de récit de supervision.