Démonstration complète des risques de sécurité MCP : de l'empoisonnement aux attaques cachées.

Poisonnement et manipulation cachés dans le système MCP : démonstration en direct

MCP (Modèle de Contexte du Protocole) Le système est actuellement encore dans une phase de développement précoce, l'environnement global est assez chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse, rendant difficile la défense efficace des protocoles et outils existants. Pour aider la communauté à mieux comprendre et améliorer la sécurité de MCP, un outil open source nommé 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 guidera les lecteurs à travers des exercices pratiques, démontrant des méthodes d'attaque courantes dans le cadre du système MCP, telles que la pollution d'informations, l'injection de commandes malveillantes discrètes et d'autres cas concrets. Tous les scripts utilisés dans les démonstrations seront également open source, permettant aux lecteurs de reproduire l'ensemble du processus dans un environnement sécurisé, et même de développer leurs propres plugins de test d'attaques basés sur ces scripts.

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

Aperçu de l'architecture globale

démonstration de l'attaque cible MC : Toolbox

Un certain site de plugins est l'un des sites de plugins MCP les plus populaires actuellement, rassemblant un grand nombre de listes MCP et d'utilisateurs actifs. L'outil de gestion MCP Toolbox, lancé par l'officiel, a été choisi comme cible de test, principalement basé sur les points suivants :

  • Une base d'utilisateurs énorme et représentative
  • Prend en charge 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 de l'utilisation de MCP malveillant : MasterMCP

MasterMCP est un outil de simulation de MCP malveillant conçu pour les tests de sécurité, avec une architecture modulaire qui comprend les modules clés suivants :

  1. Simulation de service de site Web local :

Pour reproduire de manière plus réaliste le scénario d'attaque, MasterMC intègre un module de simulation de service web local. Il construit rapidement un serveur HTTP simple via le framework FastAPI, simulant un environnement web courant. Ces pages semblent normales en surface, mais en réalité, elles cachent des charges malveillantes soigneusement conçues dans le code source de la page ou dans les réponses des interfaces.

De cette manière, nous pouvons démontrer de manière complète des techniques d'attaque telles que l'empoisonnement d'informations et la dissimulation de commandes dans un environnement local sécurisé et contrôlé, aidant ainsi le lecteur à comprendre de manière plus intuitive : même une page web apparemment ordinaire peut devenir une source de risque incitant un grand modèle à exécuter des opérations anormales.

  1. Architecture MCP localisée et plugin

MasterMCP utilise une approche modulaire pour s'étendre, facilitant l'ajout rapide de nouvelles méthodes d'attaque. Après son lancement, MasterMCP exécutera le service FastAPI du module précédent dans un sous-processus. ( Les lecteurs attentifs remarqueront qu'il existe déjà un risque de sécurité ici - des plugins locaux peuvent démarrer n'importe quel sous-processus non prévu par MCP ).

Départ pratique : empoisonnement 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 actuellement.
  • Claude Desktop : client officiel d'une grande entreprise de modèles

modèle de grande taille utilisé pour la démonstration

  • Claude 3.7

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

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

attaque par empoisonnement de contenu web

  1. Poisoning par commentaire

Le curseur accède à un site de test local. C'est une page apparemment inoffensive sur "Delicious Cake World", que nous utilisons dans cette expérience pour simuler l'impact de l'accès d'un client de modèle large à un site malveillant.

Exécuter l'instruction:

Récupérer le contenu de

Les résultats montrent que le Curseur non seulement lit le contenu de la page web, mais renvoie également 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.

Bien que la méthode de commentaire soit relativement directe et facilement identifiable, elle peut déjà déclencher des opérations malveillantes.

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

  1. Injection de commentaires codés

Accédez à la page /encode, c'est une page web qui ressemble à l'exemple ci-dessus, mais les mots d'incitation malveillants ont été codés, ce qui rend l'empoisonnement de l'exp plus discret, même en accédant au code source de la page, il est difficile de le détecter directement.

Même si le code source ne contient pas de mots-clés en clair, l'attaque s'exécute toujours avec succès, le principe sera expliqué en détail dans les chapitres suivants.

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

MCP outils retour d'information empoisonnement

Ici, nous entrons la commande simulée ( selon les instructions du mot-clé MasterMCP. Cette commande n'a aucune signification réelle, mais vise à déclencher un MCP malveillant pour démontrer les opérations ultérieures du MCP malveillant ) :

obtenir beaucoup de pommes

On peut voir qu'après avoir déclenché la commande, le client a appelé Toolbox à travers MC et a réussi à ajouter un nouveau serveur MC.

En examinant le code du plugin, on peut constater que les données de retour contiennent déjà des charges utiles malveillantes encodées, rendant presque impossible pour l'utilisateur de détecter une anomalie.

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

attaque de pollution d'interface tierce

Cette démonstration vise principalement à rappeler à tous que, qu'il s'agisse de MCP malveillant ou non malveillant, lors de l'appel d'une API tierce, renvoyer directement les données tierces au contexte peut avoir des conséquences graves.

Exécuter la demande:

Récupérer le json depuis /api/data

Résultat : des mots d'invite malveillants ont été intégrés dans les données JSON renvoyées et ont réussi à déclencher une exécution malveillante.

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

Techniques de poisoning de phase d'initialisation de MCP

Cette démonstration comprend deux éléments : l'injection de mots-clés initiaux et les conflits de noms.

attaque de couverture de fonction malveillante

Ici, MasterMCP a écrit un outil avec le même nom de fonction remove_server que Toolbox, et a encodé des mots d'invite malveillants.

Exécuter la commande:

boîte à outils supprimer récupérer plugin serveur

Claude Desktop n'a pas appelé la méthode remove_server d'origine de toolbox, mais a déclenché la méthode homonyme fournie par MasterMCP.

Le principe est de mettre l'accent sur "les méthodes précédentes ont été abandonnées" afin d'inciter prioritairement le grand modèle à appeler des fonctions de couverture malveillantes.

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

ajouter une logique de vérification globale malveillante

Ici, MasterMCP a écrit un outil nommé banana, dont la fonction principale est de forcer l'exécution de cet outil pour un contrôle de sécurité avant que tous les autres outils ne soient lancés dans les invites.

Avant chaque exécution de la fonction, le système appelle en priorité le mécanisme de vérification banana.

C'est une injection logique globale réalisée en insistant à plusieurs reprises dans le code sur "il est obligatoire d'exécuter le test de banana".

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

Techniques avancées pour masquer les mots d'avertissement malveillants

méthode de codage conviviale pour les grands modèles

En raison de la capacité d'analyse extrêmement forte du modèle de langage (LLM) pour les formats multilingues, cela est plutôt utilisé pour dissimuler des informations malveillantes, les méthodes couramment utilisées incluent :

  • Environnement anglais : utiliser l'encodage Hex Byte
  • En environnement chinois : utiliser le codage NCR ou le codage JavaScript

Prise de départ : la manipulation et le poison caché dans le système MCP

Mécanisme de retour de charge malveillante aléatoire

Comme mentionné dans le chapitre deux, la pollution des interfaces tierces, lors de la demande de /random, renvoie à chaque fois de manière aléatoire une page avec une charge utile malveillante, ce qui augmente considérablement la difficulté de détection et de traçabilité.

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

Résumé

Grâce à cette démonstration pratique de MasterMCP, nous avons pu voir de manière intuitive les diverses vulnérabilités cachées dans le système du Model Context Protocol (MCP). Des injections de mots-clés simples, des appels inter-MCP, jusqu'aux attaques plus subtiles lors de 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 tout aussi fragile.

Surtout aujourd'hui, où les grands modèles interagissent 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é à l'échelle du système. La diversification des méthodes des attaquants, telles que le codage caché (, la pollution aléatoire et le remplacement de fonctions ), signifie également que les approches de protection traditionnelles doivent être complètement mises à jour.

La sécurité n'est jamais acquise d'un seul coup.

J'espère que cette démonstration servira d'avertissement à tous : que ce soit pour les développeurs ou les utilisateurs, il est essentiel de rester suffisamment vigilant 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 traitant chaque détail avec rigueur que l'on peut réellement construire un environnement MCP solide et sécurisé.

Ensuite, nous continuerons également à améliorer le script MasterMCP, à publier davantage de cas de test ciblés afin d'aider tout le monde à comprendre, pratiquer et renforcer la protection dans un environnement sécurisé.

Pratique : empoisonnement et manipulation discrets dans le système MCP

Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Récompense
  • 5
  • Partager
Commentaire
0/400
HalfIsEmptyvip
· Il y a 3h
C'est trop sauvage, c'est pour apprendre aux gens à faire un Rug Pull, n'est-ce pas ?
Voir l'originalRépondre0
SchrodingerWalletvip
· 07-06 08:35
Accélérer l'effondrement du Mainnet
Voir l'originalRépondre0
ApeDegenvip
· 07-06 08:26
Il est recommandé que ce projet chute à zéro.
Voir l'originalRépondre0
MEVEyevip
· 07-06 08:12
mcp est vraiment devenu un terrain d'entraînement, c'est absurde.
Voir l'originalRépondre0
Ramen_Until_Richvip
· 07-06 08:12
Il y a tant de vulnérabilités, il vaudrait mieux vérifier le code.
Voir l'originalRépondre0
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)