MasterMCP révèle les vulnérabilités de sécurité de MCP et démontre en pratique plusieurs méthodes d'attaque.

robot
Création du résumé en cours

Les vulnérabilités et démonstrations d'attaques du système MCP

MCP (Modèle de protocole contextuel) Le système est actuellement encore à un stade de développement précoce, l'environnement global est plutôt chaotique, et diverses méthodes d'attaque potentielles apparaissent sans cesse, rendant difficile la conception de protocoles et d'outils existants pour une défense efficace. Afin d'améliorer la sécurité de MCP, SlowMist a open-sourcé l'outil MasterMCP, qui aide à découvrir les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaque pratiques, renforçant ainsi le projet MCP.

Cet article démontrera les méthodes d'attaque courantes dans le cadre du système MCP, telles que l'empoisonnement d'informations, l'insertion de commandes malveillantes, ainsi que des cas réels. Tous les scripts de démonstration seront également open source sur GitHub, permettant à chacun de reproduire l'ensemble du processus dans un environnement sécurisé, voire de développer ses propres plugins de test d'attaque.

Aperçu de l'architecture globale

Attaque de démonstration cible MC:Toolbox

smithery.ai est l'un des sites de plugins MCP actuellement populaires, rassemblant une grande liste de MCP et des utilisateurs actifs. Parmi eux, @smithery/toolbox est l'outil de gestion MCP lancé par l'officiel.

Choisir Toolbox comme cible de test est principalement basé sur :

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

démonstration d'utilisation de MCP malveillant : MasterMCP

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

  1. Simulation de service de site web local :

Le module de simulation de service de site Web local intégré dans MasterMCP permet de créer rapidement un serveur HTTP simple via le framework FastAPI, simulant un environnement Web courant. Ces pages semblent normales, mais contiennent en réalité des charges utiles malveillantes soigneusement conçues dans le code source ou les réponses d'interface.

  1. Architecture MCP plugin localisée

MasterMCP utilise une approche modulaire pour s'étendre, ce qui facilite l'ajout rapide de nouvelles méthodes d'attaque. Une fois lancé, MasterMCP exécutera le service FastAPI du module précédent dans un sous-processus.

Pratique : Poison et manipulation cachés 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 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à des améliorations dans la détection des opérations sensibles, tout en représentant une capacité opérationnelle relativement forte dans l'écosystème MCP actuel.

Cross-MCP Invocation malveillante

Cette démonstration contient deux éléments : l'empoisonnement et les appels malveillants Cross-MCP.

attaque de pollution de contenu de page web

  1. Injection de commentaires

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

Exécuter l'instruction : Récupérez le contenu de

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

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

  1. Injection de commentaires codés

Accédez à la page /encode, c'est une page web qui semble identique, mais où les mots d'invite malveillants ont été codés, rendant l'exp de contamination plus discret, même l'accès au code source de la page web rend difficile la détection directe.

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

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

Attaque par pollution d'interface tierce

Cette démonstration rappelle principalement 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écuter la demande: Récupérer le json depuis /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.

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

Techniques de poisoning lors de l'étape d'initialisation de MCP

Cette démonstration contient deux éléments : l'injection de mots d'invite initiaux et les conflits de noms.

attaque par couverture de fonction malveillante

MasterMCP a écrit un outil avec le même nom de fonction remove_server que 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 "les méthodes précédentes ont été abandonnées", en incitant en priorité le grand modèle à appeler des fonctions malveillantes de remplacement.

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

Ajouter une logique de vérification globale malveillante

MasterMCP a écrit l'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 dans les invites.

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

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

Techniques avancées pour masquer les mots d'invite 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 souvent exploité pour cacher des informations malveillantes, les méthodes couramment utilisées incluent :

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

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

Mécanisme de retour de charge malveillante aléatoire

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

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

Résumé

Grâce à la démonstration pratique de MasterMCP, nous avons pu voir directement les diverses vulnérabilités cachées dans le système MCP. Des injections simples de mots-clés, des appels entre MCP, jusqu'aux attaques plus discrètes durant la phase d'initialisation et à la dissimulation d'instructions malveillantes, chaque étape nous rappelle que, bien que l'écosystème MCP soit puissant, il est également fragile.

Surtout, avec les grands modèles interagissant de plus en plus fréquemment avec des plugins externes et des API, une petite pollution d'entrée peut entraîner des risques de sécurité au niveau du système. La diversification des méthodes des attaquants, comme le codage caché (, la pollution aléatoire et le dépassement de fonction ), signifie que les approches de protection traditionnelles doivent être entièrement mises à jour.

J'espère que cette présentation pourra servir de sonnette d'alarme pour tout le monde : 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, chaque valeur de retour. Ce n'est qu'en étant rigoureux sur les détails que nous pourrons construire un environnement MCP solide et sécurisé.

SlowMist continuera à améliorer le script MasterMCP, à ouvrir davantage de cas de test ciblés pour aider à comprendre, simuler et renforcer la protection dans un environnement sécurisé. Le contenu pertinent a été synchronisé sur GitHub, les lecteurs intéressés peuvent consulter.

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

BANANA-4.94%
CROSS3.67%
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
  • 6
  • Partager
Commentaire
0/400
screenshot_gainsvip
· Il y a 6h
gm a encore une nouvelle vulnérabilité
Voir l'originalRépondre0
AirdropSweaterFanvip
· Il y a 6h
Attention à ne pas se faire prendre pour des cons !
Voir l'originalRépondre0
ContractCollectorvip
· Il y a 6h
MCP a été envoyé
Voir l'originalRépondre0
ForkItAllvip
· Il y a 6h
Tout est devenu noir, que dire de plus?
Voir l'originalRépondre0
MissedAirdropBrovip
· Il y a 6h
Les corbillards sont plus stables que ça.
Voir l'originalRépondre0
MEVSandwichVictimvip
· Il y a 6h
Encore pris pour des idiots ? Prendre les gens pour des idiots n'est rien comparé à prendre ces pigeons~
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)