MMPIBench : les agents tentent dix fois plus d'injections multimodales qu'ils n'en aboutissent
Un benchmark de Cal Poly Pomona publié le 8 septembre 2026 a lancé 720 attaques multimodales sur six frameworks d'agents. 12,8 % ont été tentées, environ 1 % ont abouti — et le canal audio aboutit à 49 %.
De quoi s’agit-il ?
Le 8 septembre 2026, Viet K. Nguyen et Mohammad I. Husain, de California State Polytechnic University, Pomona, ont déposé sur arXiv An Experimental Evaluation of Multimodal Prompt Injection Attacks on Agentic AI Frameworks (2609.09404, cs.CR/cs.AI). Le papier introduit MMPIBench, un harnais qui exécute un jeu d’attaques fixe — mêmes charges, mêmes outils simulés, même prompt système — sur six frameworks d’agents et cinq modèles de fondation, et qui enregistre jusqu’où va chaque instruction injectée plutôt que son seul succès final.
Le résultat central est un écart. Sur 720 exécutions, les attaques aboutissent dans environ 1 % des cas mais sont tentées dans 12,8 % — soit à peu près dix tentatives pour un aboutissement. Les auteurs sont explicites sur la nature de leur travail : « We do not propose a defense; MMPIBench is a measurement tool. »
Comment ça marche
Le benchmark croise quatre dimensions : six frameworks (LangGraph, CrewAI, AutoGen, OpenAI Agents SDK, Semantic Kernel, LlamaIndex Workflows), cinq modèles (Claude Opus 4.8, GPT-5.4, Gemini 3.1 Pro, Grok 4.3, Llama 4 Maverick), six porteurs visuels et quatre objectifs attaquants — détournement d’outil, exfiltration de données, empoisonnement de mémoire et propagation inter-agents. Les outils sont simulés : un « aboutissement » signifie que l’agent a émis l’appel dangereux, pas qu’un système réel a été endommagé.
L’apport tient à l’instrumentation. Chaque exécution est étiquetée par l’étape la plus avancée qu’elle atteint :
Stage Meaning Share of 720 runs
---------------- --------------------------------------------- -----------------
None Payload never perceived 32.9%
Perception Payload read, flagged suspicious, agent stopped 23.6%
Planning Payload read and reasoned about, not acted on 42.1%
Tool invocation Malicious tool actually called 0.3%
Execution Deterministic judge confirms objective met 1.11%
Trois enseignements découlent de ce tableau.
Le modèle pèse plus que le framework. Les taux de tentative par modèle vont de 0,0 % (Claude Opus 4.8, qui refuse par ailleurs dans 59,7 % de ses 144 exécutions) à 23,6 % (Grok 4.3 et Llama 4 Maverick, chacun). Les taux par framework sont bien plus resserrés, de 10,0 % à 21,7 % — et le papier signale deux biais qu’il ne peut pas isoler dans cette comparaison.
Les porteurs sont très inégaux. Le texte rendu en image (OCR) est tenté dans 27,5 % de ses exécutions et concentre 7 des 8 aboutissements. Les métadonnées EXIF et les QR codes sont tentés dans 0,0 % des cas : dans environ 88 % de ces exécutions, la charge n’atteint même jamais la perception, les modèles ne lisant pas les champs EXIF et ne décodant pas les QR codes depuis les pixels sans outil de décodage explicite.
L’arrêt se produit à la planification, pas contre une barrière. La majorité des exécutions s’éteint dans la bande « planification » (42,1 %), où le modèle a lu l’instruction et a choisi de ne pas la poursuivre. Seuls 170 des 217 refus sont interceptés dès la perception ; les autres comportent un langage de refus mais atteignent tout de même la planification.
Pourquoi c’est important
Le taux d’aboutissement d’environ 1 % est le chiffre le moins intéressant du papier, et les auteurs le disent. Rien d’architectural n’a arrêté les 11,8 % restants : c’est le modèle qui l’a fait. Comme l’écrit la section VIII-A, « a behavioral guardrail holds only as long as the model keeps making that judgment ».
L’extension audio rend le propos concret. Seuls deux des modèles tokenisent nativement l’audio, et seuls trois des six frameworks le transmettent réellement — CrewAI accepte l’audio sans jamais l’attacher, AutoGen n’a aucun type de message audio. Mais là où le signal arrive, l’attaque aboutit dans 49 % des cellules (35 sur 72), et dans 75 % pour gpt-audio. Un framework qui laisse tomber une modalité ne vous protège pas : il omet simplement de la transmettre, et cet écart se referme dès que la fonctionnalité sort.
À titre de comparaison, VPI-Bench (NUS, juin 2025) rapportait des taux de tromperie allant jusqu’à 51 % pour des agents pilotant un ordinateur et 100 % pour des agents navigateur sur des plateformes réelles. Les deux chiffres ne se contredisent pas : ils mesurent des modèles de menace, des cadrages de tâche et des formulations de prompt différents. C’est précisément pourquoi un « taux de succès » unique voyage mal d’un papier à l’autre.
Défenses
Le papier n’évalue aucune mitigation. Les points ci-dessous distinguent ses recommandations de la pratique courante.
Issu du papier :
- Publier les taux de tentative et de reconnaissance, pas seulement d’aboutissement. L’aboutissement « ne mesure que la fréquence à laquelle la génération actuelle de modèles a décliné ».
- Distinguer le refus de l’inattention. « Only recognition is a guardrail. A model that overlooks a payload offers no assurance that it will keep overlooking it as carriers improve. »
- Surveiller la bande de planification. Les exécutions qui lisent une charge puis l’ignorent silencieusement offrent « une garantie plus faible qu’un refus ».
- Traiter une modalité manquante comme un accident. Le modèle à trois verrous — le modèle doit tokeniser le canal, le framework doit le transmettre, puis le modèle doit refuser — implique qu’une attaque a besoin des trois verrous ouverts. Deux d’entre eux relèvent de décisions produit, pas de contrôles de sécurité.
- Étendre l’entraînement et l’évaluation de sûreté aux canaux perceptifs. L’audio est aujourd’hui plus étroit que la vision, et bien moins défendu.
Pratique courante, hors papier :
- Verrouiller la surface d’action, pas l’entrée. Aucun filtre n’a rien intercepté ici. Tous les aboutissements sont des détournements d’outil : exigez une confirmation pour les appels destructifs et sortants, quelle que soit la provenance de l’instruction.
- Journaliser l’artefact avec l’action. Conservez l’image ou l’audio à côté de tout appel sensible, pour que l’analyse a posteriori retrouve le porteur.
- Retester à chaque montée de version. Les auteurs qualifient leurs résultats d’« instantané de versions précises plutôt que d’une propriété durable des systèmes ».
Statut
| Élément | Référence | Date | Notes |
|---|---|---|---|
| Papier | arXiv:2609.09404 v1 | 2026-09-08 | cs.CR / cs.AI, CC BY-NC-ND 4.0 |
| Auteurs | Nguyen & Husain | — | California State Polytechnic University, Pomona |
| Échelle | 720 exécutions image + 72 cellules audio | — | 6 frameworks × 5 modèles × 6 porteurs × 4 objectifs |
| Tentatives / aboutissements | 12,8 % / ~1,11 % | — | Intervalles de Wilson à 95 % : 10,5–15,4 % et 0,6–2,2 % |
| Aboutissement audio | 49 % des cellules ; 75 % pour gpt-audio | — | 2 modèles ingèrent l’audio, 3 frameworks sur 6 le transmettent |
| Publication du benchmark | Promise à la parution | — | Aucune URL de dépôt dans la préversion |
| Exploitation réelle | Non rapportée | — | Outils simulés, cadre de recherche contrôlé |
Le point gênant n’est pas qu’une attaque sur cent ait fonctionné. C’est que les onze autres soient allées assez loin pour que le jugement du modèle reste la seule chose entre une instruction affichée et un appel d’outil — et que sur le seul canal où moins de modèles sont entraînés à exercer ce jugement, la moitié des attaques soient allées au bout.