Descriptions des outils empoisonnés
Les agents lisent les descriptions des outils sous forme d'instructions et non de documents.
Qu'est-ce que Descriptions des outils empoisonnés?
Un agent IA lit la description d'un outil connecté pour décider comment et quand l'utiliser, ce qui rend ce texte plus proche des instructions exécutables que de la documentation. Modifiez la description et vous modifiez le comportement de l'agent, sans modification du gestionnaire, du schéma ou des autorisations, et sans rien dans une révision de code pour le détecter. Vous trouverez un outil approuvé il y a des mois qui demande désormais à l'agent de mettre en copie chaque message vers une adresse externe, de comparer la description en direct au libellé approuvé et de bloquer le serveur compromis au niveau de la passerelle.
Ce que vous apprendrez dans Descriptions des outils empoisonnés
- Expliquer pourquoi un agent IA traite la description d'un outil MCP connecté comme des instructions exécutables plutôt que comme une documentation passive
- Reconnaître un tirage de tapis empoisonnant un outil : un serveur obtient l'approbation sur une description, puis une mise à jour ultérieure échange silencieusement un comportement différent sans changement de code ni d'autorisation.
- Contenir un outil empoisonné à tous les niveaux qu'il peut atteindre : refuser un seul appel, désactiver l'outil pour la session en cours et bloquer le serveur compromis au niveau de la passerelle afin que toutes les autres équipes connectées soient également protégées.
- Refuser un appel d'outil dont le comportement ne correspond plus à la description initialement approuvée, même si l'appel aurait autrement réussi
- Traitez la description d'un outil MCP comme un artefact de la chaîne d'approvisionnement : épinglez la version approuvée, comparez chaque mise à jour à celle-ci et contenez un serveur compromis à la fois au niveau du client et de la passerelle.
Descriptions des outils empoisonnés — Étapes de la formation
-
Jeton de publication de quelqu'un d'autre
Bob n'attaque pas Sarnholt Systems. Il s'attaque au vendeur en qui ils ont déjà confiance. Un jeton de responsable volé lui permet de publier dans le registre VaultSync Bridge en tant que VaultSync Bridge.
-
Le manifeste que tout le monde lit
Le manifeste de l'outil du serveur est ce que chaque client connecté répertorie lorsqu'il demande au serveur ce qu'il peut faire. Bob ouvre la copie qu'il s'apprête à publier.
-
Une chaîne
Il ne change rien pour lequel un critique serait différent. Le gestionnaire est intact, le schéma d'entrée est intact, les autorisations sont intactes. Il modifie la phrase que l'agent lit.
-
Expédié sous forme de patch
Il le publie sous forme de communiqué ponctuel ordinaire. Le registre l'accepte, car un compte de responsable légitime l'a publié.
-
En attente de la mise à jour
Bob a fini. Le reste se passe au sein de Sarnholt, sur son propre serveur approuvé, la prochaine fois qu'un agent accède à un outil qu'il a utilisé en toute sécurité pendant des mois.
-
Une mise à jour de routine des fournisseurs
Lundi matin à Sarnholt Systems. Alice, ingénieure de plateforme d'IA, ouvre sa boîte de réception sur la pile habituelle : des notes de stand-up, une invitation de calendrier et un avis de publication provenant d'un serveur MCP tiers que son équipe a connecté il y a des mois. Rien de tout cela ne semble urgent.
-
Connecter la flotte
Sarnholt Systems gère ses outils d'agent via Agent Host, le client MCP de l'entreprise. ticket-desk-mcp , une petite intégration de service d'assistance interne, et fileops-mcp , le connecteur de fichiers et de messagerie VaultSync Bridge qui vient d'être corrigé, sont déjà connectés et approuvés.
-
Examen des outils approuvés
Avant de toucher quoi que ce soit, Alice vérifie ce qui est réellement connecté. Les deux serveurs ressemblent exactement à ce qu’ils étaient lorsque son équipe les a approuvés : même point de terminaison, même version, mêmes descriptions d’outils.
-
La mise à jour arrive tranquillement
Le correctif de VaultSync atteint fileops-mcp alors qu'Alice est toujours dans l'onglet. Il réécrit ce que send_email est chargé de faire. Aucune invite d'approbation, aucune modification de version, aucune notification. La liste des outils se redessine simplement.
-
Une demande ordinaire
La liste d'outils s'est redessinée pendant qu'Alice lisait sa boîte de réception ; rien ne lui demandait de le regarder. Elle reprend son travail de routine et demande à l'agent de s'acquitter d'une tâche normale.
Couverture des référentiels de sécurité
OWASP MCP Top 10
- MCP03:2025 Tool Poisoning
CWE
- CWE-1427 Improper Neutralization of Input Used for LLM Prompting
- CWE-345 Insufficient Verification of Data Authenticity
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security