Cybersécurité
6 meilleures pratiques pour la construction d’un serveur MCP sécurisé

Depuis que Anthropic a publié le Model Context Protocol à la fin de 2024, l’adoption a connu un essor, de nombreuses entreprises lançant leurs propres serveurs MCP pour aider les agents IA à accéder à leurs données.
Même si cela est bénéfique pour élargir les capacités de l’IA, cela expose également ces entreprises à des vulnérabilités de sécurité importantes.
Sans les précautions nécessaires, les serveurs MCP pourraient donner un accès généralisé à des données sensibles dans les e-mails, les CRM, les outils de stockage de fichiers et d’autres applications. Et même lorsque des mesures de sécurité agressives sont prises, les acteurs malveillants peuvent utiliser des tactiques telles que des attaques d’injection de requêtes pour obtenir des informations d’authentification.
Nous commençons déjà à voir des incidents de sécurité se produire. Par exemple, GitHub a récemment connu une vulnérabilité MCP qui a exposé des référentiels privés.
Nous avons appris par expérience directe ce qu’il faut pour construire un serveur MCP capable de résister à toutes les menaces de sécurité.
À cette fin, voici mes conseils pour construire et gérer des serveurs MCP.
Assurer la sécurité avec des blocs rigides et une gestion des autorisations
Le principe de sécurité le plus critique pour les MCP est que les blocs rigides remplaceront toujours les invites et les autres contrôles souples donnés aux agents. Même si les agents IA ont la flexibilité de décider quand appeler les outils et quels entrées envoyer, les implémentations d’outils – ou une couche codée en dur devant eux – empêchent finalement les problèmes d’autorisation, tant que l’identité de l’utilisateur est correctement authentifiée.
Pour assurer la sécurité, configurez les extensions avec une gestion des autorisations stricte dès le départ.
Cela commence par gérer les autorisations accordées aux clés API. Les outils offrent un avantage ici en encapsulant le code statique et en créant une interface contrôlée qui peut appliquer les politiques de sécurité, indépendamment du comportement de l’agent.
Traiter les clés API comme des mots de passe
Plutôt que de coder les clés en dur, déplacez toutes les informations d’identification en dehors du code et des fichiers de configuration dans des variables d’environnement ou des gestionnaires de secrets dédiés, tels que HashiCorp Vault ou AWS Secrets Manager.
Les informations d’identification temporaires fournissent une couche de sécurité supplémentaire pour des données extrêmement sensibles et des cas d’utilisation où des connexions permanentes ne sont pas nécessaires. Dans ce cas, des outils comme AWS STS peuvent générer des jetons à court terme qui expirent rapidement, minimisant la fenêtre de mauvaise utilisation potentielle. Cependant, pour la plupart des implémentations, un OAuth approprié avec un rafraîchissement de jeton ou une authentification de base bien sécurisée peut traiter efficacement ces préoccupations.
La clé est de mettre en œuvre un contrôle d’accès basé sur les rôles (RBAC) par outil avec des systèmes de gestion des autorisations intégrés. Accordez à chaque intégration MCP son propre rôle à grain fin, limité strictement aux autorisations requises. Une politique de Vault qui n’autorise que l’accès en lecture à kv/data/GitHub est infiniment plus sûre qu’un jeton racine. Les systèmes de gestion d’identité et d’accès (IAM) de votre fournisseur de cloud peuvent appliquer automatiquement des modèles d’accès à privilèges minimum.
Protéger les données sensibles avec des logiciels de prévention de la perte de données et de détection de PII
Les outils MCP peuvent accéder à de grandes quantités de données sensibles dans toute l’entreprise. Sans les contrôles appropriés, ils pourraient involontairement exposer des informations personnelles des clients, des dossiers financiers ou des informations de propriété sur votre produit.
Pour répondre à cela, déployez des logiciels de prévention de la perte de données (DLP) qui peuvent inspecter le trafic MCP en temps réel. Configurez les règles DLP pour détecter et bloquer la transmission de numéros de carte de crédit, de numéros de sécurité sociale, de clés API et d’autres modèles sensibles avant qu’ils ne quittent votre environnement.
Vous devriez également utiliser des outils qui peuvent identifier et masquer automatiquement les informations personnelles dans les invites, les réponses des outils et les journaux d’audit. Et envisagez d’utiliser des solutions qui peuvent détecter les PII dans divers formats, y compris les champs de base de données structurés, le texte non structuré et le contenu d’image via des techniques avancées telles que l’OCR ou le NLP .
Sécuriser et gérer vos dépendances
La croissance rapide de l’écosystème MCP a créé un Far West de binaires potentiellement non fiables. Les serveurs publiés par la communauté peuvent être compromis, mal entretenus ou simplement abandonnés. Lorsque vous installez des dépendances sans vérification, vous prenez le risque d’exécuter potentiellement du code malveillant.
Mettez en œuvre une gestion de dépendance stricte avec vérification d’intégrité. Utilisez des signatures numériques et des sommes de contrôle pour vous assurer que le code n’a pas été modifié. Et suivez les meilleures pratiques de sécurité en réutilisant le code de vérification d’autorisation éprouvé, en écrivant des tests complets et en utilisant des outils automatisés, tels que les tests de sécurité d’application statiques (SAST), les tests de sécurité d’application dynamiques (DAST) et l’analyse de composition de logiciels (SCA), pour identifier les vulnérabilités avant qu’elles ne puissent être exploitées.
Tester chaque outil de manière rigoureuse
Les attaques d’injection directes insèrent des commandes malveillantes dans vos invites d’outils, mais les attaques indirectes sont plus subtiles et potentiellement plus dangereuses. Les attaquants peuvent, par exemple, intégrer des instructions malveillantes dans les descriptions ou les métadonnées des outils qui sont inclus dans les invites LLM.
Tous les outils doivent passer par un processus d’approbation rigoureux avant leur déploiement, qui combine des tests automatisés avec une révision par des professionnels de la sécurité. Mettez en œuvre des mesures de défense en couches, y compris une vérification manuelle pour les opérations critiques, une séparation claire entre les invites système et les entrées utilisateur, et des systèmes de détection automatisés qui peuvent identifier les instructions potentiellement malveillantes dans les invites utilisateur et les métadonnées des outils.
Surveiller les incidents de sécurité de manière proactive
Au-delà des contrôles fondamentaux, les équipes doivent utiliser un outil de sécurité complet, y compris la surveillance des appels d’outils, des modèles d’activité des utilisateurs et des modèles d’accès aux URL sortantes, pour détecter les incidents de sécurité potentiels avant qu’ils ne s’aggravent.
En déployant des systèmes de détection automatisés, vous pouvez identifier des modèles inhabituels dans l’utilisation des outils, des tentatives d’accès aux données inattendues ou un trafic réseau anormal qui pourrait indiquer un système compromis. De plus, maintenir des journaux cohérents pour surveiller le raisonnement et les sorties d’un modèle de langage est crucial pour suivre toute action involontaire.
Tirer le meilleur parti des MCP
Le pouvoir des MCP vient de leur capacité à transformer les assistants IA en agents entièrement programmables. Mais ce même pouvoir exige des contrôles de sécurité également sophistiqués.
Les solutions ne sont pas exotiques ; ce sont des extensions de pratiques de sécurité éprouvées appliquées à ce nouveau modèle d’architecture. Les logiciels de prévention de la perte de données, les réducteurs de PII et les systèmes de gestion des autorisations intégrés que vous utilisez probablement déjà peuvent être adaptés pour sécuriser les serveurs MCP.
Les organisations qui traitent ces vulnérabilités maintenant débloqueront en toute sécurité le plein potentiel des MCP.






