Le député confus visuel : quand un agent informatique clique sur le mauvais bouton
Un article de mars 2026 érige les erreurs de perception des agents CUA en classe de vulnérabilité. Un échange de captures de 8 lignes transforme un clic anodin en élévation de privilèges — et une garde placée hors du regard de l'agent aide.
De quoi s’agit-il ?
Un article publié sur arXiv en mars 2026 nomme un mode de défaillance que le domaine traitait jusqu’ici comme un simple problème de précision : le député confus visuel (visual confused deputy). Un agent informatique (CUA) — un LLM qui regarde des captures d’écran brutes et agit via des commandes bas niveau comme click(x, y) — autorise une action à partir d’un écran qu’il a mal perçu. Il clique sur ce qu’il croit être un bouton, alors que les coordonnées atterrissent en réalité sur un autre. Les auteurs soutiennent qu’il ne s’agit pas d’un défaut de qualité mais d’une classe de vulnérabilité, et l’étayent par une démonstration minimale et la première défense conçue pour se placer en dehors du regard de l’agent. L’équipe AI Red Team de Microsoft est parvenue à la même conclusion de façon indépendante, en ajoutant « Computer Use Agent (CUA) Visual Attack » comme nouvelle catégorie dans la version 2.0 de sa taxonomie des modes de défaillance agentiques, publiée le 4 juin 2026.
Comment ça marche
Pour un CUA, la perception est l’ancre de confiance. Une commande comme click(450, 320) n’a aucun sens sans la capture d’écran — les mêmes coordonnées peuvent être un inoffensif « Accepter » ou un privilégié « Réinitialiser les identifiants » selon ce que le modèle croit voir. Et cette croyance est souvent fausse. L’article cite des résultats de benchmarks : les agents manquent leur cible dans 56,7 % des actions, et la précision de « grounding » sur des interfaces professionnelles descend jusqu’à 18,9 % pour un modèle spécialisé — un modèle généraliste d’environ 1 800 milliards de paramètres scorant sous 1 % au même test. L’écart entre l’écran perçu et l’écran réel a trois causes indépendantes : les erreurs de grounding ordinaires (source dominante et non adversariale), la manipulation adversariale des captures par un runtime compromis, et les courses de type time-of-check-to-time-of-use où l’écran change entre la capture et le clic.
La démonstration, baptisée ScreenSwap, exploite la position d’intermédiaire que le runtime de l’agent occupe déjà. Un runtime compromis se trouve entre l’affichage et le modèle : il peut donc recadrer les zones de pixels de deux boutons et coller chacune à l’emplacement de l’autre avant même que le LLM ne voie l’image. Le modèle lit un libellé anodin aux coordonnées du bouton dangereux et clique dessus. La manipulation utilise de vrais pixels rendus nativement, si bien que la capture truquée est indiscernable d’une authentique — et comme les CUA se trompent déjà de cible la plupart du temps, un clic orienté est indiscernable d’une erreur de routine. L’intérêt de l’exercice n’est pas le code ; c’est que la frontière entre une erreur de perception quotidienne et une élévation de privilèges est infime.
Pourquoi c’est important
Cela généralise le problème classique du député confus à la perception : l’autorité réside dans l’agent, l’intention naît dans le modèle, mais ce qui existe réellement aux coordonnées visées n’a été vérifié par personne. Cela met en échec les défenses vers lesquelles on se tourne d’abord. Le contrôle d’accès ne peut pas raisonner sur click(450, 320), car les coordonnées ne portent aucun contenu sémantique. Les garde-fous internes à l’agent et l’auto-modération du modèle sont circulaires — ils s’exécutent sur la même perception potentiellement corrompue qui a produit la mauvaise action, et un runtime compromis peut les contourner d’emblée. L’article note que l’augmentation de la taille du modèle ne sauve rien : la précision de grounding ne progresse que faiblement avec l’échelle. C’est donc une faiblesse au niveau système, pas une limite passagère des petits modèles. À mesure que les CUA passent des démonstrations aux postes de travail en production, un bug de « clic au mauvais endroit » devient une voie vers des réinitialisations d’identifiants, des suppressions de données et des fuites de vie privée.
Défenses
Vérifier les actions hors de la boucle perceptive de l’agent. La leçon centrale est architecturale : l’autorisation ne doit pas dépendre de la même perception qui a généré l’action. Le garde-fou de l’article, la classification contrastive à double canal, intercepte chaque clic avant exécution et le juge de deux façons simultanément — un canal image recadre les pixels aux coordonnées du clic et les classe face à des bases de connaissances propres au déploiement (cibles permises et interdites), tandis qu’un canal texte classe le raisonnement énoncé du modèle face à des bases d’intentions autorisées et interdites. Chaque canal peut opposer son veto. Les deux captent des défaillances complémentaires : les pixels révèlent les erreurs de cible, le raisonnement révèle une intention dangereuse derrière un contrôle d’apparence anodine. Sur des captures d’écran réelles d’interfaces professionnelles, le canal image seul atteint un F1 de 0,889 pour détecter les erreurs de grounding, et une fusion « l’image décide / le texte oppose son veto » le porte à 0,915 — mieux que chaque canal isolé. Le code de référence est publié sur vllm-project/semantic-router.
Limiter ce qu’un clic mal perçu peut faire. Considérez le triptyque létal comme contrainte de conception : placez les contrôles à fort rayon d’impact (réinitialisations d’identifiants, suppressions, paiements, changements de permissions) derrière une confirmation qui ne repose pas sur la capture d’écran de l’agent, et restreignez le compte de l’agent pour qu’un seul mauvais clic ne puisse pas escalader.
Durcir la chaîne d’approvisionnement du runtime. La variante adversariale suppose un runtime ou un serveur d’outils compromis : vérifiez donc la provenance et les signatures des serveurs MCP et des intégrations d’outils avant installation — la même recommandation de chaîne d’approvisionnement que la taxonomie v2.0 de Microsoft souligne pour les composants agentiques. C’est la même classe de problème de confiance que les schémas de député confus MCP observés dans les serveurs d’outils, déplacée à la couche des pixels.
Statut
| Élément | Détail |
|---|---|
| Constat | Le député confus visuel formalisé comme classe de vulnérabilité CUA |
| Source | Article arXiv, mars 2026 (v1) |
| Démonstration | ScreenSwap — échange de zones de pixels dans un runtime compromis |
| Corroboration | Taxonomie AI Red Team de Microsoft v2.0 (CUA Visual Attack), 4 juin 2026 |
| Défense | Classification contrastive à double canal, hors de la boucle de l’agent |
| Meilleur résultat rapporté | F1 0,915 (veto image+texte) sur captures réelles |
| Concernés | Tout agent informatique piloté par capture d’écran |
| Correctif | Pas de patch — la défense est un garde-fou additionnel ; code de référence ouvert |