Démonstration des risques de sécurité MCP : analyse complète des attaques de la contamination à l'attaque réelle

MCP Sécurité : Démonstration pratique de l'empoisonnement caché et de la manipulation

Le protocole de contexte du modèle MCP( est encore à un stade de développement précoce, l'environnement global étant assez chaotique, avec une multitude de méthodes d'attaque potentielles. Les protocoles et outils existants sont difficiles à concevoir pour une défense efficace. Pour aider la communauté à mieux comprendre et améliorer la sécurité de MCP, une équipe de sécurité a ouvert le code de l'outil MasterMCP, qui vise à aider les développeurs à identifier rapidement les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaque réels, afin de renforcer progressivement le projet MCP.

Cet article vous invitera à mettre la main à la pâte et à démontrer des méthodes d'attaque courantes dans le cadre du système MCP, telles que l'empoisonnement d'informations et l'injection de commandes malveillantes, à travers des cas réels. Tous les scripts de démonstration seront également open source sur GitHub, permettant aux développeurs de reproduire l'ensemble du processus dans un environnement sécurisé, et même de développer leurs propres plugins de test d'attaque basés sur ces scripts.

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

Vue d'ensemble de l'architecture globale

) démonstration de l'attaque cible MC:Toolbox

Un site web de plugins MCP bien connu est l'une des plateformes MCP les plus populaires actuellement, rassemblant un grand nombre de listes MCP et d'utilisateurs actifs. Parmi eux, un outil de gestion MCP officiel est l'outil de gestion MCP lancé par cette plateforme.

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

  • Une grande base d'utilisateurs, représentative
  • Prend en charge l'installation automatique d'autres plugins, complétant ainsi certaines fonctionnalités du client.
  • Contient des configurations sensibles ### telles que la clé API (, facilitant la démonstration.

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

) démonstration d'utilisation du MCP malveillant : MasterMCP

MasterMCP est un outil de simulation de MCP malveillant conçu pour les tests de sécurité, utilisant une architecture modulaire et incluant les modules clés suivants :

  1. Simulation de service de site web local :

Pour restituer de manière plus réaliste les scénarios d'attaque, MasterMCP intègre un module de simulation de service de site web local. Il utilise le framework FastAPI pour construire rapidement un serveur HTTP simplifié, simulant un environnement web courant. Ces pages semblent normales en surface, comme afficher des informations sur une pâtisserie ou retourner des données JSON standard, mais en réalité, elles cachent des charges malveillantes soigneusement conçues dans le code source de la page ou les réponses des interfaces.

Cette méthode permet de démontrer de manière complète des techniques d'attaque telles que l'empoisonnement d'information et la dissimulation de commandes dans un environnement local sécurisé et contrôlé, aidant à comprendre : même une page web apparemment ordinaire peut devenir une source de risque qui pousse un grand modèle à exécuter des opérations anormales.

  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 lancera le service FastAPI du module précédent dans un sous-processus. Il existe ici une vulnérabilité de sécurité - les plugins locaux peuvent démarrer des sous-processus non prévus par MCP.

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

) Client de démonstration

  • Cursor : l'un des IDE de programmation assistée par IA les plus populaires au monde.
  • Claude Desktop:Anthropic###MC protocole personnalisé ( client officiel

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

  • Claude 3.7

Choisissez la version Claude 3.7, car elle a déjà fait des 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.

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

Démonstration d'appel malveillant Cross-MCP

) attaque de poisoning de contenu web

  1. Injection de commentaires

Accédez au site de test local via le curseur, c'est une page "Delicious Cake World" qui semble inoffensive.

Exécuter l'instruction:

Récupérer le contenu de

Les résultats montrent que Cursor ne se contente pas de lire le contenu des pages 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 relativement directe et facilement identifiable, elle peut déjà déclencher des opérations malveillantes.

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

  1. Poisonnement par commentaires de type encodage

Accédez à la page /encode, c'est une page Web qui ressemble à l'exemple précédent, mais les mots d'invite malveillants y sont encodés, rendant l'empoisonnement plus furtif, 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 d'invite en clair, l'attaque réussit toujours.

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

) MCP outils retour information empoisonnement

Selon les instructions du mot-clé MasterMCP, saisissez la commande simulée :

obtenir beaucoup de pommes

Après avoir déclenché la commande, le client a appelé Toolbox à travers MC et a réussi à ajouter un nouveau serveur MC. En examinant le code du plugin, on découvre que les données de retour contiennent déjà une charge utile malveillante traitée par encodage, rendant presque impossible pour l'utilisateur de détecter l'anomalie.

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

) attaque de pollution d'interface tierce

Exécuter la demande:

Récupérer le json à partir de /api/data

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

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

Technique de détoxification lors de la phase d'initialisation de MC

) attaque par couverture de fonction malveillante

MasterMCP a écrit un outil nommé remove_server, identique à la fonction Toolbox, et a codé 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 de toolbox d'origine, mais a plutôt déclenché la méthode homonyme fournie par MasterMCP.

Le principe est de souligner que "la méthode originale a été abandonnée", en incitant prioritairement le grand modèle à appeler des fonctions de couverture malveillantes.

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

) Ajouter une logique de vérification globale malveillante

MasterMCP a développé l'outil banana, dont la fonction principale est d'obliger tous les outils à être exécutés à travers cet outil pour un contrôle de sécurité avant de lancer les mots-clés.

Avant chaque exécution de la fonction, le système appelle en priorité le mécanisme de vérification banana. Cela est réalisé par une injection logique globale en insistant à plusieurs reprises dans le code sur "la détection banana doit être exécutée".

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

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

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

En raison de la forte capacité d'analyse des formats multilingues des grands modèles de langage, cela est plutôt utilisé pour cacher des informations malveillantes, les méthodes couramment utilisées incluent :

  • Environnement anglais : utiliser le codage Hex Byte
  • Environnement chinois : utiliser l'encodage NCR ou l'encodage JavaScript

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

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

Lorsqu'on demande /random, une page avec une charge utile malveillante est renvoyée aléatoirement à chaque fois, ce qui augmente considérablement la difficulté de détection et de traçage.

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

Résumé

Grâce à la démonstration pratique de MasterMCP, nous avons pu voir de manière directe les diverses vulnérabilités cachées dans le système MCP. Des injections de mots clés simples, des appels entre MCP, aux attaques plus discrètes lors de la phase d'initialisation et à la dissimulation de commandes malveillantes, chaque étape nous rappelle que : bien que l'écosystème MCP soit puissant, il reste tout de même fragile.

Aujourd'hui, où les grands modèles interagissent fréquemment avec des plugins externes et des API, une petite pollution des entrées peut entraîner des risques de sécurité au niveau du système. La diversification des méthodes d'attaque, telles que le codage caché (, la pollution aléatoire et le remplacement de fonctions ), signifie que les approches de protection traditionnelles doivent être entièrement mises à jour.

J'espère que cette démonstration pourra servir d'avertissement : les développeurs et les utilisateurs doivent rester vigilants vis-à-vis du système MCP, en prêtant attention à chaque interaction, chaque ligne de code et chaque valeur de retour. Ce n'est qu'en abordant chaque détail avec rigueur que nous pourrons construire un environnement MCP solide et sécurisé.

Nous continuerons à améliorer le script MasterMCP, à open-sourcer davantage de cas de test ciblés afin d'aider à comprendre, pratiquer et renforcer la protection dans un environnement sécurisé.

Le contenu pertinent a été synchronisé sur GitHub, les lecteurs intéressés peuvent y accéder directement pour consulter.

Pratique : empoisonnement et manipulation cachés 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
  • 4
  • Partager
Commentaire
0/400
NFTRegretDiaryvip
· 07-10 08:55
Encore des hackers éthiques qui viennent montrer leurs compétences.
Voir l'originalRépondre0
DogeBachelorvip
· 07-09 10:01
débutant vient pour manger un repas
Voir l'originalRépondre0
HashBardvip
· 07-09 09:55
un autre jour, une autre exploitation... mcp doit vraiment améliorer son jeu fr
Voir l'originalRépondre0
VibesOverChartsvip
· 07-09 09:55
Encore en train de parler du grand jeu d'attaque et de défense, je suis fatigué de ça.
Voir l'originalRépondre0
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)