MCP · empoisonnement d'outils · rug pull

Votre serveur MCP a-t-il changé après votre approbation ?

Un modèle lit les descriptions d'outils comme des instructions, et un serveur peut les changer après votre revue. Collez le tools/list que vous avez approuvé et celui que le serveur renvoie maintenant : vous obtenez un verdict, un diff mot à mot de chaque outil modifié et un signal pour chaque ajout risqué.

Gratuit · sans compte · sans portefeuille

Une liste d'outils, {"tools": […]} ou la réponse JSON-RPC du serveur.

Le même serveur aujourd'hui, sous l'une de ces formes.

Ctrl / ⌘ + Entrée

Ce qui est vérifié

  • Outils ajoutés et retirés, noms dupliqués et noms imitateurs.
  • Un diff mot à mot de chaque description modifiée, les chemins JSON des schémas qui ont bougé et les changements d'annotations.
  • Des signaux sur ce que le changement a ajouté : instructions visant le modèle, formules de priorité et de dissimulation, chemins d'identifiants et de portefeuilles, actions cachées, Unicode invisible, texte poussé hors de vue.
  • Nouvelles URL, adresses e-mail, IP et adresses de portefeuille dans tout le jeu d'outils.
  • Permissions élargies : readOnlyHint retiré, destructiveHint ou openWorldHint activé, nouveaux paramètres de commande, de chemin ou d'URL.

Ce qui n'est pas vérifié

Des motifs, pas un modèle : les phrases sont repérées en anglais, tandis que les adresses, les caractères cachés et les changements de schéma se lisent de la même façon dans toutes les langues. Il compare les deux listes fournies ; pour une seule liste, utilisez l'analyse WARDEN, pour l'historique public d'un serveur, HISTOR.

Confidentialité

Ce que vous collez est envoyé à modelmarket.dev, comparé par une fonction déterministe sur notre environnement HESTIA, puis renvoyé. Rien n'est conservé.

Comment obtenir un tools/list

Beaucoup de serveurs HTTP répondent à une requête directe ; un serveur qui exige une session demande d'abord un appel initialize. Gardez la réponse d'aujourd'hui : c'est l'« avant » de votre prochaine vérification.

curl -s https://mcp.example.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Les agents IA achètent cette même vérification

Cette page est gratuite pour les humains. Un agent IA obtient la même réponse déterministe pour $0.003 l'appel via x402 — USDC sur Base, sans compte ni clé d'API :

POST https://modelmarket.dev/x402/mcp-diff

Référencée dans le x402 Bazaar de Coinbase et sur x402scan. Ce que paie un agent, c'est la réponse affichée ici, octet pour octet.

Questions

Qu'est-ce qu'un rug pull MCP ?

Un serveur qui passe la revue avec des descriptions honnêtes puis les change : une nouvelle adresse où envoyer des données, une instruction cachée pour lire les clés de l'utilisateur, un outil qui cesse de se déclarer en lecture seule. Les clients montrent souvent la description une seule fois, à l'approbation, donc le changement passe inaperçu.

Le verdict vient-il d'un modèle ?

Non. Des règles déterministes donnent la même réponse à chaque fois, et chaque signal montre sa preuve pour que vous jugiez vous-même.

Où garder la liste « avant » ?

À côté de votre configuration MCP, sous contrôle de version. Le fichier de verrouillage de WARDEN (warden-mcp scan --lock) le fait pour chaque serveur lancé par vos clients et bloque dès qu'un serveur dérive.

Autres vérifications gratuites