MCP Sécurité : Exploration approfondie des menaces actuelles et des stratégies de défense
Le Protocole de Contexte de Modèle (MCP) est actuellement encore en phase de développement initial, l'environnement global étant plutôt chaotique, avec diverses méthodes d'attaque potentielles émergentes. Les protocoles et outils existants sont difficiles à concevoir pour défendre efficacement contre ces menaces. Afin d'aider la communauté à améliorer sa compréhension de la sécurité de MCP, un outil open source appelé MasterMCP a vu le jour. Cet outil 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 pratiques, afin de renforcer progressivement le projet MCP.
Cet article combinera la liste de contrôle de sécurité MCP et guidera les lecteurs à travers des démonstrations pratiques des méthodes d'attaque courantes dans le système MCP, telles que l'empoisonnement d'informations, les instructions malveillantes cachées et d'autres cas réels. Tous les scripts de démonstration sont open source, les lecteurs peuvent reproduire l'ensemble du processus dans un environnement sécurisé, et même développer leurs propres plugins de test d'attaque basés sur ces scripts.
Vue d'ensemble de l'architecture
Cible de démonstration de l'attaque MCP: Toolbox
L'outil de gestion MCP officiel sur un site de plugins MCP bien connu a été choisi comme cible de test, principalement en raison des considérations suivantes :
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.
utilisation démonstrative de MCP malveillant : MasterMCP
MasterMCP est un outil de simulation de MCP malveillant conçu spécifiquement pour les tests de sécurité, basé sur une architecture modulaire, comprenant les modules clés suivants :
Simulation de services de sites Web locaux : Créez rapidement un serveur HTTP simple à l'aide du framework FastAPI pour simuler des environnements de pages Web courants. Ces pages semblent normales, mais en réalité, elles cachent des charges utiles malveillantes soigneusement conçues dans le code source ou les réponses d'interface.
Architecture MCP local et plugin : Utilise une approche plugin pour l'extension, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Après exécution, MasterMCP exécutera le service FastAPI dans un sous-processus.
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'une grande entreprise d'IA
modèle de grande taille utilisé pour la démonstration
Choisissez la version Claude 3.7, car elle a déjà amélioré la détection des opérations sensibles et représente en même temps une capacité opérationnelle assez forte dans l'écosystème MCP actuel.
Appel malveillant Cross-MCP
Cette démonstration comprend deux contenus : l'empoisonnement et les appels malveillants inter-MCP.
attaque par empoisonnement de contenu web
Injection de commentaires
Accédez au site de test local via Cursor, simulant l'accès d'un client de grand modèle à un site malveillant. Le site de test semble inoffensif, mais il a en réalité inséré des mots d'invite malveillants dans les commentaires HTML. Après l'exécution de la commande, Cursor a non seulement lu le contenu de la page web, mais a également renvoyé des données de configuration sensibles locales au serveur de test.
Poisoning par commentaires de code
Encoder davantage les mots clés malveillants pour rendre l'empoisonnement plus discret. Même en accédant au code source de la page web, il est difficile de le détecter directement, mais l'attaque est toujours exécutée avec succès.
attaque de pollution par interface tierce
Cette démonstration vise à rappeler que, qu'il s'agisse de MCP malveillants ou non malveillants, lors de l'appel à des API tierces, le retour direct des données tierces dans le contexte peut avoir des conséquences graves. En intégrant des mots-clés malveillants dans les données JSON retournées, une exécution malveillante a été déclenchée avec succès.
Technique de poisoning lors de l'initialisation de MCP
attaque par couverture de fonction malveillante
MasterMCP a écrit une fonction remove_server du même nom que Toolbox, et a codé des mots d'avertissement malveillants cachés. Après l'exécution de la commande, le client n'a pas appelé la méthode d'origine, mais a plutôt déclenché la méthode du même nom fournie par MasterMCP. Cela a été réalisé en soulignant que "la méthode d'origine a été abandonnée" pour inciter prioritairement le grand modèle à appeler la fonction malveillante de remplacement.
Ajouter une logique de vérification globale malveillante
MasterMCP a développé un outil appelé 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 les mots clés. Cela est réalisé par une injection logique globale dans le code en insistant à plusieurs reprises sur "banana doit être exécuté pour le contrôle".
Techniques avancées pour masquer les mots d'alerte malveillants
méthode de codage conviviale pour les grands modèles
Utiliser la forte capacité d'analyse des formats multilingues des grands modèles de langage pour dissimuler des informations malveillantes :
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 un charge utile malveillant, ce qui augmente considérablement la difficulté de détection et de traçage.
Résumé
Grâce à la démonstration pratique de MasterMCP, nous avons pu voir de manière intuitive les divers risques de sécurité cachés dans le système MCP. Des injections simples de mots-clés, des appels entre MCP, aux attaques plus subtiles pendant 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 également fragile.
Aujourd'hui, alors que 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 diversité des méthodes des attaquants signifie également que les approches de protection traditionnelles doivent être entièrement mises à jour.
J'espère que cette présentation pourra servir de signal d'alarme à tous : que ce soit pour les développeurs ou les utilisateurs, nous devons 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 étant rigoureux sur les détails que nous pourrons construire un environnement MCP solide et sécurisé.
À l'avenir, nous continuerons à 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é.
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.
16 J'aime
Récompense
16
9
Partager
Commentaire
0/400
DefiPlaybook
· 07-08 06:37
76,2 % des incidents de sécurité proviennent d'un manque d'audit de code.
Voir l'originalRépondre0
SerumSurfer
· 07-07 13:17
Les développeurs tremblent ?
Voir l'originalRépondre0
StakeOrRegret
· 07-07 00:04
Pourquoi y a-t-il autant de failles ? C'est ingérable.
Voir l'originalRépondre0
RugPullAlarm
· 07-06 22:43
Un autre système plein de failles. En regardant le contrat, on sait que c'est un système de Ponzi.
Voir l'originalRépondre0
rugdoc.eth
· 07-05 08:21
Trop, trop, Rug Pull avertissement
Voir l'originalRépondre0
GasGuru
· 07-05 08:20
Les développeurs doivent faire attention, c'est trop dangereux.
Voir l'originalRépondre0
MEVHunter
· 07-05 08:17
mdr regardez le txpool brûler... une autre vulnérabilité de protocole exposée
Analyse approfondie des menaces de sécurité MC : de l'empoisonnement aux attaques inter-MC.
MCP Sécurité : Exploration approfondie des menaces actuelles et des stratégies de défense
Le Protocole de Contexte de Modèle (MCP) est actuellement encore en phase de développement initial, l'environnement global étant plutôt chaotique, avec diverses méthodes d'attaque potentielles émergentes. Les protocoles et outils existants sont difficiles à concevoir pour défendre efficacement contre ces menaces. Afin d'aider la communauté à améliorer sa compréhension de la sécurité de MCP, un outil open source appelé MasterMCP a vu le jour. Cet outil 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 pratiques, afin de renforcer progressivement le projet MCP.
Cet article combinera la liste de contrôle de sécurité MCP et guidera les lecteurs à travers des démonstrations pratiques des méthodes d'attaque courantes dans le système MCP, telles que l'empoisonnement d'informations, les instructions malveillantes cachées et d'autres cas réels. Tous les scripts de démonstration sont open source, les lecteurs peuvent reproduire l'ensemble du processus dans un environnement sécurisé, et même développer leurs propres plugins de test d'attaque basés sur ces scripts.
Vue d'ensemble de l'architecture
Cible de démonstration de l'attaque MCP: Toolbox
L'outil de gestion MCP officiel sur un site de plugins MCP bien connu a été choisi comme cible de test, principalement en raison des considérations suivantes :
utilisation démonstrative de MCP malveillant : MasterMCP
MasterMCP est un outil de simulation de MCP malveillant conçu spécifiquement pour les tests de sécurité, basé sur une architecture modulaire, comprenant les modules clés suivants :
Simulation de services de sites Web locaux : Créez rapidement un serveur HTTP simple à l'aide du framework FastAPI pour simuler des environnements de pages Web courants. Ces pages semblent normales, mais en réalité, elles cachent des charges utiles malveillantes soigneusement conçues dans le code source ou les réponses d'interface.
Architecture MCP local et plugin : Utilise une approche plugin pour l'extension, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Après exécution, MasterMCP exécutera le service FastAPI dans un sous-processus.
client de démonstration
modèle de grande taille utilisé pour la démonstration
Choisissez la version Claude 3.7, car elle a déjà amélioré la détection des opérations sensibles et représente en même temps une capacité opérationnelle assez forte dans l'écosystème MCP actuel.
Appel malveillant Cross-MCP
Cette démonstration comprend deux contenus : l'empoisonnement et les appels malveillants inter-MCP.
attaque par empoisonnement de contenu web
Accédez au site de test local via Cursor, simulant l'accès d'un client de grand modèle à un site malveillant. Le site de test semble inoffensif, mais il a en réalité inséré des mots d'invite malveillants dans les commentaires HTML. Après l'exécution de la commande, Cursor a non seulement lu le contenu de la page web, mais a également renvoyé des données de configuration sensibles locales au serveur de test.
Encoder davantage les mots clés malveillants pour rendre l'empoisonnement plus discret. Même en accédant au code source de la page web, il est difficile de le détecter directement, mais l'attaque est toujours exécutée avec succès.
attaque de pollution par interface tierce
Cette démonstration vise à rappeler que, qu'il s'agisse de MCP malveillants ou non malveillants, lors de l'appel à des API tierces, le retour direct des données tierces dans le contexte peut avoir des conséquences graves. En intégrant des mots-clés malveillants dans les données JSON retournées, une exécution malveillante a été déclenchée avec succès.
Technique de poisoning lors de l'initialisation de MCP
attaque par couverture de fonction malveillante
MasterMCP a écrit une fonction remove_server du même nom que Toolbox, et a codé des mots d'avertissement malveillants cachés. Après l'exécution de la commande, le client n'a pas appelé la méthode d'origine, mais a plutôt déclenché la méthode du même nom fournie par MasterMCP. Cela a été réalisé en soulignant que "la méthode d'origine a été abandonnée" pour inciter prioritairement le grand modèle à appeler la fonction malveillante de remplacement.
Ajouter une logique de vérification globale malveillante
MasterMCP a développé un outil appelé 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 les mots clés. Cela est réalisé par une injection logique globale dans le code en insistant à plusieurs reprises sur "banana doit être exécuté pour le contrôle".
Techniques avancées pour masquer les mots d'alerte malveillants
méthode de codage conviviale pour les grands modèles
Utiliser la forte capacité d'analyse des formats multilingues 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 un charge utile malveillant, ce qui augmente considérablement la difficulté de détection et de traçage.
Résumé
Grâce à la démonstration pratique de MasterMCP, nous avons pu voir de manière intuitive les divers risques de sécurité cachés dans le système MCP. Des injections simples de mots-clés, des appels entre MCP, aux attaques plus subtiles pendant 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 également fragile.
Aujourd'hui, alors que 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 diversité des méthodes des attaquants signifie également que les approches de protection traditionnelles doivent être entièrement mises à jour.
J'espère que cette présentation pourra servir de signal d'alarme à tous : que ce soit pour les développeurs ou les utilisateurs, nous devons 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 étant rigoureux sur les détails que nous pourrons construire un environnement MCP solide et sécurisé.
À l'avenir, nous continuerons à 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é.