MCP risques de sécurité pratiques : des attaques par injection aux techniques discrètes de contrôle global

Poisoning et manipulation cachés dans le système MCP : démonstration pratique

Actuellement, le MCP ( Model Context Protocol) est encore en phase de développement précoce, l'environnement global est assez chaotique, et diverses méthodes d'attaque potentielles émergent constamment, rendant les protocoles et outils existants difficiles à défendre efficacement. Afin d'aider la communauté à mieux comprendre et améliorer la sécurité du MCP, l'outil MasterMCP a récemment été open source, visant à aider à découvrir les vulnérabilités de sécurité dans la conception des produits grâce à des exercices d'attaque pratiques, et à renforcer progressivement le projet MCP.

Cet article guidera les lecteurs à travers des exercices pratiques, démontrant les méthodes d'attaque courantes dans le cadre du système MCP, telles que l'empoisonnement d'information, l'injection de commandes malveillantes cachées, etc. Tous les scripts de démonstration 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'attaque basés sur ces scripts.

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

Vue d'ensemble de l'architecture globale

Cible de l'attaque de démonstration MC : Toolbox

smithery.ai est l'un des sites de plugins MCP les plus populaires, rassemblant une grande quantité de listes MCP et d'utilisateurs actifs. Parmi eux, @smithery/toolbox est l'outil de gestion MCP officiellement lancé par le site.

Choisir Toolbox comme cible de test, principalement basé sur les points suivants :

  • Une base d'utilisateurs très large et représentative
  • Support 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.

démonstration de l'utilisation de MCP malveillant : MasterMCP

MasterMCP est un outil de simulation de MCP malveillant conçu spécifiquement pour les tests de sécurité, utilisant une architecture modulaire et comprenant les modules clés suivants :

  1. Service de simulation de site web local :

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

De cette manière, nous pouvons démontrer de manière complète les techniques d'attaque telles que le poisoning d'informations et le masquage d'instructions dans un environnement local sécurisé et contrôlé, aidant ainsi à mieux comprendre : même une page web apparemment ordinaire peut devenir une source de risque pouvant amener un grand modèle à exécuter des opérations anormales.

  1. Architecture MCP plugin localisée

MasterMCP adopte une approche modulaire pour s'étendre, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Une fois en cours d'exécution, MasterMCP exécutera le service FastAPI du module précédent dans un sous-processus. ( Si vous êtes attentif, vous remarquerez qu'il existe déjà une vulnérabilité de sécurité ici : les plugins locaux peuvent démarrer n'importe quel sous-processus non prévu par MCP ).

client de démonstration

  • Cursor : l'un des IDE de programmation assistée par IA les plus populaires au monde
  • Claude Desktop : Anthropic ( MC protocole personnalisé ) client officiel

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

  • Claude 3.7

Choisissez la version Claude 3.7, car elle a déjà fait des améliorations dans la reconnaissance des opérations sensibles, tout en représentant une capacité opérationnelle relativement forte dans l'écosystème MCP actuel.

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

Invocation malveillante Cross-MCP

attaque par empoisonnement de contenu web

  1. Injection de commentaires

Cursor accède au site web de test local.

Ceci est une page apparemment inoffensive sur "Delicious Cake World", qui simule les effets causés par l'accès à un site Web malveillant par un client de modèle de grande taille.

Exécuter l'instruction: Récupérer le contenu de

Les résultats montrent que le curseur 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'alerte malveillants sont intégrés sous forme de commentaire HTML.

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

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

  1. Poisonnement de commentaires de type codage

Accéder à la page /encode, c'est une page web qui semble identique à l'exemple ci-dessus, mais où les mots-clés malveillants ont été codés, rendant l'exp de l'empoisonnement plus furtif, 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 réussit toujours. Le principe spécifique sera expliqué en détail dans les chapitres suivants.

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

MCP outils retour d'information empoisonnement

Selon les instructions de l'invite de MasterMCP, entrez la commande simulée (. Cette commande n'a pas de signification réelle et vise à déclencher un MCP malveillant pour démontrer les opérations suivantes ) :

obtenir beaucoup de pommes

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

En examinant le code du plugin, on peut constater que les données retournées contiennent déjà une charge utile malveillante codée, et il est presque impossible pour l'utilisateur de détecter l'anomalie.

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

attaque de pollution d'interface tierce

Cette démonstration rappelle principalement que, qu'il s'agisse de MCP malveillant ou non, lors de l'appel d'une API tierce, le retour direct des données tierces dans le 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 aux données JSON renvoyées et ont réussi à déclencher une exécution malveillante.

Départ Pratique : Poison et Contrôle Cachés dans le Système MCP

Technique de détoxication de l'initialisation MCP

attaque de couverture de fonction malveillante

MasterMCP a écrit un outil nommé remove_server, utilisant les mêmes noms de fonctions que Toolbox, et a codé des mots d'invite malveillants en cache.

Exécuter l'instruction: boîte à outils supprimer chercher plugin serveur

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

Le principe est de souligner que "la méthode existante est obsolète" afin d'inciter en priorité le grand modèle à appeler des fonctions de couverture malveillante.

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

ajouter une logique de vérification globale malveillante

MasterMCP a écrit un outil banana, dont la fonction principale est de forcer tous les outils à exécuter cet outil pour une vérification de sécurité avant de fonctionner 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 "la détection de la banane doit être exécutée".

Prise de position : empoisonnement caché et manipulation dans le système MCP

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

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

En raison de la forte capacité d'analyse des modèles de langage à grande échelle pour les formats multilingues, cela est plutôt utilisé pour dissimuler des informations malveillantes. Les méthodes couramment utilisées comprennent :

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

Mécanisme de retour de charge malveillante aléatoire

Lorsqu'une demande /random est effectuée, une page contenant une charge utile malveillante est renvoyée de manière aléatoire à chaque fois, ce qui augmente considérablement la difficulté de détection et de traçabilité.

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

Résumé

À travers 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 Model Context Protocol (MCP). Des injections de mots-clés simples, des appels croisés entre MCP, jusqu'aux attaques plus subtiles lors de la phase d'initialisation et à la dissimulation d'instructions malveillantes, chaque étape nous rappelle que : malgré la puissance de l'écosystème MCP, 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 déclencher des risques de sécurité au niveau du système entier. De plus, la diversification des méthodes des attaquants, telles que le codage caché (, la pollution aléatoire et le dépassement de fonction ), signifie également que les stratégies de protection traditionnelles nécessitent une mise à niveau complète.

La sécurité n'est jamais acquise du jour au lendemain.

J'espère que cette démonstration pourra servir d'avertissement à tous : que ce soit pour les développeurs ou les utilisateurs, il est crucial de maintenir une vigilance suffisante envers le système MCP, en restant attentif à chaque interaction, chaque ligne de code, et chaque valeur de retour. Ce n'est qu'en prêtant attention à chaque détail avec rigueur que nous pourrons véritablement construire un environnement MCP solide et sécurisé.

La prochaine étape consiste à continuer à améliorer le script MasterMCP, à rendre publics davantage de cas de test ciblés, afin d'aider tout le monde à approfondir sa compréhension, à s'exercer et à renforcer la protection dans un environnement sécurisé.

![Départ pratique : empoisonnement caché et manipulation dans le système MCP](https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01

BANANA-0.3%
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.
  • Récompense
  • 5
  • Partager
Commentaire
0/400
ponzi_poetvip
· 08-05 16:02
La quantité de code n'est pas suffisante
Voir l'originalRépondre0
LayerZeroEnjoyervip
· 08-05 15:45
Les menaces à la sécurité sont très graves.
Voir l'originalRépondre0
OffchainWinnervip
· 08-05 15:42
Open Source n'a pas peur des critiques ?
Voir l'originalRépondre0
OneBlockAtATimevip
· 08-05 15:38
Cette vulnérabilité est vraiment dangereuse.
Voir l'originalRépondre0
Rekt_Recoveryvip
· 08-05 15:35
L'utilisation de l'attaque par empoisonnement doit être faite avec prudence.
Voir l'originalRépondre0
  • Épingler
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)