Discussion sur les vulnérabilités de sécurité du système MCP et les défenses
MCP ( Modèle de Protocole de Contexte) Le système est actuellement à un stade de développement précoce, l'environnement global est plutôt chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse, rendant difficile la défense efficace avec les protocoles et outils existants. Pour améliorer la sécurité de MCP, Slow Mist a open-sourcé l'outil MasterMCP, visant à aider à identifier les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaques pratiques, afin de renforcer progressivement le projet MCP.
Cet article combinera la liste de contrôle de sécurité MCP pour guider les lecteurs dans des exercices pratiques, démontrant 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 dissimulées, avec des cas réels. Tous les scripts de démonstration seront également open source, permettant à chacun de les reproduire et de développer ses propres plugins de test d'attaque dans un environnement sécurisé.
Vue d'ensemble de l'architecture globale
Démonstration de la cible d’attaque MCP : Boîte à outils
Toolbox est l'outil de gestion MCP officiel lancé par un site de plugins MCP. Le choix de Toolbox 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 certaines fonctionnalités du client.
Contient des configurations sensibles, facilitant la démonstration.
démonstration d'utilisation 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 et comprenant les modules clés suivants :
Simulation de service de site Web local : création d'un serveur HTTP simple à l'aide du framework FastAPI pour simuler un environnement de page Web courant. Ces pages semblent normales en surface, mais en réalité, elles cachent des charges malveillantes soigneusement conçues dans le code source ou les réponses d'interface.
Architecture MCP modulable locale : utilise une approche modulaire pour l'expansion, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Après son exécution, MasterMCP démarrera 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 certaine entreprise
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 une capacité opérationnelle relativement forte dans l'écosystème MCP actuel.
Cross-MCP Appel malveillant
attaque par empoisonnement de contenu web
Poisoning par commentaires
En accédant au site de test local, nous avons simulé l'impact de l'accès d'un client de grand modèle à un site Web malveillant. Les résultats montrent que le client 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. Les mots-clés malveillants ont été intégrés sous forme de commentaires HTML, bien que cela soit assez explicite, cela a déjà pu déclencher des opérations malveillantes.
Injection de commentaires de type codé
Accéder à une page web malveillante codée, même si le code source ne contient pas de mots clés en clair, l'attaque est toujours exécutée avec succès. Cette méthode rend le empoisonnement plus furtif, difficile à détecter directement.
attaque de contamination par l'interface tierce
Les démonstrations montrent que, qu'il s'agisse de MCP malveillant ou non, renvoyer directement les données tierces dans le contexte lors de l'appel à une API tierce peut avoir des conséquences graves. Des mots-clés malveillants peuvent être intégrés dans les données JSON renvoyées et déclencher une exécution malveillante.
Technique de poisoning lors de la phase d'initialisation de MC
attaque par couverture de fonction malveillante
MasterMCP a écrit une fonction du même nom que Toolbox et a codé des mots d'alerte malveillants cachés. En soulignant que "la méthode originale est obsolète", il incite le grand modèle à appeler en priorité la fonction malveillante remplacée.
Ajouter une logique de vérification globale malveillante
MasterMCP a écrit un outil qui impose à tous les outils de passer une vérification de sécurité avant de s'exécuter. Cela est réalisé par une injection de logique globale en soulignant à plusieurs reprises dans le code que "la détection doit être exécutée".
Techniques avancées pour masquer les mots d'alerte malveillants
un format de codage convivial 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 anglais : utiliser le codage Hex Byte
Environnement chinois : utiliser le codage NCR ou le codage JavaScript
Mécanisme de retour de charge 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 discrètes durant la phase d'initialisation, chaque étape nous rappelle la vulnérabilité de l'écosystème MCP. Les interactions fréquentes entre les grands modèles et les plugins externes, ainsi que les API, rendent une petite contamination des entrées susceptible de provoquer des risques de sécurité au niveau du système.
La diversité des méthodes des attaquants (caché par encodage, 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 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, à open-sourcer davantage de cas de test ciblés pour aider à comprendre, simuler et renforcer la protection dans un environnement sécurisé.
 and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
14 J'aime
Récompense
14
5
Partager
Commentaire
0/400
SatoshiHeir
· 07-06 20:33
Il ne fait aucun doute, un vétéran qui a lu le Livre blanc plus de 200 fois passe, cet article contient de nombreuses erreurs.
Voir l'originalRépondre0
MetaverseVagabond
· 07-06 20:32
Ne copiez pas les produits, sinon vous irez en prison.
Voir l'originalRépondre0
failed_dev_successful_ape
· 07-06 20:20
Les détails peuvent tuer un projet
Voir l'originalRépondre0
SchroedingerAirdrop
· 07-06 20:15
Ce code imprévisible ne peut tout simplement pas être écrit.
Voir l'originalRépondre0
TokenEconomist
· 07-06 20:11
la clé de la vulnérabilité réside dans le désalignement des incitations du modèle de sécurité de MCP
Analyse complète des risques de sécurité MCP : des attaques par empoisonnement aux stratégies de défense
Discussion sur les vulnérabilités de sécurité du système MCP et les défenses
MCP ( Modèle de Protocole de Contexte) Le système est actuellement à un stade de développement précoce, l'environnement global est plutôt chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse, rendant difficile la défense efficace avec les protocoles et outils existants. Pour améliorer la sécurité de MCP, Slow Mist a open-sourcé l'outil MasterMCP, visant à aider à identifier les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaques pratiques, afin de renforcer progressivement le projet MCP.
Cet article combinera la liste de contrôle de sécurité MCP pour guider les lecteurs dans des exercices pratiques, démontrant 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 dissimulées, avec des cas réels. Tous les scripts de démonstration seront également open source, permettant à chacun de les reproduire et de développer ses propres plugins de test d'attaque dans un environnement sécurisé.
Vue d'ensemble de l'architecture globale
Démonstration de la cible d’attaque MCP : Boîte à outils
Toolbox est l'outil de gestion MCP officiel lancé par un site de plugins MCP. Le choix de Toolbox comme cible de test repose principalement sur les points suivants :
démonstration d'utilisation 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 et comprenant les modules clés suivants :
Simulation de service de site Web local : création d'un serveur HTTP simple à l'aide du framework FastAPI pour simuler un environnement de page Web courant. Ces pages semblent normales en surface, mais en réalité, elles cachent des charges malveillantes soigneusement conçues dans le code source ou les réponses d'interface.
Architecture MCP modulable locale : utilise une approche modulaire pour l'expansion, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Après son exécution, MasterMCP démarrera 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 une capacité opérationnelle relativement forte dans l'écosystème MCP actuel.
Cross-MCP Appel malveillant
attaque par empoisonnement de contenu web
En accédant au site de test local, nous avons simulé l'impact de l'accès d'un client de grand modèle à un site Web malveillant. Les résultats montrent que le client 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. Les mots-clés malveillants ont été intégrés sous forme de commentaires HTML, bien que cela soit assez explicite, cela a déjà pu déclencher des opérations malveillantes.
Accéder à une page web malveillante codée, même si le code source ne contient pas de mots clés en clair, l'attaque est toujours exécutée avec succès. Cette méthode rend le empoisonnement plus furtif, difficile à détecter directement.
attaque de contamination par l'interface tierce
Les démonstrations montrent que, qu'il s'agisse de MCP malveillant ou non, renvoyer directement les données tierces dans le contexte lors de l'appel à une API tierce peut avoir des conséquences graves. Des mots-clés malveillants peuvent être intégrés dans les données JSON renvoyées et déclencher une exécution malveillante.
Technique de poisoning lors de la phase d'initialisation de MC
attaque par couverture de fonction malveillante
MasterMCP a écrit une fonction du même nom que Toolbox et a codé des mots d'alerte malveillants cachés. En soulignant que "la méthode originale est obsolète", il incite le grand modèle à appeler en priorité la fonction malveillante remplacée.
Ajouter une logique de vérification globale malveillante
MasterMCP a écrit un outil qui impose à tous les outils de passer une vérification de sécurité avant de s'exécuter. Cela est réalisé par une injection de logique globale en soulignant à plusieurs reprises dans le code que "la détection doit être exécutée".
Techniques avancées pour masquer les mots d'alerte malveillants
un format de codage convivial 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 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 discrètes durant la phase d'initialisation, chaque étape nous rappelle la vulnérabilité de l'écosystème MCP. Les interactions fréquentes entre les grands modèles et les plugins externes, ainsi que les API, rendent une petite contamination des entrées susceptible de provoquer des risques de sécurité au niveau du système.
La diversité des méthodes des attaquants (caché par encodage, 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 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, à open-sourcer davantage de cas de test ciblés pour aider à comprendre, simuler et renforcer la protection dans un environnement sécurisé.
![Pratique : Détournement et manipulation cachés dans le système MCP](https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01