Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser

ArticleDonnées & IA

Les 10 principales vulnérabilités de MCP : les risques cachés des intégrations

Le protocole MCP (Model Context Protocol) est de plus en plus utilisé pour connecter des agents IA à des sources de données et à d'autres services. Mais les vulnérabilités qui font peser des risques particuliers sur les systèmes agentiques se multiplient également.

La rédaction

Concurrent de A2A et Nanda, le protocole MCP (Model Context Protocol) - développé l'origine par Anthropic -gagne en popularité dans les entreprises en tant que moyen permettant aux assistants IA de se connecter et de communiquer avec des sources de données, des outils et de services pour mieux affiner leurs actions, leurs recommandations et leurs décisions. Ce protocole normalise cette communication, posant ainsi des bases plus solides pour l'IA agentique. Fonctionnant de manière similaire aux API, les serveurs MCP se trouvent généralement devant un data store ou un service, ce qui permet aux agents d'extraire plus facilement les informations dont ils ont besoin, quand ils en ont besoin, sans frais d'intégration personnalisés. Les entreprises peuvent utiliser les serveurs MCP pour exposer leurs données à leurs processus IA ou à des utilisateurs externes, et elles peuvent également utiliser des serveurs MCP préconfigurés pour se connecter à des services populaires tels que PayPal, Zapier et Shopify. Toutefois, les entreprises qui envisagent d'utiliser des serveurs MCP dans le cadre de leurs stratégies IA doivent être conscientes des risques qu'ils peuvent comporter. Il existe de nombreux risques et vulnérabilités potentielles à surveiller. Voici les 10 problèmes les plus courants que les entreprises peuvent rencontrer lorsqu'elles utilisent le MCP.

1/ Exposition des données entre locataires

Semblable aux attaques de type « cross-site scripting », l'exposition des données entre locataires permet à un groupe d'utilisateurs d'accéder aux données appartenant à un autre groupe d'utilisateurs (équipes internes, partenaires commerciaux ou clients). Le fait que cette vulnérabilité ait déjà été exploitée, dans une implémentation de serveur MCP d'une entreprise experte en technologie, est un signe d'alerte pour toute entreprise qui met en place ses propres serveurs MCP. Selon les chercheurs d'UpGuard, qui ont découvert ce problème, la solution consiste à s'assurer que les serveurs MCP appliquent une isolation stricte des locataires et un accès avec le moins de privilèges possible.

2/ Vibrer au rythme des attaques IA

Un acteur malveillant se faisant passer pour un employé, un partenaire commercial ou un client envoie une demande à un assistant humain. Mais la demande contient une injection cachée comprenant des instructions que seule une IA peut lire. Lorsque l'employé transmet la demande à son assistant IA, celui-ci, grâce à sa connexion à un serveur MCP, a accès à un outil qui le relie à des données sensibles et à des processus métier. Cet accès peut alors être exploité à des fins malveillantes. Il ne s'agit pas d'une menace théorique, mais bien réelle, qui peut toucher même les entreprises les plus avancées technologiquement. Pour se prémunir contre ce type d'attaque, elles peuvent notamment appliquer le principe du moindre privilège aux actions de l'IA, demander aux analystes de signaler en temps réel tout contenu suspect et conserver des journaux d'audit des activités MCP.

3/ Altération des outils

La configuration initiale d'un serveur MCP peut s'avérer complexe. Heureusement, il existe de nombreux serveurs prêts à l'emploi. MCP servers répertorie actuellement plus de 15 000 serveurs dans son annuaire. Mais si vous effectuez une recherche sur Google et téléchargez le premier serveur MCP que vous trouvez, rien ne garantit que ce dernier fonctionnera comme prévu. En avril, Invariant Labs a démontré comment un serveur MCP malveillant pouvait extraire des informations d'autres systèmes, en contournant les mesures de chiffrement et de sécurité, en ajoutant des instructions malveillantes dans le champ de description du serveur MCP. Mais le champ de description n'est pas le seul à pouvoir contenir des instructions malveillantes : la surface d'attaque s'étend à toutes les informations générées par les serveurs MCP, notamment les noms de fonctions, les paramètres, les valeurs par défaut des paramètres, les champs obligatoires et les types. Les serveurs MCP génèrent également d'autres messages, tels que les messages d'erreur ou les invites de suivi. Ceux-ci peuvent également contenir des instructions malveillantes à suivre par les agents IA. Comment savoir si le téléchargement de votre serveur MCP est malveillant ? Tout d'abord, vérifiez la source. Provient-il d’un fournisseur de confiance ? Ensuite, examinez les autorisations qu'il demande. Si son but est de fournir des images amusantes de chats, il n'a pas besoin d'accéder à votre système de fichiers...

Enfin, si vous le pouvez, vérifiez son code source. Cela peut s'avérer difficile, mais certains fournisseurs tentent déjà de s'attaquer à ce problème. BackSlash Security, par exemple, a déjà passé au crible sept mille serveurs MCP accessibles au public, les a analysés pour détecter les risques de sécurité et a trouvé des cas de comportements suspects, voire franchement malveillants. Et il ne suffit pas de vérifier un serveur MCP une seule fois, lors de son installation. Il existe un vecteur d'attaque bien connu dans la chaîne d'approvisionnement logicielle, où les paquets sont téléchargés, utilisés, deviennent fiables, puis mis à jour par des acteurs malveillants avec du code malveillant. Selon Invariant Labs, qui qualifie cette attaque de « rug pull », cela peut également se produire avec les serveurs MCP. Un serveur MCP est mis à jour avec des fonctionnalités malveillantes, puis, après avoir commis ses actes malveillants, il est à nouveau mis à jour et personne ne s'en aperçoit. « De telles violations pourraient passer inaperçues pour la victime, seul l'attaquant étant conscient de la compromission », a déclaré Nil Ashkenazi, chercheur chez CyberArk.

4/ Un agent toxique circulant via des plateformes de confiance

Un agent IA peut être manipulé pour divulguer des données ou exécuter du code malveillant via un système de confiance du serveur MCP en ajoutant une injection de commande à une plateforme publique. Des chercheurs ont démontré comment cela peut fonctionner avec un serveur MCP Github. Dans cette attaque, l'acteur malveillant crée un problème sur le référentiel public, contenant une injection de commande. Une entreprise peut disposer d'un référentiel public pour collecter les rapports de bogues, et son agent IA peut alors exécuter une instruction de routine, telle que la vérification des problèmes ouverts sur le référentiel public à l'aide du serveur MCP de GitHub. L'agent IA lit ensuite l'injection d'invite, par exemple une instruction lui demandant de collecter des données privées dans un autre référentiel GitHub privé auquel il a également accès via ce même serveur MCP GitHub. Ce dernier n'est pas directement compromis, mais il sert de canal pour mener les attaques. Les chercheurs d'Invariant ont utilisé Claude Desktop d'Anthropic pour démontrer ce vecteur d'attaque, qui, par défaut, oblige les utilisateurs à confirmer chaque appel d'outil. « Cependant, de nombreux utilisateurs optent déjà pour une politique de confirmation « toujours autoriser » lorsqu'ils utilisent des agents », ont écrit les chercheurs.

5/ Vol de jetons et prise de contrôle de comptes

Selon un rapport de Pillar Security, si un attaquant parvient à obtenir le jeton OAuth stocké par un serveur MCP, il peut créer sa propre instance de serveur MCP à l'aide de ce jeton volé. Les jetons OAuth peuvent être volés s'ils sont stockés sans chiffrement dans les fichiers de configuration ou de code du serveur MCP et si l'attaquant y accède via une porte dérobée, une ingénierie sociale ou d'autres méthodes. Dans Gmail, par exemple, le pirate serait alors en mesure d'accéder à l'historique complet du compte Gmail de la victime, d'envoyer des emails qui semblent provenir de la victime, de supprimer des courriels, de rechercher des informations sensibles et de configurer des règles de transfert pour surveiller les communications futures. « Contrairement aux compromissions de compte traditionnelles qui peuvent déclencher des notifications de connexion suspectes, l'utilisation d'un jeton volé via MCP peut apparaître comme un accès API légitime, ce qui rend la détection plus difficile », ont écrit les chercheurs.

6/ Chaînage de composants

Un serveur MCP non contrôlé peut cacher des surprises. Si vous téléchargez et utilisez un serveur MCP tiers sans vérifier la provenance de ses données, il pourrait envoyer des requêtes à un deuxième serveur MCP distant. CyberArk appelle ce vecteur d'attaque du serveur MCP « chaînage de composants ». Ce deuxième serveur MCP pourrait renvoyer une sortie valide ainsi que des instructions malveillantes cachées ; le premier serveur fusionnerait celles-ci avec ses propres réponses et enverrait le tout à l'agent IA, qui exécuterait alors les instructions malveillantes. Si vous stockez des données sensibles dans des variables d'environnement, elles pourraient être exfiltrées par les attaquants à l'aide de cette méthode, sans que vous ne vous connectiez jamais directement au serveur MCP malveillant.

7/ Fatigue du consentement des utilisateurs

Une mesure de sécurité fréquemment mise en œuvre par les entreprises consiste à exiger l'approbation humaine des actions entreprises par les agents IA. Mais cela peut être une arme à double tranchant. Selon Palo Alto Networks, un serveur MCP malveillant pourrait inonder un agent IA et son utilisateur humain de multiples requêtes inoffensives, telles que des autorisations de lecture multiples. Au bout d'un certain temps, les utilisateurs finissent par les approuver sans les lire en détail. À ce stade, le serveur MCP glisse une requête malveillante. « Le principe de cette attaque est similaire à celui des attaques par fatigue de l'authentification multifactorielle, où les utilisateurs, submergés par des demandes d'authentification continues, peuvent accorder par inadvertance l'accès à des entités non autorisées », expliquent les chercheurs. Une variante de l'attaque par fatigue du consentement de l'utilisateur est l'attaque par échantillonnage, qui, dans le contexte du LLM, signifie simplement générer du texte. Selon CyberArk, l'échantillonnage est une fonctionnalité avancée du MCP qui permet au serveur MCP d'envoyer un message demandant une réponse à un LLM. Un humain est censé examiner le message avant qu'il ne soit transmis au LLM, mais les instructions malveillantes peuvent être enfouies profondément dans le message, où elles sont faciles à manquer. Par exemple, le serveur MCP malveillant pourrait demander au LLM de récupérer toutes les variables d'environnement possibles et de les envoyer. Même si un humain vérifie le message d'échantillonnage avant qu'il ne soit transmis au LLM, les instructions malveillantes pourraient être enfouies profondément dans un long texte inoffensif. Lors du retour, si la réponse du LLM est également longue et compliquée, la personne pourrait ne pas remarquer les informations sensibles cachées à l'intérieur.

8/ Contournement de l'administrateur

Dans ce vecteur d'attaque, un serveur MCP est configuré de manière à ne pas nécessiter de vérification d'identité, comme dans le cas d'une entreprise qui met en place un serveur MCP pour son annuaire afin que les agents IA puissent facilement rechercher des informations pour le compte des utilisateurs. Si l'utilisateur n'est autorisé qu'à un accès de bas niveau à ces informations, mais que le serveur MCP ne vérifie pas l'identité de la personne qui effectue la demande initiale, l'agent IA peut alors obtenir plus d'informations que ce que l'individu est autorisé à connaître. La demande peut provenir d'un employé mécontent, d'un salarié curieux cherchant à voir ce qu'il peut découvrir à l'aide de son agent IA, ou d'un attaquant externe qui a trouvé un autre moyen d'accéder à l'environnement de l'employé. Et si ce serveur MCP est également exposé à des utilisateurs externes, tels que des partenaires commerciaux, des clients ou même le public, cette élévation de privilèges pourrait entraîner des dommages considérables.

9/ Injection de commandes

Si un serveur MCP transmet directement les entrées utilisateur à d'autres systèmes sans validation appropriée, les utilisateurs peuvent injecter leurs propres commandes de la même manière que pour des injections SQL. Les attaquants pourraient tester les vulnérabilités d'injection de commandes sur tous les outils exposés par un serveur MCP. Comme pour les autres types d'attaques par injection, les serveurs MCP ne doivent jamais transmettre directement les entrées utilisateur à des commandes shell, mais utiliser une validation des entrées appropriée et des commandes paramétrées.

10/ Suivi d'outils

Si un agent IA a accès à plusieurs serveurs MCP, l'un de ces serveurs peut le tromper et l'amener à utiliser un autre serveur de manière inappropriée. Par exemple, un serveur fournit des informations générales sur les symptômes médicaux et un autre a accès au système de facturation des patients. « L'attaque par clonage peut amener l'agent à rediriger toutes les informations de facturation des patients vers l'adresse e-mail de l'attaquant », explique Christian Posta, directeur technique mondial chez Solo.io, une entreprise spécialisée dans la sécurité, dans leur étude. Le serveur MCP du système de facturation est sûr, sécurisé et fonctionne comme prévu. Le serveur MCP malveillant ne semble pas faire quoi que ce soit de mal, et son comportement suspect peut ne laisser aucune trace évidente dans les journaux d'audit. Mais l'agent IA commence soudainement à envoyer par e-mail les informations de facturation des patients ou à les transmettre via d'autres opérations apparemment légitimes.

Newsletter

La Quotidienne LMI

Recevez chaque matin l’actualité IT de la rédaction.

Les 10 principales vulnérabilités de MCP : les risques cachés des intégrations