Exposed by Design: A Dynamic Security Assessment of Internet-Facing MCP Servers at Scale
Cet article présente la première évaluation de sécurité dynamique à grande échelle des serveurs du protocole Model Context Protocol (MCP) exposés sur Internet, révélant des vulnérabilités généralisées telles que l'absence d'authentification et l'exposition d'exécution de shell grâce au développement du framework Corvus et à l'analyse de centaines d'instances en production.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Résumé Technique : Exposé par Conception
Problématique
Le Model Context Protocol (MCP), publié par Anthropic en novembre 2024, est rapidement devenu la couche d'intégration de facto pour les applications d'IA agentiques, connectant les Large Language Models (LLM) à des outils et des sources de données externes. Bien que l'adoption ait bondi pour atteindre plus de 21 000 instances de serveurs publiquement accessibles, la posture de sécurité de ces déploiements reste largement non caractérisée.
La recherche de sécurité existante est scindée entre la modélisation théorique des menaces ou l'analyse statique des entrées de registres et du code source. Ces approches ne parviennent pas à capturer la posture de sécurité au moment de l'exécution des serveurs en direct et exposés sur Internet. L'auteur identifie une lacune critique : l'absence de données empiriques sur la prévalence des vulnérabilités dans les serveurs MCP déployés, particulièrement celles découlant de la conception unique du protocole où les descriptions d'outils en langage naturel sont structurellement couplées à l'exécution de code. L'auteur postule que la barrière minimale pour exposer des services en tant que points de terminaison MCP a conduit à un paysage de déploiement opérant en dessous du seuil de sécurité de base des services Internet conventionnels, caractérisé par une absence d'authentification, des capacités d'exécution de shell exposées et des cycles de déploiement rapides et éphémères.
Méthodologie
L'étude emploie une méthodologie en deux phases combinant la découverte passive et les tests comportementaux dynamiques actifs.
1. Découverte Passive (Petrel)
L'auteur a développé Petrel, un pipeline de découverte qui agrège des candidats provenant de onze sources de données hétérogènes pour maximiser la couverture de l'écosystème MCP :
- Journaux de transparence des certificats :
crt.shpour les certificats SSL/TLS contenant des sous-chaînes indicatives de MCP. - Plateformes de développement : GitHub (recherches par thématique, correspondance de noms de fichiers), HuggingFace Spaces, et les registres npm/PyPI.
- Registres spécialisés : Smithery, glama.ai, et pulsemcp.com.
- Scanneurs Internet : Censys, FOFA, et Shodan.
Les candidats subissent un fingerprinting HTTP actif pour distinguer les serveurs MCP réels des faux positifs. Petrel sonde à la fois le transport HTTP Streamable actuel (via POST avec une requête initialize JSON-RPC) et le transport SSE hérité. Seuls les serveurs répondant par des handshakes de protocole valides sont confirmés pour les tests.
2. Test de Sécurité Dynamique (Corvus)
L'auteur introduit Corvus, un framework open-source conçu pour l'évaluation comportementale dynamique. Corvus soumet les serveurs confirmés à 34 modules de test (13 statiques, 21 dynamiques) couvrant le MCP Security Top 10 (MST-10), une nouvelle taxonomie de vulnérabilités dérivée des conclusions de l'étude.
- Modèle d'exécution : Corvus utilise une boucle de lecture
StdioTransportmultiplexée pour piloter les requêtes JSON-RPC, permettant des tests à haut débit à travers des groupes parallèles. - Stratégies de test :
- Empoisonnement d'outils (Tool Poisoning) : Injection de définitions d'outils fantômes pour tester la mutation dynamique (attaques de type "rug-pull").
- Injection : Soumission de payloads élaborés pour tester l'injection SQL, l'injection de commandes et l'injection de prompts via les sorties d'outils.
- SSRF & Manipulation d'URI : Test des URI de ressources et des curseurs de pagination pour la traversée de chemin (path traversal) et la falsification de requête du serveur (SSRF) contre les services de métadonnées cloud (ex: AWS IMDS).
- Contournement de schéma (Schema Bypass) : Fuzzing des messages JSON-RPC pour identifier les ambiguïtés de parsing.
- Sortie : Les résultats sont scorés par niveau de confiance (0–100) et sortent au format SARIF 2.1.0. Les découvertes à haute confiance font l'objet d'un triage manuel et sont signalées via les GitHub Security Advisories (GHSA) sous un embargo de divulgation coordonnée de 90 jours.
Contributions Clés
Le papier présente cinq contributions principales :
- Première Évaluation Comportementale Dynamique : Le premier audit de sécurité dynamique à grande échelle des serveurs MCP exposés sur Internet, confirmant 640 déploiements de production uniques et en auditant 414.
- Framework Corvus : La sortie d'un outil open-source implémentant 34 modules de test à travers les 10 catégories du MST-10, supportant à la fois les transports Streamable HTTP et SSE.
- Méthodologie de Découverte Multi-Sources : Une démonstration qu'aucune source de données unique ne capture de manière adéquate la population MCP, nécessant un pipeline couvrant onze sources pour atteindre une couverture complète.
- Caractérisation de la Volatilité des Déploiements (Churn) : Preuve empirique d'un taux de disparition des serveurs de 41,6 % en 72 heures, indiquant un modèle de déploiement piloté par l'expérimentation éphémère plutôt que par une sécurité opérationnelle stable.
- Pipeline de Divulgation Responsable : L'identification et la divulgation responsable de 68 vulnérabilités, incluant l'injection SQL, le SSRF et l'injection de modèles de prompts, avec 19 divulgations publiques et 49 sous embargo au moment de la rédaction.
Résultats
À travers quatre cycles de mesure en juillet 2026, l'étude a produit les résultats suivants :
- Déficiences d'Authentification : 91,8 % des serveurs audités dynamiquement (380/414) manquent d'authentification OAuth. La majorité fonctionne sans aucune authentification ou avec des jetons bearer statiques et prévisibles.
- Exécution de Shell Non Authentifiée : 687 instances d'outils à travers le pool de serveurs confirmés exposent des capacités d'exécution de shell (ex:
bash_execute,run_command) sans aucun contrôle d'accès, permettant l'exécution de code à distance par n'importe quel adversaire réseau. - Prévalence des Vulnérabilités : L'étude a identifié 68 vulnérabilités signalables. Les découvertes critiques incluent :
- Injection SQL : Confirmée via des différentiels de taille de réponse dans un outil de recherche de corpus.
- SSRF : Confirmée via des oracles de temps (latence de 11,9s contre une base de 0,3s) lors du ciblage du service de métadonnées d'instance AWS.
- Injection de Modèle de Prompt : Confirmée par l'injection de séquences de contrôle qui ont outrepassé les instructions système d'un assistant IA.
- Traversée de Chemin (Path Traversal) : Réalisée via la manipulation de curseurs dans les primitives de pagination.
- Volatilité de l'Écosystème (Churn) : 41,6 % des serveurs confirmés lors d'un cycle de mesure étaient inaccessibles 72 heures plus tard. Ce taux de volatilité suggère que de nombreux serveurs sont des artefacts transitoires de pipelines CI/CD ou d'expérimentations de développeurs, compliquant la surveillance à long terme et la vérification des correctifs.
Signification et Revendications
Le papier prétend fournir la première base empirique de la posture de sécurité de l'écosystème MCP. Sa signification réside dans le passage de la compréhension de la sécurité MCP de la modélisation théorique des menaces à la réalité observée.
L'auteur soutient que les risques de sécurité sont structurels, et non accidentels. Le protocole a été conçu principalement pour le transport stdio local, où l'isolation des processus de l'OS assure la sécurité. L'ajout ultérieur du transport HTTP, sans mesures de sécurité proportionnelles (telles que l'obligation d'OAuth), a produit un "chemin de moindre résistance" qui génère par défaut des serveurs exposés sur Internet et non authentifiés.
L'étude conclut que l'écosystème MCP opère actuellement en dessous du seuil de sécurité opérationnelle minimale des services Internet conventionnels. La combinaison de l'exécution de shell non authentifiée, de l'absence de couches d'authentification et des cycles de déploiement rapides et éphémères crée une surface d'attaque où les vulnérabilités sont non seulement prévalentes, mais facilement exploitables. L'auteur affirme que son travail démontre que la sécurité de MCP est une surface d'attaque active et exploitable nécessitant une attention immédiate de la part des développeurs de SDK, des fournisseurs de plateformes et des opérateurs de registres pour imposer des standards de sécurité et améliorer les mécanismes de divulgation.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.