Aller au contenu

ASI07 : communication inter-agents non sécurisée

ASI07 : communication inter-agents non sécurisée

Section intitulée « ASI07 : communication inter-agents non sécurisée »

ASI07, septième entrée du Top 10 OWASP des applications agentiques, traite des messages que les agents s’échangent. Dès qu’un système en comporte plusieurs, ils se coordonnent : par API, par bus de messages, par mémoire partagée, par annuaire de découverte. Chaque échange est une communication réseau ordinaire, avec les problèmes ordinaires d’authentification, d’intégrité et de confidentialité — plus un problème qui ne l’est pas du tout : le contenu transporté est du langage naturel, c’est-à-dire des instructions pour celui qui le reçoit.

→ Lire l’explication complète de la marmotte

Le mécanisme : plus de périmètre, et un contenu actif

Section intitulée « Le mécanisme : plus de périmètre, et un contenu actif »

Le référentiel pose d’abord un constat d’architecture : décentralisation, autonomie variable d’un agent à l’autre, confiance inégale. Les modèles de sécurité périmétriques y sont inopérants, puisqu’il n’y a plus d’intérieur. Un agent appelle un pair hébergé ailleurs, un autre interroge un annuaire public, un troisième écrit dans une mémoire que six agents lisent.

Quand les contrôles d’authentification, d’intégrité, de confidentialité ou d’autorisation sont faibles, un tiers peut intercepter, manipuler, usurper ou bloquer des messages. Jusqu’ici, rien que ne connaisse déjà n’importe quel protocole réseau. La différence est dans la charge utile : un message altéré ne corrompt pas une donnée, il reformule une consigne. Le référentiel appelle cela la manipulation sémantique, et il étend la menace à quatre couches — transport, routage, découverte et sémantique — en y ajoutant les canaux auxiliaires, où des agents fuient ou déduisent de l’information par des indices de temporisation ou de comportement.

C’est ce dernier point qui déroute le plus : le référentiel signale que les motifs de trafic révèlent les cycles de décision et les relations entre agents, ce qui permet de prédire puis de manipuler leur comportement sans lire un seul message. L’analyse de métadonnées n’est pas une nouveauté — elle est l’objet d’un éditorial du site sur le chiffrement de bout en bout et les métadonnées — mais son application à des agents dont le rythme de travail est régulier la rend particulièrement productive.

Le référentiel distingue par l’objet attaqué, et la règle est simple à retenir :

Les conséquences nommées sont la désinformation, la confusion de privilèges et la manipulation coordonnée de plusieurs agents à la fois. Dans la taxonomie du projet, l’entrée est couverte par T12, empoisonnement de la communication entre agents, et T16, abus de protocole inter-agents.

La frontière avec ASI04, chaîne d’approvisionnement agentique, demande un peu de soin : un pair malveillant qui publie une carte d’agent mensongère relève d’ASI04, parce que la tromperie est inscrite dans un artefact distribué ; le même pair qui altère les messages en vol relève d’ASI07. Le résultat observable est voisin, le point d’application du remède ne l’est pas.

L’interception sur canal non chiffré. Un intermédiaire lit les messages et y injecte des instructions cachées, qui altèrent les buts et la logique de décision des agents destinataires. Le scénario suppose du trafic en clair, ce qui en 2026 devrait relever de l’archéologie, et ne s’en trouve pourtant pas moins fréquemment entre services internes.

Le rejeu sur les chaînes de confiance. Un message de délégation ou d’octroi de confiance, capturé puis réémis plus tard, fait accorder un accès ou honorer une instruction périmée. Le référentiel cite le cas d’un message de coordination d’urgence rejoué, qui déclenche des procédures obsolètes et une mauvaise allocation de ressources. L’absence d’anti-rejeu est un défaut classique des intégrations maison, traité sur le site dans le webhook non vérifié.

La dégradation de protocole et la forgerie de descripteurs. L’attaquant contraint les agents à négocier un mode plus faible, ou usurpe leurs descripteurs, de sorte que des commandes malveillantes passent pour des échanges valides. Le mécanisme de la dégradation est exactement celui que le site décrit pour la rétrogradation de STARTTLS : ce n’est pas le chiffrement qui est cassé, c’est son usage qui est rendu facultatif.

Les attaques sur la découverte. Du trafic de découverte mal dirigé forge des relations avec des agents malveillants ; un faux pair enregistré dans un service d’annuaire avec un schéma cloné intercepte du trafic de coordination privilégié. Le suivi d’incidents du référentiel documente un cas d’avril 2025 : un agent malveillant a publié une fausse carte d’agent dans un annuaire ouvert en se déclarant très digne de confiance, un agent arbitre l’a sélectionné, et il a pu intercepter puis divulguer des données sensibles.

La divergence sémantique. Le cas le plus intéressant du lot, que le référentiel nomme cerveau divisé : une même instruction est interprétée en intentions différentes par plusieurs agents, qui produisent des actions contradictoires mais chacune parfaitement légitime. Aucun message n’a été altéré. Personne n’a attaqué. Le système se contredit tout seul, et aucune signature cryptographique n’y changera rien.

Réduire : signer les messages, et le contexte avec

Section intitulée « Réduire : signer les messages, et le contexte avec »

Les mitigations du référentiel sont, pour une fois, des mitigations de protocole bien connues — à une extension près qui mérite l’attention.

  • Des canaux sécurisés entre agents : chiffrement de bout en bout, identifiants propres à chaque agent, authentification mutuelle. Le document recommande explicitement une infrastructure à clés publiques avec épinglage de certificats et confidentialité persistante. Les mécanismes et leurs coûts d’exploitation sont décrits sur le site dans mTLS et, pour l’épinglage, dans les risques opérationnels du certificate pinning.
  • L’intégrité des messages, et du contexte : signer les messages et hacher la charge utile et le contexte. C’est l’extension qui compte. Un message signé dont le contexte n’est pas lié peut être réemployé dans une autre conversation en restant valide — ce qui est précisément le rejeu inter-contextes. Le document recommande en complément un assainissement conscient du langage naturel et un différentiel d’intention, pour détecter les altérations de but ou de paramètre.
  • Un anti-rejeu adapté aux agents : nonces, identifiants de session, horodatages liés aux fenêtres de tâche, et conservation d’empreintes de messages à court terme pour repérer les rejeux d’un contexte dans un autre.
  • L’épinglage de protocole et l’application de version : refuser les tentatives de dégradation et les schémas inconnus, vérifier que les deux pairs annoncent des empreintes de capacité et de version concordantes, désactiver les modes anciens, lier l’authentification de protocole à l’identité de l’agent et appliquer les politiques à la passerelle.
  • L’authentification de la découverte : tous les messages de découverte et de coordination authentifiés par une identité cryptographique, annuaires protégés par contrôle d’accès et réputations vérifiées, cartes d’agents signées, vérification continue plutôt qu’à l’inscription, et surveillance des flux de routage anormaux.
  • Des contrats typés et versionnés, avec une audience explicite par message et le refus des messages invalides ou tentant une conversion de schéma à la baisse.
  • La limitation de l’inférence par métadonnées : messages de taille fixe ou rembourrés, lissage des débits, calendriers non déterministes. Le référentiel présente ces mesures comme légères et à portée de main, ce qui est vrai, et comme suffisantes pour empêcher de déduire les rôles et les cycles de décision, ce qui l’est moins.

La supervision d’un système multi-agents commence par une carte : qui parle à qui, à quelle fréquence, pour quelles tâches. Sans cette ligne de base, aucune anomalie de routage n’est détectable, puisque tout échange ressemble à un échange. Le référentiel demande explicitement de surveiller les flux de routage anormaux, ce qui suppose de savoir à quoi ressemble un flux normal.

Trois signaux méritent une alerte. Un pair inconnu qui apparaît dans les échanges, ce qui dans un système à inscription fermée ne devrait jamais arriver. Un message dont l’empreinte a déjà été vue, signature du rejeu, à condition d’avoir conservé ces empreintes assez longtemps. Et une négociation de protocole qui aboutit à un mode plus faible que celui annoncé par les deux pairs, qui est la trace d’une tentative de dégradation réussie. Les techniques d’observation applicables sont celles de l’observabilité réseau et du diagnostic multi-couche, appliquées à un trafic dont le contenu est, lui, de la prose.

Le référentiel fait ici une concession rare et qu’il faut lui créditer : les contrats typés aident à la structure, mais la divergence sémantique entre agents reste un défi inhérent. Les mitigations se concentrent donc sur l’intégrité, la provenance et des motifs de communication contrôlés, plutôt que sur une tentative d’alignement sémantique complet. Autrement dit : on sait garantir qu’un message est authentique, intègre, frais et conforme au schéma. On ne sait pas garantir que deux agents comprennent la même chose en le lisant. C’est un aveu d’impuissance, et il est juste.

La conséquence pratique est qu’il ne faut pas attendre de la cryptographie ce qu’elle ne peut pas donner. Un système multi-agents correctement authentifié peut encore produire des actions contradictoires, et la seule parade est architecturale : réduire le nombre d’agents qui décident, faire converger les décisions vers un point unique vérifiable, et préférer un orchestrateur déterministe à une conversation entre pairs. C’est la moindre agentivité appliquée à la topologie — la plupart des systèmes multi-agents fonctionneraient aussi bien avec moins d’agents, et seraient alors beaucoup plus faciles à défendre. Les arbitrages correspondants sont détaillés dans sécuriser une orchestration multi-agents.

Sans signature liant le message à son contexte, un échange capturé reste indéfiniment réutilisable : l’agent destinataire ne peut pas distinguer un message frais d’un message authentique émis la semaine précédente, et les journaux n’enregistrent qu’une réception valide. Le rejeu ne laisse donc aucune trace exploitable, et l’incident se découvre par son effet — une procédure déclenchée sans raison, un accès accordé deux fois. Sans authentification de la découverte, l’ajout d’un pair malveillant dans un annuaire ne produit aucun événement de sécurité : l’agent hôte choisit le nouveau venu parce qu’il annonce les meilleures capacités, et le trafic sensible change de route sans qu’aucune règle ne soit violée. Sans contrats typés et audience explicite, enfin, un message destiné à un agent est traité par un autre, et la seule chose que montreront les journaux est que deux agents ont travaillé sur la même tâche — ce qui, dans un système multi-agents, est le comportement attendu.

Quand plusieurs assistants informatiques travaillent ensemble, ils se parlent. L’un demande à l’autre de chercher une information, un troisième transmet un résultat, un quatrième écrit dans un carnet que tous consultent. Ces échanges passent par le réseau, comme n’importe quel message, et peuvent donc être lus, modifiés, retardés ou imités par quelqu’un qui s’y intercale.

La particularité, ici, est que ces messages ne contiennent pas seulement des données : ils contiennent des consignes. Modifier un message entre deux assistants ne corrompt pas un chiffre, cela change un ordre. Et comme chaque assistant fait confiance aux messages qui viennent de l’intérieur, une consigne bien formulée est exécutée sans vérification.

Quatre problèmes reviennent. Les messages circulent parfois sans chiffrement, et n’importe qui sur le chemin peut y ajouter une phrase. Un message capturé peut être renvoyé plus tard, et l’assistant le traite comme neuf. Un faux assistant peut s’inscrire dans l’annuaire du système en se déclarant très compétent, et recevoir le travail sensible — un cas réel de ce genre a été documenté en avril 2025. Enfin, même le rythme des échanges renseigne : il suffit d’observer qui parle à qui et quand pour deviner comment le système décide.

Les remèdes sont ceux des protocoles sérieux : tout chiffrer, donner à chaque assistant sa propre identité vérifiable, signer chaque message avec sa conversation d’origine pour qu’il ne puisse pas être rejoué ailleurs, refuser les modes de communication anciens, et n’accepter dans l’annuaire que des participants attestés. Il reste un problème qu’aucune signature ne règle : deux assistants peuvent comprendre différemment la même phrase, et agir en se contredisant, sans que personne les ait attaqués. La seule réponse à celui-là est d’en avoir moins.

À lire aussi

Pages voisines

: les deux pages se citent l’une l’autre.