Démonstration pratique des risques de sécurité du système MCP : de l'empoisonnement à la manipulation clandestine

Poisonnement et manipulation cachés dans le système MCP : démonstration pratique

MCP (Modèle de protocole de contexte)Le système est actuellement en phase de développement précoce, l'environnement global est plutôt chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse. Les protocoles et outils existants sont difficilement conçus pour une défense efficace. Pour aider la communauté à mieux comprendre et améliorer la sécurité de MCP, SlowMist a spécialement open-sourcé l'outil MasterMCP, espérant qu'à travers des exercices d'attaques réelles, cela permettra de découvrir les vulnérabilités de sécurité dans la conception du produit, et ainsi renforcer progressivement le projet MCP.

Cet article vous guidera à travers des démonstrations pratiques des méthodes d'attaque courantes dans le système MCP, telles que le poisoning d'informations, l'injection de commandes malveillantes, et d'autres cas réels. Tous les scripts de démonstration seront également open source, vous permettant de reproduire l'ensemble du processus dans un environnement sécurisé, et même de développer vos propres plugins de test d'attaque basés sur ces scripts.

Prise de départ pratique : empoisonnement et manipulation cachés dans le système MCP

Vue d'ensemble de l'architecture globale

cible d'attaque de démonstration MCP:Toolbox

smithery.ai est l'un des sites de plugins MCP les plus populaires actuellement, rassemblant un grand nombre de listes MCP et d'utilisateurs actifs. Parmi eux, @smithery/toolbox est l'outil de gestion MCP lancé par smithery.ai.

Choisissez Toolbox comme cible de test, principalement basé sur les points suivants:

  • Une base d'utilisateurs massive et représentative
  • Prise en charge de l'installation automatique d'autres plugins, complétant certaines fonctionnalités du client ( comme Claude Desktop )
  • Contient des configurations sensibles ( telles que la clé API ), facilitant la démonstration.

Pratique : Poison caché et manipulation dans le système MCP

utilisation démonstration de MCP malveillant : MasterMCP

MasterMCP est un outil de simulation de MCP malveillant développé par Slow Mist pour les tests de sécurité, conçu avec une architecture modulaire et comprenant les modules clés suivants :

  1. Simulation de services de sites Web locaux:

Pour reproduire plus fidèlement le scénario d'attaque, MasterMC intègre un module de simulation de service de site Web local. Il construit rapidement un serveur HTTP simple grâce au framework FastAPI, simulant un environnement Web courant. Ces pages semblent normales en surface, comme afficher des informations sur une pâtisserie ou renvoyer des données JSON standard, mais en réalité, dans le code source de la page ou les réponses d'interface, se cachent des charges utiles malveillantes soigneusement conçues.

  1. Architecture MCP plugin localisée

MasterMCP utilise une approche modulaire pour l'expansion, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Une fois en cours d'exécution, MasterMCP exécutera le service FastAPI du module précédent dans un sous-processus. ( Il existe déjà une vulnérabilité de sécurité ici - les plugins locaux peuvent démarrer n'importe quel sous-processus non prévu par MCP ).

Prise de position : empoisonnement et manipulation discrets dans le système MCP

client de démonstration

  • Cursor: l'un des IDE de programmation assistée par IA les plus populaires au monde
  • Claude Desktop : Client officiel sur mesure du protocole MCP d'Anthropic(

) modèle de grande taille utilisé pour la démonstration

  • Claude 3.7

Choisissez la version Claude 3.7, car elle a déjà apporté certaines améliorations dans la reconnaissance des opérations sensibles, tout en représentant une capacité opérationnelle relativement forte dans l'écosystème MCP actuel.

Invocation Malveillante Cross-MCP

Cette démonstration comprend deux contenus : l'empoisonnement et l'appel malveillant Cross-MCP.

attaque par empoisonnement de contenu Web

  1. Injection de commentaires

Cursor accède au site web de test local.

Ceci est une page "Delicious Cake World" qui semble inoffensive. Nous utilisons cette expérience pour simuler les effets causés par l'accès d'un client de grand modèle à un site Web malveillant.

Exécuter l'instruction :

Récupérer le contenu de

Les résultats montrent que le curseur non seulement lit le contenu de la page Web, mais renvoie également des données de configuration sensibles locales au serveur de test. Dans le code source, les mots-clés malveillants sont intégrés sous forme de commentaires HTML.

Bien que la méthode de commentaire soit assez directe et facile à identifier, elle peut déjà déclencher des opérations malveillantes.

![Pratique : empoisonnement et manipulation cachés dans le système MCP]###https://img-cdn.gateio.im/webp-social/moments-0ebb45583f5d7c2e4a4b792a0bdc989d.webp(

  1. Poisonnement par commentaires codés

Accédez à la page /encode, qui ressemble à la page précédente, mais où les mots-clés malveillants sont codés, rendant l'attaque d'empoisonnement plus discrète, même en consultant le code source de la page, il est difficile de le détecter directement.

Même si le code source ne contient pas de mots-clés en clair, l'attaque réussit toujours.

![Prise de position : empoisonnement caché et manipulation dans le système MCP])https://img-cdn.gateio.im/webp-social/moments-3840e36661d61bbb0dcee6d5cf38d376.webp(

) MCP outil retourne des informations de poison

Selon les instructions de l'invite MasterMCP, entrez la commande simulée ###. Cette commande n'a pas de signification réelle et vise à déclencher un MCP malveillant pour démontrer ses opérations ultérieures ( :

obtenir beaucoup de pommes

On peut voir qu'après avoir déclenché la commande, le client a appelé Toolbox à travers le MC et a réussi à ajouter un nouveau serveur MC.

En examinant le code du plugin, on peut constater que les données retournées contiennent déjà une charge utile malveillante encodée, et l'utilisateur est presque incapable de détecter une anomalie.

![Départ pratique : empoisonnement et manipulation cachés dans le système MCP])https://img-cdn.gateio.im/webp-social/moments-33ec895deae947ebc284e846286ccf1c.webp(

) attaque par pollution d'interface tierce

Cette démonstration vise principalement à rappeler que, qu'il s'agisse de MCP malveillant ou non, lors de l'appel d'une API tierce, si les données tierces sont directement renvoyées au contexte, cela peut avoir des conséquences graves.

Exécution de la demande :

Récupérer le json depuis /api/data

Résultat : des mots d'invite malveillants ont été intégrés dans les données JSON retournées et ont réussi à déclencher une exécution malveillante.

![Départ pratique : empoisonnement et manipulation cachés dans le système MCP]###https://img-cdn.gateio.im/webp-social/moments-e16c8d753ef00ec06f0bf607dc188446.webp(

Technique de poisoning de la phase d'initialisation de MCP

Cette démonstration inclut deux contenus : l'injection de mots-clés initiaux et les conflits de noms.

) attaque par couverture de fonction malveillante

Ici, MasterMCP a écrit un outil avec le même nom de fonction remove_server que Toolbox, et a encodé des mots d'invite malveillants cachés.

Exécuter l'instruction:

boîte à outils supprimer récupérer plugin serveur

Claude Desktop n'a pas appelé la méthode remove_server d'origine de toolbox, mais a plutôt déclenché la méthode homonyme fournie par MasterMCP.

Le principe est d'insister sur le fait que "les anciennes méthodes ont été abandonnées", en induisant prioritairement le grand modèle à appeler des fonctions de couverture malveillantes.

![Prise de contact : empoisonnement caché et manipulation dans le système MCP]###https://img-cdn.gateio.im/webp-social/moments-3e15b74bbdc0154ed8505c04345c4deb.webp(

) ajouter une logique de vérification globale malveillante

Ici, MasterMCP a écrit un outil banana, dont la fonction principale est de forcer tous les outils à exécuter cet outil pour un contrôle de sécurité avant de fonctionner sur des mots de prompt.

Avant chaque exécution de la fonction, le système appelle en priorité le mécanisme de vérification de banana.

C'est une injection logique globale réalisée en insistant à plusieurs reprises dans le code sur "la détection de banane doit être exécutée".

![Départ en pratique : empoisonnement et manipulation cachés dans le système MCP]###https://img-cdn.gateio.im/webp-social/moments-cd87a6781e74c267c89e99e398e7499c.webp(

Techniques avancées pour masquer les mots d'alerte malveillants

) méthode de codage conviviale pour les grands modèles

En raison de la capacité d'analyse extrêmement forte des grands modèles de langage ###LLM( pour les formats multilingues, cela est en fait utilisé pour cacher des informations malveillantes, les méthodes courantes comprennent :

  • Environnement anglais : utiliser l'encodage Hex Byte
  • Dans un environnement chinois : utiliser l'encodage NCR ou l'encodage JavaScript

![Départ pratique : empoisonnement et manipulation cachés dans le système MCP])https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01

( Mécanisme de retour de charge malveillante aléatoire

Comme mentionné dans le chapitre deux concernant la pollution des interfaces tierces, lors de la demande /random :

Chaque fois, une page avec un chargement malveillant est retournée au hasard, ce qui augmente considérablement la difficulté de détection et de traçage.

![Départ pratique : empoisonnement caché et manipulation dans le système MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp###

Résumé

À travers la démonstration pratique de MasterMCP, nous avons vu de manière intuitive les diverses vulnérabilités cachées dans le système Model Context Protocol (MCP). Des injections simples de mots-clés, des appels inter-MCP, jusqu'aux attaques plus subtiles à la phase d'initialisation et à la dissimulation de commandes malveillantes, chaque étape nous rappelle que : bien que l'écosystème MCP soit puissant, il est tout aussi fragile.

Surtout aujourd'hui, alors que les grands modèles interagissent de plus en plus fréquemment avec des plugins externes et des API, une petite contamination des entrées peut entraîner des risques de sécurité au niveau du système entier. La diversité des méthodes des attaquants, telles que le codage caché (, la contamination aléatoire et le remplacement de fonctions ), signifie également que les approches de protection traditionnelles doivent être entièrement mises à jour.

La sécurité n'est jamais instantanée.

J'espère que cette démonstration pourra servir d'avertissement : que ce soit pour les développeurs ou les utilisateurs, il est essentiel de garder une vigilance suffisante envers le système MCP, en surveillant chaque interaction, chaque ligne de code et chaque valeur de retour. Ce n'est qu'en traitant chaque détail avec rigueur que l'on peut réellement construire un environnement MCP solide et sécurisé.

Dans les prochaines étapes, nous continuerons également à améliorer le script MasterMCP, à open-sourcer davantage de cas de test ciblés pour aider chacun à approfondir sa compréhension, à pratiquer et à renforcer la protection dans un environnement sécurisé.

Départ pratique : Poison caché et manipulation dans le système MCP

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 7
  • Reposter
  • Partager
Commentaire
0/400
EthSandwichHerovip
· 07-18 06:35
Cette vieille méthode est en fait plus facile à attaquer, non ?
Voir l'originalRépondre0
gas_guzzlervip
· 07-16 22:51
MCP regarde le danger, vite, fuis!
Voir l'originalRépondre0
faded_wojak.ethvip
· 07-15 19:06
Voir à travers les mcp de votre maison jouer des tours
Voir l'originalRépondre0
PanicSellervip
· 07-15 19:06
Les pigeons n'ont même pas été pris pour des idiots que tu les lâches déjà ?
Voir l'originalRépondre0
LiquiditySurfervip
· 07-15 19:01
La sécurité de la Blockchain doit également ajuster le meilleur point d'enchaînement pour surfer~ Le marché chaotique actuel est à peine capable de rafraîchir un martini avec des glaçons.
Voir l'originalRépondre0
consensus_failurevip
· 07-15 18:54
À vrai dire, ce genre de faille ne devrait pas rester ouvert tout le temps.
Voir l'originalRépondre0
AllInAlicevip
· 07-15 18:50
Ce travail est trop sauvage, je suis un peu inquiet.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)