Démonstration pratique des risques de sécurité de l'écosystème MCP et des attaques : de l'empoisonnement d'informations à la dissimulation de commandes malveillantes

robot
Création du résumé en cours

Vulnérabilités et démonstration d'attaques dans le système MCP

MCP (Model Context Protocol) le système est encore à un stade de développement précoce, l'environnement global est relativement chaotique, et diverses méthodes d'attaque potentielles émergent sans cesse, rendant difficile la défense efficace avec les protocoles et outils existants. Pour aider la communauté à mieux comprendre et améliorer la sécurité de MCP, une équipe de sécurité a open-sourcé l'outil MasterMCP, espérant qu'à travers des exercices d'attaque pratiques, les développeurs pourront découvrir rapidement les vulnérabilités de sécurité dans la conception du produit, renforçant ainsi progressivement le projet MCP.

Cet article démontrera, à travers des opérations pratiques, plusieurs types d'attaques courantes dans le système MCP, y compris la pollution d'informations, l'injection de commandes malveillantes, et d'autres cas réels. Tous les scripts utilisés pour les démonstrations seront également open source, permettant aux développeurs 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

démonstration de l'objectif d'attaque MCP:Toolbox

Toolbox est un outil de gestion MCP populaire, avec une base d'utilisateurs importante. Choisir Toolbox comme cible de test est principalement basé sur les points suivants :

  • Une large base d'utilisateurs, 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.

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

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

  1. Simulation de services de site web local :

    Créez rapidement un serveur HTTP simple avec le framework FastAPI pour simuler un environnement web courant. Ces pages semblent normales en surface, mais contiennent en réalité des charges malveillantes soigneusement conçues dans le code source de la page ou dans les réponses des API.

  2. Architecture MCP localisée et pluginisée

    Utilisation d'une approche modulaire pour l'extension, facilitant l'ajout rapide de nouvelles méthodes d'attaque par la suite. Une fois exécuté, MasterMCP lancera le service FastAPI du module précédent dans un sous-processus.

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

client de démonstration

  • Curseur : l'un des IDE de programmation assistée par IA les plus populaires dans le monde actuel
  • Claude Desktop: client officiel d'Anthropic

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

  • Claude 3.7

Invocation Malveillante Cross-MCP

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

attaque de contamination de contenu web

  1. Injection de commentaires

Cursor accède à un site de test local, c'est une page "Delicious Cake World" qui semble inoffensive. Après avoir exécuté la commande, Cursor n'a pas seulement 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, des mots-clés malveillants sont intégrés sous forme de commentaires HTML.

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

  1. Poisoning par des commentaires codés

Accéder à la page /encode, cette page semble identique à l'exemple précédent, mais les mots d'invitation malveillants ont été encodés, rendant 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.

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

MCP outil retour d'information empoisonnement

Selon les instructions de l'invite de MasterMCP, après avoir saisi la commande simulée, le client a appelé Toolbox via 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 encodée, ce qui rend presque impossible pour l'utilisateur de détecter une anomalie.

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

attaque par pollution d'interface tierce

Cette démonstration vise principalement à rappeler que, que ce soit des MCP malveillants ou non, lors de l'appel d'une API tierce, le fait de renvoyer directement les données tierces au contexte 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.

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

Technique de contamination de la phase d'initialisation de MCP

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

attaque par couverture de fonction malveillante

MasterMCP a écrit une fonction remove_server portant le même nom que Toolbox, en cachant des mots d'invite malveillants dans le code. Après l'exécution de la commande, Claude Desktop n'a pas appelé la méthode remove_server de toolbox comme prévu, mais a déclenché la méthode du même nom fournie par MasterMCP. Le principe consiste à souligner que "la méthode d'origine est obsolète", incitant prioritairement le grand modèle à appeler la fonction malveillante de substitution.

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

ajouter une logique de vérification globale malveillante

MasterMCP a développé un outil banana, dont la fonction principale est d'obliger tous les outils à effectuer cet outil pour un contrôle de sécurité avant leur exécution. Chaque fois qu'une fonction est exécutée, le système appelle en priorité le mécanisme de vérification banana. Cela est réalisé par une injection logique globale dans le code en insistant à plusieurs reprises sur "doit exécuter la vérification banana".

Prise de départ pratique : empoisonnement caché et manipulation dans le système MCP

Techniques avancées pour cacher 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 de grande taille 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 l'encodage NCR ou l'encodage JavaScript

Pratique : la toxicité cachée et le contrôle dans le système MCP

Mécanisme de retour de charge utile malveillante aléatoire

Lorsque la requête /random est effectuée, elle renvoie à chaque fois une page contenant une charge utile malveillante, ce qui augmente considérablement la difficulté de détection et de traçabilité.

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

Résumé

À travers la démonstration pratique de MasterMCP, nous avons vu de manière intuitive les diverses vulnérabilités cachées dans le système MCP. Des injections simples de mots-clés, des appels inter-MCP, jusqu'aux attaques plus subtiles durant 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.

Une petite pollution d'entrée peut déclencher des risques de sécurité au niveau du système entier. La diversité des méthodes des attaquants, telles que le codage caché (, la pollution aléatoire et le dépassement de fonction ), signifie également que les approches traditionnelles de protection doivent être complètement mises à jour.

La sécurité n'est jamais acquise du jour au lendemain. Les développeurs et les utilisateurs doivent rester suffisamment vigilants vis-à-vis du système MCP, en surveillant 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 établir un environnement MCP solide et sécurisé.

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

BANANA-5.98%
CROSS6.28%
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
  • 3
  • Partager
Commentaire
0/400
WinterWarmthCatvip
· Il y a 5h
C'est assez dangereux, fais attention.
Voir l'originalRépondre0
MelonFieldvip
· Il y a 6h
Derrière la vulnérabilité se cache un risque.
Voir l'originalRépondre0
MEVHunterNoLossvip
· Il y a 6h
est un point de risque potentiel
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)