Démonstration des vulnérabilités et attaques de MCP
MCP (Modèle de contexte de protocole) Le système est actuellement encore en phase de développement précoce, l'environnement global est assez chaotique, et diverses méthodes d'attaque potentielles apparaissent sans cesse, rendant difficile la défense efficace avec les protocoles et outils existants. Afin d'améliorer la sensibilisation de la communauté à la sécurité de MCP, SlowMist a open-sourcé l'outil MasterMCP, visant à 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 la sécurité du projet MCP.
Cet article présentera des démonstrations pratiques des méthodes d'attaque courantes dans le cadre du système MCP, telles que l'empoisonnement d'informations et l'insertion de commandes malveillantes, avec des exemples réels. Tous les scripts de démonstration seront également open-source, permettant à chacun de reproduire l'ensemble du processus dans un environnement sécurisé, voire de développer ses propres plugins de test d'attaque basés sur ces scripts.
Aperçu de l'architecture globale
cible d'attaque de démonstration MC: Toolbox
Choisir Toolbox comme cible de test, principalement basé sur les points suivants :
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, facilitant la démonstration.
démonstration de l'utilisation du 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 :
Service de simulation de site Web local :
Créez rapidement un serveur HTTP simple avec le framework FastAPI, simulant un environnement de page Web courant. Ces pages semblent normales, mais contiennent en réalité des charges malveillantes soigneusement conçues dans le code source ou les réponses d'interface.
Architecture MCP plugin localisée
MasterMCP utilise une approche modulaire pour s'étendre, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Une fois lancé, MasterMCP exécutera le service FastAPI du module précédent 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'Anthropic
modèle de grande taille utilisé pour la démonstration
Claude 3.7
Cross-MCP Malicious Invocation
attaque de poisoning de contenu web
Injection de commentaires
Accéder au site de test local via Cursor pour simuler l'impact d'un client de grand modèle accédant à un site Web malveillant. Après l'exécution de la commande, 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, les mots d'invite malveillants sont intégrés sous forme de commentaires HTML.
Poisonnement de commentaires de type codage
Accéder à la page /encode, les mots d'invite malveillants ont été codés, rendant l'empoisonnement plus discret. Même si le code source ne contient pas de mots d'invite en clair, l'attaque est toujours exécutée avec succès.
Attaque par pollution d'interface tierce
Avertissement de démonstration, qu'il s'agisse de MCP malveillant ou non, lors de l'appel d'une API tierce, le fait de renvoyer directement les données tierces dans le contexte peut avoir des conséquences graves.
Technique de poisoning lors de la phase d'initialisation de MC
attaque de couverture de fonction malveillante
MasterMCP a écrit un outil avec la fonction remove_server du même nom que Toolbox, et a codé des mots d'invite malveillants cachés. Après avoir exécuté la commande, Claude Desktop a déclenché la méthode du même nom fournie par MasterMCP, et non la méthode toolbox remove_server d'origine.
ajouter une logique de vérification globale malveillante
MasterMCP a développé l'outil banana, qui force tous les outils à exécuter cet outil pour un contrôle de sécurité avant de fonctionner. Avant chaque exécution de fonction, le système appelle en priorité le mécanisme de contrôle de banana.
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 LLM pour dissimuler des informations malveillantes :
Environnement chinois : utiliser l'encodage NCR ou l'encodage JavaScript
Mécanisme de retour de charge malveillante aléatoire
À chaque demande /random, renvoyer aléatoirement une page avec une charge utile malveillante, augmentant ainsi la difficulté de détection et de traçabilité.
Résumé
La démonstration pratique de MasterMCP montre de manière intuitive les diverses vulnérabilités de sécurité dans le système MCP. Des injections simples de mots-clés, des appels croisés de MCP, jusqu'aux attaques plus discrètes au stade d'initialisation et à la dissimulation d'instructions malveillantes, chaque étape nous rappelle la vulnérabilité de l'écosystème MCP.
Une petite pollution des entrées peut entraîner des risques de sécurité au niveau du système, et la diversité des méthodes des attaquants signifie également 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, afin de construire un environnement MCP solide et sûr.
SlowMist continuera à améliorer le script MasterMCP, à open-sourcer davantage de cas de test ciblés, pour aider chacun à approfondir sa compréhension, à s'exercer 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 pour consulter.
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.
17 J'aime
Récompense
17
8
Partager
Commentaire
0/400
OffchainWinner
· 07-18 07:06
Ah, le novice chapeau blanc tremble à chaque fois.
Voir l'originalRépondre0
CafeMinor
· 07-18 05:32
Il n'y a même pas de pare-feu dans le tuyau d'évacuation ?
Voir l'originalRépondre0
GateUser-a5fa8bd0
· 07-18 00:25
Rire à mort, c'est encore le cercle des pros de la technologie.
Voir l'originalRépondre0
WalletManager
· 07-15 07:59
Des exercices d'attaque, combien de fois, l'audit de contrat peut-il encore révéler de véritables problèmes ?
Voir l'originalRépondre0
TokenomicsTherapist
· 07-15 07:58
Emma, ce problème de mcp est plus grave que je ne le pensais.
Voir l'originalRépondre0
ResearchChadButBroke
· 07-15 07:56
C'est vraiment incroyable de voir qu'à notre époque, il y a encore des failles cachées.
Voir l'originalRépondre0
CryptoCross-TalkClub
· 07-15 07:56
Un autre outil de prise de pigeons est enfin en ligne ?
Révélation des vulnérabilités de sécurité de MCP : démonstration d'attaque et stratégies de protection
Démonstration des vulnérabilités et attaques de MCP
MCP (Modèle de contexte de protocole) Le système est actuellement encore en phase de développement précoce, l'environnement global est assez chaotique, et diverses méthodes d'attaque potentielles apparaissent sans cesse, rendant difficile la défense efficace avec les protocoles et outils existants. Afin d'améliorer la sensibilisation de la communauté à la sécurité de MCP, SlowMist a open-sourcé l'outil MasterMCP, visant à 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 la sécurité du projet MCP.
Cet article présentera des démonstrations pratiques des méthodes d'attaque courantes dans le cadre du système MCP, telles que l'empoisonnement d'informations et l'insertion de commandes malveillantes, avec des exemples réels. Tous les scripts de démonstration seront également open-source, permettant à chacun de reproduire l'ensemble du processus dans un environnement sécurisé, voire de développer ses propres plugins de test d'attaque basés sur ces scripts.
Aperçu de l'architecture globale
cible d'attaque de démonstration MC: Toolbox
Choisir Toolbox comme cible de test, principalement basé sur les points suivants :
démonstration de l'utilisation du 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 :
Service de simulation de site Web local :
Créez rapidement un serveur HTTP simple avec le framework FastAPI, simulant un environnement de page Web courant. Ces pages semblent normales, mais contiennent en réalité des charges malveillantes soigneusement conçues dans le code source ou les réponses d'interface.
Architecture MCP plugin localisée
MasterMCP utilise une approche modulaire pour s'étendre, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Une fois lancé, MasterMCP exécutera le service FastAPI du module précédent dans un sous-processus.
Client de démonstration
modèle de grande taille utilisé pour la démonstration
Cross-MCP Malicious Invocation
attaque de poisoning de contenu web
Accéder au site de test local via Cursor pour simuler l'impact d'un client de grand modèle accédant à un site Web malveillant. Après l'exécution de la commande, 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, les mots d'invite malveillants sont intégrés sous forme de commentaires HTML.
Accéder à la page /encode, les mots d'invite malveillants ont été codés, rendant l'empoisonnement plus discret. Même si le code source ne contient pas de mots d'invite en clair, l'attaque est toujours exécutée avec succès.
Attaque par pollution d'interface tierce
Avertissement de démonstration, qu'il s'agisse de MCP malveillant ou non, lors de l'appel d'une API tierce, le fait de renvoyer directement les données tierces dans le contexte peut avoir des conséquences graves.
Technique de poisoning lors de la phase d'initialisation de MC
attaque de couverture de fonction malveillante
MasterMCP a écrit un outil avec la fonction remove_server du même nom que Toolbox, et a codé des mots d'invite malveillants cachés. Après avoir exécuté la commande, Claude Desktop a déclenché la méthode du même nom fournie par MasterMCP, et non la méthode toolbox remove_server d'origine.
ajouter une logique de vérification globale malveillante
MasterMCP a développé l'outil banana, qui force tous les outils à exécuter cet outil pour un contrôle de sécurité avant de fonctionner. Avant chaque exécution de fonction, le système appelle en priorité le mécanisme de contrôle de banana.
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 LLM pour dissimuler des informations malveillantes :
Mécanisme de retour de charge malveillante aléatoire
À chaque demande /random, renvoyer aléatoirement une page avec une charge utile malveillante, augmentant ainsi la difficulté de détection et de traçabilité.
Résumé
La démonstration pratique de MasterMCP montre de manière intuitive les diverses vulnérabilités de sécurité dans le système MCP. Des injections simples de mots-clés, des appels croisés de MCP, jusqu'aux attaques plus discrètes au stade d'initialisation et à la dissimulation d'instructions malveillantes, chaque étape nous rappelle la vulnérabilité de l'écosystème MCP.
Une petite pollution des entrées peut entraîner des risques de sécurité au niveau du système, et la diversité des méthodes des attaquants signifie également 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, afin de construire un environnement MCP solide et sûr.
SlowMist continuera à améliorer le script MasterMCP, à open-sourcer davantage de cas de test ciblés, pour aider chacun à approfondir sa compréhension, à s'exercer 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 pour consulter.