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

ArticleCybersécurité & Conformité

Des serveurs MCP mal configurés compromettent des systèmes d'agents IA

Des centaines de serveurs Model Context Protocol comportent de mauvaises configurations par défaut. Cela pourrait notamment exposer les utilisateurs à l'exécution non autorisée de commandes et déboucher sur des compromissions.

La rédaction

L'IA agentique est en plein essor et les serveurs MCP (Model Context Protocol) se révèlent comme des outils essentiels pour fournir aux modèles d'IA un meilleur contexte de raisonnement. Mais les chercheurs en sécurité avertissent qu'un grand nombre de ces serveurs partagés publiquement, qui relient les grands modèles de langage et agents à une variété de services, de sources de données et d'outils tiers, ont des configurations non sécurisées qui pourraient être utilisées par des attaquants pour compromettre des systèmes ou faire fuiter des données sensibles. Cela a par exemple été le cas récemment avec MCP Inspector. Des chercheurs en sécurité de Backslash ont récemment analysé des milliers de serveurs MCP dans des dépôts publics et en ont trouvé des centaines qui présentaient de dangereuses erreurs de configuration, notamment une exposition par défaut à des réseaux non fiables et des chemins d'injection de commandes dans le système d'exploitation. "Au-delà de l'exécution de code, les serveurs MCP peuvent servir de chemins d'accès furtifs pour de l'injection de prompt et de l'empoisonnement de contexte", ont écrit les chercheurs de Backslash dans un rapport sur les vulnérabilités des serveurs MCP. "Un contenu public malveillant ou manipulé peut modifier ce que voit un MCP - en renvoyant des données trompeuses ou en détournant la logique de l'agent.

Développé par Anthropic, MCP vise à normaliser la manière dont les LLM interagissent avec des sources de données et des outils externes de manière bidirectionnelle et persistante en mémoire afin d'améliorer leur contexte de raisonnement. Cela est essentiel pour la construction d'agents d'IA et pour le vibe coding, une pratique de développement dans laquelle les LLM sont guidés pour construire des applications entières basées sur des prompts en langage naturel effectués par des humains. Lancé il y a moins d'un an, ce protocole a été rapidement adopté et des dizaines de milliers de serveurs sont désormais exposés en ligne. Anthropic a publié des implémentations de référence de serveurs MCP pour interagir avec Google Drive, Slack, GitHub, Git, Postgres, Puppeteer, Stripe et d'autres services populaires. En mars, OpenAI a adopté MCP, et Google a annoncé en avril son intention de l'intégrer à ses modèles et à son infrastructure Gemini. Il existe également des serveurs MCP qui s'intègrent à des environnements de développement intégré (IDE) populaires, tels que Cursor, Windsurf et Zed. Outre l'accès à des outils externes, ceux-ci peuvent interagir avec des systèmes de fichiers locaux, construire des graphes de connaissances, récupérer du contenu web à l'aide d'outils de ligne de commande locaux et exécuter des commandes système, entre autres tâches.

Un risque de compromission baptisé NeighborJack

De nombreux serveurs MCP ne disposent pas d'une authentification forte par défaut. Déployés localement sur un système, toute personne ayant accès à leur interface de communication peut donc potentiellement émettre des commandes via le protocole pour accéder à leurs fonctionnalités. Cela ne pose pas nécessairement de problème lorsque ce serveur n'écoute que l'adresse locale 127.0.0.1 (localhost) garantissant qu'il n'est accessible qu'aux applications fonctionnant sur la même machine. Mais les chercheurs de Backslash ont trouvé des centaines de serveurs MCP configurés par défaut pour lier leur interface de communication à 0.0.0.0, c'est-à-dire à... toutes les interfaces réseau. Par conséquent, ces derniers sont également exposés à Internet si aucun pare-feu supplémentaire n'est en place. Ce problème de configuration a été baptisé NeighborJack. "Imaginez que vous codiez dans un espace de travail partagé ou dans un café", suggèrent les chercheurs. "Votre serveur MCP fonctionne discrètement sur votre machine. La personne assise près de vous, en train de siroter son café, peut maintenant accéder à votre serveur MCP, se faire passer pour un outil et potentiellement exécuter des opérations en votre nom. C'est comme si vous laissiez votre ordinateur portable ouvert et déverrouillé pour tout le monde dans la pièce".

L'ampleur des abus commis à l'encontre d'un serveur MCP est variable. Dans de nombreux cas, un attaquant pourrait être en mesure d'interroger une source de données propriétaire ou d'accéder à un service tiers par le biais d'informations d'identification configurées sur ce protocole. Cependant, pour des dizaines de serveurs MCP, les chercheurs ont pu identifier des voies d'attaque ayant entraîné l'exécution de commandes arbitraires sur le système d'exploitation sous-jacent avec les privilèges serveur. Parmi les exemples de problèmes identifiés figurent l'utilisation négligente d'un sous-processus, l'absence de vérification des données d'entrée ou des bogues de sécurité, tels que le path traversal (traversée de chemin). "Lorsque l'exposition au réseau rencontre des autorisations excessives, vous obtenez la tempête parfaite", ont déclaré les chercheurs. "N'importe qui sur le même réseau peut prendre le contrôle total de la machine hôte qui exécute le serveur MCP, sans connexion, sans autorisation, sans bac à sable. Il suffit d'un accès complet pour exécuter n'importe quelle commande, fouiller la mémoire ou se faire passer pour des outils utilisés par des agents d'intelligence artificielle. Et oui, nous avons trouvé plusieurs serveurs avec cette combinaison exacte".

Un exploit de faille pas encore publiquement détaillé

Les serveurs MCP étant conçus pour accéder à des sources, telles que des bases de données, et pour extraire des documents et du contenu web à l'aide de divers outils, ils présentent une grande surface d'attaque à distance par le biais d'entrées malveillantes. Dans un PoC, les chercheurs de Backslash ont construit un serveur MCP qui utilisait la bibliothèque Cheerio pour extraire des métadonnées de pages web. Ils l'ont ensuite dirigé vers un site web contenant un texte caché dans la balise de titre, conçu pour ressembler à une invite du système pour un LLM. Le MCP était lié à l'IDE Cursor, de sorte que lorsqu'il a exécuté le web scraping, cet environnement de développement a interprété le prompt qui lui demandait d'envoyer la clé OpenAI configurée localement par l'utilisateur au site web contrôlé par les chercheurs. Il s'agit d'une attaque connue en tant que prompt injection et context poisoning. « Dans une recherche qui n'a pas encore été publiée, nous avons identifié un chemin d'exploitation impliquant un document public apparemment inoffensif qui devient le déclencheur d'une compromission en cascade parce que MCP l'a connecté silencieusement à la logique de l'agent LLM sans limites appropriées", ont ajouté les chercheurs. "Le problème n'était pas une vulnérabilité dans le code MCP lui-même, mais plutôt dans la configuration de la source de données à laquelle il accédait. Ce problème affecte un outil très populaire avec 10 000 utilisateurs, et nous travaillons actuellement avec le fournisseur pour coordonner une divulgation responsable."

L'équipe de Backslash a publié ses évaluations des risques des MCP testés dans une base de données gratuite et consultable appelée Backslash MCP Server Security Hub. Les chercheurs proposent également un service web gratuit permettant d'évaluer les configurations IDE pour les MCP, les LLM et les règles de codage susceptibles d'introduire des risques de sécurité, mais l'outil nécessite un enregistrement. Pour les développeurs de serveurs MCP, l'équipe a plusieurs recommandations, notamment valider et nettoyer toutes les entrées externes, restreindre l'accès au système de fichiers, éviter la fuite de données sensibles telles que les jetons et les journaux internes dans les réponses LLM, mettre en œuvre des contrôles d'accès sur les appels API et les fonctionnalités des outils, valider la source des données et s'appuyer sur le transport d'entrée/sortie standard (stdio) pour les outils MCP locaux au lieu d'événements envoyés par le serveur (SSE).

Newsletter

La Quotidienne LMI

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

Des serveurs MCP mal configurés compromettent des systèmes d'agents IA