Empoisonnement des métadonnées d'outils et « rug pull »
Comprendre
Avant d’appeler une API, l’agent lit le nom, la description et le schéma de paramètres de chaque outil : ce texte entre dans son contexte au même titre qu’un document récupéré. Ce sont donc des entrées non fiables. Un serveur peut présenter une description propre au moment de la revue, puis la remplacer après l’approbation : c’est le « rug pull ». Aucun message de l’utilisateur n’est en cause — l’injection est à zéro clic.
La revue des outils est un événement ponctuel, alors que la description est relue à chaque session. La plupart des clients n’affichent pas ces descriptions et n’alertent pas lorsqu’elles changent.
Tester
l’agent exécute une instruction provenant d’une description d’outil ; ou la description change après approbation sans qu’aucune alerte ne remonte.
Le vecteur n’est pas théorique : CVE-2025-53773 (GitHub Copilot, mode agent, CVSS 9.6) — des instructions déposées dans un commentaire de code amenaient l’agent à écrire dans sa propre configuration pour activer l’auto-approbation, puis à agir sans validation. Corrigé en août 2025. La leçon tient en une ligne : un agent qui peut modifier sa propre configuration n’a plus de garde-fou.
Prévenir
- › empreinte (hash) et épinglage des descriptions et schémas au chargement : tout écart bloque et alerte — il ne se contente pas d’avertir.
- › liste blanche des serveurs d’outils ; inventaire versionné des outils comme composants tiers.
- › l’agent ne dispose jamais d’un droit d’écriture sur sa propre configuration ni sur sa liste d’outils.
- › Contrôle résiduel : aucune action à effet exécutée sur la seule foi d’une description d’outil.
Référence
Preuve C (benchmark en préprint, avis fournisseurs et CVE) — MCPTox: A Benchmark for Tool Poisoning Attack on Real-World MCP Servers arxiv.org/abs/2508.14925.
Ce qu’elle établit — la description d’outil est un vecteur d’injection indirecte à zéro clic : l’instruction malveillante ne vient pas de l’utilisateur mais des métadonnées que l’agent lit pour décider. Appuis : divulgation Invariant Labs (avril 2025) et avis Microsoft sur l’injection indirecte via MCP, qui documentent le rug pull (modification de la définition après approbation par l’utilisateur) ; OWASP MCP Top 10 (bêta 2026), qui classe l’empoisonnement d’outils ; CVE-2025-53773, qui établit l’escalade de privilèges par écriture de configuration en production.