Chrome Extensions et MCP : Une Nouvelle Menace de Sécurité qui Bouscule le Modèle de Confinement
Trust Me, I’m Local: Extensions Chrome, MCP et l’évasion du bac à sable La semaine dernière, notre système a repéré une extension Chrome suspecte qui envoyait des messages à un port sur localhost. Cette extension se communiquait avec un serveur local implémentant le protocole Model Context Protocol (MCP), utilisé pour faire interfacer des agents IA avec des outils et ressources système du point d'ancrage. Cela nous a posé immédiatement un problème de sécurité majeur : si une extension Chrome peut accéder à un serveur MCP local, rien ne l'empêche de manipuler des ressources sensibles ou d'exécuter des actions privilégiées grâce au MCP. Comprendre les communications MCP L'MCP se communique principalement via deux méthodes de transport : 1. Server-Sent Events (SSE) : Permet aux serveurs MCP de transmettre des données via des requêtes HTTP POST. 2. Standard Input/Output (stdio) : Utilise les flux d'entrée et de sortie standards du processus pour la communication. Les développeurs d'MCP peuvent choisir la méthode de communication, et la plupart n'implémentent pas d'authentification par défaut. Pour une utilisation locale, un serveur MCP basé sur SSE est souvent relié à un port localhost, rendant le service accessible aux processus locaux, y compris aux extensions Chrome. Évasion du bac à sable Chrome Pour tester cette vulnérabilité, nous avons configuré un serveur MCP local basé sur SSE à partir de mcp.so, choisissant une variante de gestion de fichiers. En suivant les instructions fournies dans le README du serveur, nous l'avons mis en place avec la commande : shell node dist/index.js ~/work/mcp/private_directory Ensuite, nous avons développé une extension Chrome qui tente de se connecter à localhost:3001, un port couramment utilisé par les serveurs MCP basés sur SSE. À notre grande surprise, l'extension a eu un accès non restreint aux outils exposés par le serveur MCP, y compris la gestion des fichiers. Cela signifie qu'elle pouvait interagir librement avec le système de fichiers, sans aucune authentification nécessaire. Cette capacité à accéder aux fonctionnalités expositionnelles d'un MCP sans restriction constitue un risque colossal : elle ouvre la voie à des exploitations malveillantes et à une compromission complète du système. Le test avec un serveur MCP Slack a également montré que l'extension pouvait y accéder et interagir avec son interface exposée. Implications pratiques Bien que Chrome ait renforcé ses contrôles de sécurité pour empêcher les sites Web de sondérer les réseaux privés des utilisateurs, les extensions Chrome bénéficient encore de capacités élevées. En septembre 2023, Chrome 117 a introduit des restrictions pour bloquer toutes les requêtes de réseau privé provenant des contextes publics et non sécurisés. Cependant, les extensions Chrome demeurent une exception notoire, car elles opèrent dans un environnement isolé pour protéger le système d’exploitation et les ressources locales, sauf autorisation explicite. Le protocole MCP, conçu pour offrir une interface unifiée entre différents serveurs MCP, facilite l'accès non authentifié à des services locaux. Ainsi, une extension Chrome malveillante pourrait scanner les ports locaux pour trouver des instances MCP actives et exploiter leurs fonctionnalités sans que le navigateur puisse intervenir efficacement. Contenir le chaos L'écosystème MCP a connu une croissance exponentielle, avec des milliers de serveurs offrant des capacités diverses. Cette expansion rapide apporte des possibilités puissantes mais introduit également des risques de sécurité croissants. Une extension Chrome simple, sans permissions spéciales, peut violer le bac à sable, se connecter à un serveur MCP local et exécuter des actions privilégiées au nom de l'utilisateur. Cette vulnérabilité brise le modèle d'isolement des bac à sable des navigateurs, transformant une préoccupation théorique en menace d'entreprise à grande échelle. Pour les équipes de sécurité, ce vecteur d'attaque représente un nouveau front de menace entièrement sous-estimé. Les MCP sont déployés dans des environnements de développement et de production, souvent sans contrôle ni surveillance adéquats. Laisser ces serveurs sans protection ouvre une porte dérobée sur les points d'ancrage, permettant de contourner les défenses traditionnelles. Il est impératif de gouverner l'utilisation des MCP, d'imposer des politiques d'accès strictes et de surveiller étroitement le comportement des extensions Chrome. Évaluation et Problématique de l'Industrie L'identification de cette vulnérabilité révèle une faille critique dans le modèle de sécurité des extensions Chrome et des MCP. Des experts de l'industrie soulignent que cette situation met en péril la confidentialité et l'intégrité des données, especially within enterprise environments where MCP usage is on the rise. La rapidité avec laquelle une extension Chrome peut exploiter un serveur MCP local souligne la nécessité d'une révision urgente des pratiques de sécurité. Profil de l'entreprise : Mcp.so propose des solutions de protocole pour l'interfaçage d'agents IA avec des outils système, facilitant l'automatisation et l'interaction en temps réel. Cependant, la sécurité manquante dans leurs serveurs MCP expose les utilisateurs à de graves risques. Il est crucial que les développeurs et les administrateurs système prennent des mesures pour sécuriser ces serveurs avant que des attaques à grande échelle ne deviennent réalité.