système : OPÉRATIONNEL
← retour à tous les hacks
DEFENSE LOW NEW

AgentTrust : filtrer les appels d'outils d'un agent avant leur exécution

Un préprint du 6 mai 2026 présente AgentTrust, une couche d'exécution qui inspecte chaque appel d'outil avant qu'il ne s'exécute et renvoie autoriser / avertir / bloquer / revoir — y compris sur les charges shell obfusquées.

2026-06-08 // 6 min

De quoi s’agit-il ?

Le 6 mai 2026, un préprint intitulé AgentTrust: Runtime Safety Evaluation and Interception for AI Agent Tool Use (arXiv:2605.04785) a proposé une défense pour un problème que le reste du mois n’a cessé d’illustrer : les agents IA produisent désormais des effets réels — opérations sur fichiers, commandes shell, requêtes HTTP, accès bases de données — et une seule action dangereuse (une suppression accidentelle, une fuite d’identifiants, un fichier exfiltré) peut causer un dommage irréversible. AgentTrust s’intercale entre l’agent et ses outils et décide, avant l’exécution de chaque appel, s’il faut le laisser passer.

Le travail a été signalé dans le panorama agentique de juin 2026 d’Adversa AI parmi les défenses notables du mois. Sa motivation est concrète : sur la même période, Microsoft a documenté comment une injection de prompt peut atteindre une exécution de code à distance au niveau de l’hôte via les fonctions invocables par le modèle. Si les injections transforment les prompts en shells, la dernière ligne de défense est ce qui inspecte l’action que l’agent s’apprête à entreprendre.

Comment ça marche

AgentTrust est une couche d’interception à l’exécution. Chaque appel d’outil tenté par l’agent est mis en pause, évalué, puis assorti de l’un de quatre verdicts structurés — autoriser, avertir, bloquer ou revoir — avant de pouvoir s’exécuter. Le papier soutient que cela comble une lacune laissée par les trois défenses habituelles, chacune décrite comme incomplète isolément :

Existing control        What it does                      Where it falls short
----------------------  --------------------------------  ------------------------------------
Post-hoc benchmarks     Measure agent behavior            Judge after the action already ran
Static guardrails       Pattern-match inputs/outputs      Miss obfuscation and multi-step context
Infra sandboxes         Constrain WHERE code runs         Don't understand WHAT an action means

Pour combler cet écart, AgentTrust combine quatre composants. Un normaliseur de désobfuscation shell déroule les astuces utilisées pour masquer une commande dangereuse à un simple filtrage par motif — expansion de variables, échappements hexa/octaux, résolution d’alias, substitution de commande, quoting ANSI-C, concaténation de guillemets adjacents — afin que le verdict porte sur ce que la commande fait réellement, et non sur la façon dont elle est écrite. SafeFix est un moteur à base de règles qui, au lieu de seulement bloquer, propose une alternative plus sûre à un appel risqué. RiskChain examine la séquence d’étapes pour détecter les chaînes d’attaque multi-étapes anodines appel par appel. Enfin, un LLM-juge avec cache traite les entrées ambiguës que les règles ne tranchent pas, le cache maintenant une faible latence.

Sur le banc d’essai interne de 300 scénarios (six catégories de risque), le jeu de règles de production rapporte 95,0 % d’exactitude de verdict et 73,7 % d’exactitude de niveau de risque, à une latence de l’ordre de la milliseconde. Sur un ensemble distinct de 630 scénarios adverses réels — évalué sous un jeu de règles corrigé, et explicitement non présenté comme zero-shot — il rapporte 96,7 % d’exactitude de verdict, dont environ 93 % sur les charges shell obfusquées. Ces chiffres sont ceux des auteurs ; comme pour toute évaluation issue d’un seul papier, à considérer comme un point de départ, non comme une garantie indépendante.

Pourquoi c’est important

Le modèle de menace des agents est passé de « que dit le modèle » à « que fait le modèle ». Les divulgations qui s’accumulent en 2026 — RCE d’agents de code, chaînes injection-de-prompt-vers-shell, enregistrements d’outils et de mémoire empoisonnés — partagent une cause : un agent a eu le droit d’entreprendre une action dont nul n’a inspecté l’effet réel. Une couche qui comprend le sens d’un appel d’outil, le désobfusque et peut y opposer un veto répond directement à cette classe de défaillances.

Il importe aussi qu’AgentTrust soit livré sous forme de serveur Model Context Protocol sous licence AGPL-3.0. On peut ainsi le placer devant des agents compatibles MCP sans les reconstruire, et les règles de désobfuscation restent auditables plutôt qu’opaques. Le compromis est celui de tout garde-fou en ligne : chaque action légitime bloquée crée de la friction, et un « autoriser » erroné mais confiant est pire que pas de garde-fou du tout ; la qualité des verdicts et le taux de faux positifs déterminent donc si les équipes le laissent activé.

Défenses

AgentTrust est lui-même un contrôle défensif. Les enseignements pratiques pour les équipes exploitant des agents outillés :

  1. Médiatisez les appels d’outils, ne vous contentez pas de les sandboxer. Un sandbox limite le code s’exécute ; un médiateur au niveau de l’action décide si un appel donné doit s’exécuter. Utilisez les deux — ils couvrent des défaillances différentes.

  2. Normalisez avant de juger. Toute décision autoriser/refuser prise sur le texte brut d’une commande est à une astuce d’obfuscation près d’être fausse. Désobfusquez l’entrée shell (expansion de variables, échappements hexa/octaux, alias, substitution de commande, astuces de quoting) et évaluez la forme canonique.

  3. Raisonnez sur la séquence, pas seulement sur l’appel. Des chaînes multi-étapes peuvent être anodines une à une et constituer ensemble une exfiltration. Conservez assez de contexte pour saisir la chaîne, pas seulement l’appel isolé.

  4. Préférez une alternative plus sûre au blocage sec. Un garde-fou qui ne fait que bloquer est désactivé dès la première interruption d’un travail réel. Proposer une réécriture plus sûre (l’idée de SafeFix) préserve l’utilité et maintient le garde-fou activé.

  5. Gardez un humain dans la boucle pour le niveau « revoir ». Réservez un verdict aux actions trop lourdes de conséquences pour être auto-autorisées et trop plausibles pour être auto-bloquées — suppressions irréversibles, accès à des identifiants, transferts sortants — et routez-les vers une personne.

  6. Mesurez vos propres faux positifs. Les chiffres d’exactitude d’un éditeur ou d’un papier sont un point de départ. Avant de faire confiance à un garde-fou en ligne en production, testez-le sur votre propre trafic et observez ce qu’il bloque à tort, car c’est ce qui décide de sa survie au contact de vos utilisateurs.

État des lieux

ÉlémentRéférenceDateNotes
PréprintarXiv:2605.047852026-05-06Interception à l’exécution ; verdicts autoriser/avertir/bloquer/revoir ; AGPL-3.0, livre un serveur MCP
Mention panoramaAdversa AI2026-06-01Classé sous « Agentic AI defense »
Motivation menaceBlog sécurité Microsoft2026-05-07Injection de prompt atteignant une RCE au niveau de l’hôte via fonctions invocables par le modèle

Le message n’est pas « l’interception des appels d’outils résout la sécurité des agents ». Il est plus étroit : dès lors qu’un agent peut agir, c’est l’action — pas le prompt — qui est la frontière à défendre, et cette frontière doit comprendre ce que signifie un appel, pas seulement comment il est écrit. AgentTrust est une tentative publiée et open source de rendre cette frontière réelle ; les chiffres rapportés sont ceux des auteurs, alors validez-la sur votre propre trafic avant de vous y fier.

Sources