Le « S » de MCP signifie sécurité
(elenacross7.medium.com)- MCP est un protocole standard qui relie les LLM aux outils, mais il n’intègre pas la sécurité par défaut
- Il présente diverses vulnérabilités de sécurité, comme l’injection de commandes, l’empoisonnement d’outils et la falsification de définitions
- MCP ne dispose ni d’authentification, ni de chiffrement, ni de vérification d’intégrité, ce qui en fait une architecture difficile à considérer comme fiable
- À l’heure actuelle, le meilleur moyen de défense consiste à gagner en visibilité et en contrôle avec des outils comme ScanMCP
Qu’est-ce que MCP et pourquoi est-ce important
- MCP signifie Model Context Protocol et constitue un nouveau standard pour la manière dont des LLM comme Claude, GPT et Cursor s’intègrent aux outils et aux données
- Il fournit une méthode de connexion standardisée, au point d’être présenté comme un « USB-C pour les agents IA »
- Grâce à MCP, les agents IA peuvent assurer les fonctions suivantes
- se connecter aux outils via une API standardisée
- maintenir l’état de session
- exécuter des commandes (avec un risque d’exécution trop libre)
- partager du contexte entre workflows
- Mais la sécurité n’y est pas appliquée par défaut
- Il existe un risque d’ouvrir, à l’insu de l’utilisateur, des canaux latéraux permettant d’accéder au système
Principales vulnérabilités de sécurité observées dans MCP
-
Vulnérabilité d’injection de commandes (recherche Equixly)
- En 2025 encore, des cas d’exécution de code à distance (RCE) via injection de commandes se produisent
- D’après l’enquête d’Equixly, plus de 43 % des implémentations de serveurs MCP utilisent des appels shell non sûrs
- Un attaquant peut inclure des commandes shell dans les entrées d’un outil et exécuter du code à distance via un agent de confiance
-
Empoisonnement d’outils (Tool Poisoning, Invariant Labs)
- L’attaquant cache des instructions malveillantes dans la description de l’outil
- Elles restent invisibles pour l’utilisateur, mais l’IA les perçoit et les exécute telles quelles
- Un outil qui semble n’effectuer qu’un simple calcul peut en réalité lire des clés SSH ou des fichiers de configuration sensibles sur le système de l’utilisateur
-
Redéfinition silencieuse d’outil (Rug Pull)
- Un outil peut modifier sa propre définition après son installation
- Un outil légitime au jour 1 peut devenir au jour 7 un collecteur de clés API au profit d’un attaquant
- C’est une nouvelle forme de problème de sécurité de la supply chain, qui se produit à l’intérieur même du LLM
-
Masquage d’outils entre serveurs
- Lorsque plusieurs serveurs MCP sont connectés à un même agent, un serveur malveillant peut intercepter ou surcharger les appels destinés à un serveur de confiance
- Cela peut notamment entraîner les problèmes suivants
- envoi d’e-mails à un attaquant tout en prétendant les avoir envoyés à l’utilisateur
- injection de logique cachée dans un outil
- exfiltration de données encodées
Pourquoi MCP n’est pas encore sûr
- MCP privilégie les éléments suivants
- ✅ intégration facile
- ✅ interface unifiée
- Mais il lui manque les éléments suivants
- ❌ aucun standard d’authentification
- ❌ aucun chiffrement du contexte
- ❌ impossible de vérifier l’intégrité des outils
- L’utilisateur ne peut pas savoir sur quelle description exacte l’agent s’appuie réellement pour utiliser un outil
Mesures de sécurité possibles pour les développeurs et les opérateurs de plateforme
-
Développeurs
- validation des entrées indispensable
- figer les versions (pinning) des serveurs MCP et des outils
- supprimer les informations sensibles des descriptions d’outils
-
Opérateurs de plateforme
- afficher à l’utilisateur l’ensemble des métadonnées des outils
- utiliser des hash d’intégrité lors des mises à jour de serveurs
- appliquer de façon obligatoire la sécurité des sessions
-
Utilisateurs
- ne pas se connecter à des serveurs MCP non fiables
- surveiller les logs de session comme on le ferait en environnement de production
- suivre de près les mises à jour d’outils suspectes
L’idée proposée par ScanMCP.com
- ScanMCP est présenté comme un scanner et un tableau de bord capables de
- auditer les outils MCP connectés
- détecter des risques tels que RCE, l’empoisonnement d’outils et les fuites de session
- comparer et visualiser les informations vues par l’utilisateur par rapport à celles perçues par l’agent
- Cela peut être utile notamment pour
- les équipes sécurité des plateformes d’agents
- les startups d’infrastructure IA
- les développeurs indépendants qui veulent créer des outils fondés sur la confiance
Réflexion finale
MCP est un protocole puissant, mais il est adopté trop vite alors que sa maturité en matière de sécurité API reste insuffisante
Tant qu’une approche secure-by-default n’est pas mise en place, des outils comme ScanMCP.com restent le meilleur moyen d’obtenir de la visibilité et du contrôle
- Conclusion : le « S » de MCP ne signifie pas Security. Pourtant, ce devrait être le cas
1 commentaires
Commentaires Hacker News
Ce billet met en avant et cite les scénarios d’attaque décrits dans une note de sécurité publiée il y a quelques jours par Invariant Labs (empoisonnement d’outils, masquage d’outils, rug pull MCP). Je suis l’auteur de ce billet de blog
Ces attaques sont surtout un autre exemple de problème du mauvais côté du sas de décompression. Elles ne franchissent pas de frontière de privilèges et font simplement de manière étrange ce qu’elles pouvaient déjà faire
Le défi consiste à imaginer une meilleure conception qui :
Bon article, mais je me demande si tout cela n’a pas été généré par IA
Le O signifie observabilité. Cette semaine, j’étais plongé jusqu’au cou dans l’exploration et l’écriture de serveurs MCP
Exact. J’ai eu la même pensée, même si je ne suis pas allé en profondeur quand j’ai publié la note
Même si le logiciel utilisé n’est pas malveillant et qu’il est implémenté de manière sûre, comment vérifier qu’il est utilisé comme on le souhaite ?
Plus de 43 % des implémentations de serveurs MCP testées par Equixly comportaient des appels shell non sécurisés
Je me demande ce qu’est MCP. J’ai essayé de lire la documentation plusieurs fois, mais je n’ai jamais compris quel problème cela résout. Principalement, qu’est-ce qui est spécifique aux agents IA et ne s’applique pas aux agents déterministes qui existent depuis des décennies ?
Je supposais que l’objectif global de MCP était qu’Anthropic puisse espionner les prompts et les sorties afin de maximiser ses données d’entraînement. Je découvre seulement maintenant qu’il s’agit d’un middleware pour tous les modèles d’IA