Les vulnérabilités de sécurité et la démonstration d'attaque du système MCP
MCP (Modèle de protocole de contexte) le système est encore en phase de développement précoce, l'environnement global est assez chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse. Afin d'améliorer la sécurité de MCP, Slow Mist a open-sourcé l'outil MasterMCP, aidant à découvrir les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaque réels. Cet article démontrera les méthodes d'attaque courantes dans le cadre de MCP, telles que le empoisonnement de l'information, les instructions malveillantes cachées et d'autres cas réels.
Vue d'ensemble de l'architecture
Cible d'attaque MCP : Toolbox
Toolbox est l'outil de gestion MCP lancé officiellement par smithery.ai, le choix de l'utiliser comme cible de test repose principalement sur les points suivants :
Une base d'utilisateurs massive et représentative
Support pour l'installation automatique d'autres plugins, complétant ainsi certaines fonctionnalités du client.
Contient des configurations sensibles, facilitant la démonstration
Malveillant MC : MasterMC
MasterMCP est un outil de simulation de MCP malveillant conçu pour les tests de sécurité, basé sur une architecture modulaire, et comprend les modules clés suivants :
Simulation de service de site Web local : création d'un serveur HTTP simple avec le framework FastAPI, simulant un environnement de page Web courant.
Architecture MCP local pluginisée : utilise un mode de fonctionnement par plugins pour faciliter l'ajout rapide de nouvelles méthodes d'attaque.
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
Cross-MCP appel malveillant
attaque par empoisonnement de contenu web
Injection de commentaires
En injectant des mots-clés malveillants sous forme de commentaires HTML dans le code source de la page web, une opération malveillante a été déclenchée avec succès.
Poisoning par des commentaires codés
Même si le code source ne contient pas de mots d'indice en clair, l'attaque réussit toujours. Les mots d'indice malveillants sont traités par encodage, rendant leur détection directe difficile.
attaque par pollution d'interface tiers
Les démonstrations montrent que, que ce soit un MCP malveillant ou non malveillant, 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.
Technique de poisoning à l'étape d'initialisation de MC
attaque par couverture de fonction malveillante
MasterMCP a écrit une fonction remove_server portant le même nom que Toolbox, et a codé des mots d'invite malveillants de manière cachée. En soulignant que "la méthode originale est obsolète", il incite le grand modèle à appeler en priorité la fonction malveillante.
ajouter une logique de vérification globale malveillante
MasterMCP a écrit un outil banana, qui force tous les outils à exécuter cet outil pour une vérification de sécurité avant de les exécuter dans les invites. Cela est réalisé par une injection logique globale qui insiste sur "vous devez exécuter la détection banana".
Techniques avancées pour masquer les mots d'alerte malveillants
méthode de codage conviviale pour les grands modèles
Utiliser la puissante capacité d'analyse multilingue des grands modèles de langage pour dissimuler des informations malveillantes :
Environnement anglais : utiliser le codage Hex Byte
Environnement chinois : utiliser l'encodage NCR ou l'encodage JavaScript
Mécanisme de retour de charge utile malveillante aléatoire
Chaque demande renvoie aléatoirement une page avec une charge utile malveillante, augmentant la difficulté de détection et de traçabilité.
Résumé
La démonstration pratique de MasterMCP révèle divers risques de sécurité dans le système MCP. Des injections de mots-clés simples aux attaques plus discrètes durant la phase d'initialisation, chaque étape nous rappelle la vulnérabilité de l'écosystème MCP. Dans un contexte 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é à l'échelle du système.
La diversification des moyens des attaquants (cachage de code, pollution aléatoire, couverture de fonction) signifie que les approches de protection traditionnelles doivent être entièrement mises à jour. 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 l'on peut construire un environnement MCP solide et sécurisé.
Le contenu pertinent a été synchronisé sur GitHub, les lecteurs intéressés peuvent explorer davantage.
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.
MCP : Révélation des grands dangers de sécurité : analyse complète des attaques par empoisonnement et des attaques dissimulées.
Les vulnérabilités de sécurité et la démonstration d'attaque du système MCP
MCP (Modèle de protocole de contexte) le système est encore en phase de développement précoce, l'environnement global est assez chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse. Afin d'améliorer la sécurité de MCP, Slow Mist a open-sourcé l'outil MasterMCP, aidant à découvrir les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaque réels. Cet article démontrera les méthodes d'attaque courantes dans le cadre de MCP, telles que le empoisonnement de l'information, les instructions malveillantes cachées et d'autres cas réels.
Vue d'ensemble de l'architecture
Cible d'attaque MCP : Toolbox
Toolbox est l'outil de gestion MCP lancé officiellement par smithery.ai, le choix de l'utiliser comme cible de test repose principalement sur les points suivants :
Malveillant MC : MasterMC
MasterMCP est un outil de simulation de MCP malveillant conçu pour les tests de sécurité, basé sur une architecture modulaire, et comprend les modules clés suivants :
Simulation de service de site Web local : création d'un serveur HTTP simple avec le framework FastAPI, simulant un environnement de page Web courant.
Architecture MCP local pluginisée : utilise un mode de fonctionnement par plugins pour faciliter l'ajout rapide de nouvelles méthodes d'attaque.
Client de démonstration
modèle de grande taille utilisé pour la démonstration
Cross-MCP appel malveillant
attaque par empoisonnement de contenu web
En injectant des mots-clés malveillants sous forme de commentaires HTML dans le code source de la page web, une opération malveillante a été déclenchée avec succès.
Même si le code source ne contient pas de mots d'indice en clair, l'attaque réussit toujours. Les mots d'indice malveillants sont traités par encodage, rendant leur détection directe difficile.
attaque par pollution d'interface tiers
Les démonstrations montrent que, que ce soit un MCP malveillant ou non malveillant, 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.
Technique de poisoning à l'étape d'initialisation de MC
attaque par couverture de fonction malveillante
MasterMCP a écrit une fonction remove_server portant le même nom que Toolbox, et a codé des mots d'invite malveillants de manière cachée. En soulignant que "la méthode originale est obsolète", il incite le grand modèle à appeler en priorité la fonction malveillante.
ajouter une logique de vérification globale malveillante
MasterMCP a écrit un outil banana, qui force tous les outils à exécuter cet outil pour une vérification de sécurité avant de les exécuter dans les invites. Cela est réalisé par une injection logique globale qui insiste sur "vous devez exécuter la détection banana".
Techniques avancées pour masquer les mots d'alerte malveillants
méthode de codage conviviale pour les grands modèles
Utiliser la puissante capacité d'analyse multilingue des grands modèles de langage pour dissimuler des informations malveillantes :
Mécanisme de retour de charge utile malveillante aléatoire
Chaque demande renvoie aléatoirement une page avec une charge utile malveillante, augmentant la difficulté de détection et de traçabilité.
Résumé
La démonstration pratique de MasterMCP révèle divers risques de sécurité dans le système MCP. Des injections de mots-clés simples aux attaques plus discrètes durant la phase d'initialisation, chaque étape nous rappelle la vulnérabilité de l'écosystème MCP. Dans un contexte 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é à l'échelle du système.
La diversification des moyens des attaquants (cachage de code, pollution aléatoire, couverture de fonction) signifie que les approches de protection traditionnelles doivent être entièrement mises à jour. 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 l'on peut construire un environnement MCP solide et sécurisé.
Le contenu pertinent a été synchronisé sur GitHub, les lecteurs intéressés peuvent explorer davantage.