Suivez nous sur

6 bonnes pratiques pour créer un serveur MCP sécurisé

Cybersécurité

6 bonnes pratiques pour créer un serveur MCP sécurisé

mm

Depuis qu'Anthropic a publiĂ© le Protocole de contexte modèle fin 2024, l'adoption a explosĂ©, de nombreuses entreprises lançant leurs propres serveurs MCP pour aider les agents d'IA Ă  accĂ©der Ă  leurs donnĂ©es. 

Bien que cela soit bénéfique pour élargir les capacités de l’IA, cela expose également ces entreprises à d’importantes vulnérabilités en matière de sécurité.

Sans prĂ©cautions adĂ©quates, les serveurs MCP pourraient donner un accès gĂ©nĂ©ralisĂ© aux donnĂ©es sensibles des e-mails, CRM, outils de stockage de fichiers et autres applications. Et mĂŞme avec des mesures de sĂ©curitĂ© rigoureuses, les acteurs malveillants peuvent utiliser des tactiques comme les attaques par injection rapide pour obtenir des identifiants d'authentification. 

Nous commençons déjà à observer des incidents de sécurité. GitHub, par exemple, a récemment connu un incident vulnérabilité MCP qui a exposé des dépôts 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 meilleurs conseils pour créer et gérer des serveurs MCP.

Assurez la sécurité avec des blocages matériels et une gestion des autorisations

Le principe de sécurité le plus critique pour les MCP est que les blocages matériels remplacent toujours les invites et autres contrôles logiciels accordés aux agents. Si les agents IA ont la flexibilité de décider quand appeler les outils et quelles entrées envoyer, les implémentations des outils, ou une couche codée en dur en amont, préviennent in fine les problèmes d'autorisation, à condition que l'identité de l'utilisateur soit correctement authentifiée.

Pour garantir la sécurité, configurez les extensions avec une gestion stricte des autorisations dès le départ.

Cela commence par la gestion des autorisations accordĂ©es aux clĂ©s API. Les outils offrent ici un avantage : ils enveloppent le code statique et crĂ©ent une interface contrĂ´lĂ©e capable d'appliquer les politiques de sĂ©curitĂ©, quel que soit le comportement de l'agent.

Traitez les clés API comme des mots de passe

PlutĂ´t que de coder en dur les clĂ©s, dĂ©placez toutes les informations d'identification du code et des fichiers de configuration vers des variables d'environnement ou des gestionnaires de secrets dĂ©diĂ©s, tels que HashiCorp Vault ou AWS Secrets Manager. 

Les identifiants temporaires offrent une couche de sécurité supplémentaire pour les données extrêmement sensibles et les 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 à courte durée de vie qui expirent rapidement, minimisant ainsi les risques d'utilisation abusive. Cependant, pour la plupart des implémentations, un protocole OAuth approprié avec actualisation des jetons ou une authentification de base sécurisée peuvent résoudre efficacement ces problèmes.

La clé réside dans la mise en œuvre d'un contrôle d'accès basé sur les rôles (RBAC) par outil, avec des systèmes intégrés de gestion des autorisations. Attribuez à chaque intégration MCP un rôle précis, limité aux autorisations requises. Une politique Vault autorisant uniquement l'accès en lecture à kv/data/GitHub est infiniment plus sûre qu'un jeton racine. Les systèmes natifs de gestion des identités et des accès (IAM) de votre fournisseur cloud peuvent appliquer automatiquement les modèles d'accès au moindre privilège.

Protégez les données sensibles avec un logiciel de détection DLP et PII

Les outils MCP peuvent accéder à de vastes quantités de données sensibles au sein de votre organisation. Sans contrôles appropriés, ils pourraient exposer par inadvertance des informations personnelles de clients, des dossiers financiers ou des informations confidentielles sur votre produit.

Pour résoudre ce problème, déployez un logiciel de prévention des pertes de données (DLP) capable d'inspecter le trafic MCP en temps réel. Configurez des règles DLP pour détecter et bloquer la transmission des numéros de carte de crédit, des numéros de sécurité sociale, des clés API et d'autres modèles sensibles avant qu'ils ne quittent votre environnement.

Vous devriez Ă©galement utiliser des outils capables d'identifier et de masquer automatiquement les informations personnelles dans les invites, les rĂ©ponses et les journaux d'audit. Pensez Ă©galement Ă  utiliser des solutions capables de dĂ©tecter les informations personnelles identifiables sous diffĂ©rents formats, notamment les champs de base de donnĂ©es structurĂ©s, le texte non structurĂ© et le contenu image, grâce Ă  des techniques avancĂ©es comme l'OCR ou le TALN. 

Sécurisez et gérez vos dépendances

La croissance rapide de l'écosystème MCP a créé un véritable Far West de binaires potentiellement non fiables. Les serveurs publiés par la communauté peuvent être victimes de portes dérobées, mal entretenus ou tout simplement abandonnés. L'installation de dépendances sans vérification expose au risque d'exécution de code malveillant.

Mettez en œuvre une gestion stricte des dépendances avec vérification de l'intégrité. Utilisez des signatures numériques et des sommes de contrôle pour garantir que le code n'a pas été altéré. Suivez les bonnes pratiques de sécurité en réutilisant du code de vérification des autorisations éprouvé, en écrivant des tests complets et en exploitant des outils automatisés, tels que les tests de sécurité des applications statiques (SAST), les tests de sécurité des applications dynamiques (DAST) et l'analyse de la composition logicielle (SCA), pour identifier les vulnérabilités avant qu'elles ne soient exploitées.

Testez chaque outil rigoureusement

Les attaques par injection directe intègrent des commandes malveillantes dans les invites d'appel de vos outils, tandis que les attaques indirectes sont plus subtiles et potentiellement plus dangereuses. Les attaquants peuvent, par exemple, intégrer des instructions malveillantes dans les descriptions d'outils ou les métadonnées incluses dans les invites LLM.

Tous les outils doivent être soumis à un processus d'approbation rigoureux avant leur déploiement, combinant tests automatisés et vérification par des professionnels de la sécurité. Mettez en œuvre des mesures de défense multicouches, notamment la vérification manuelle des opérations critiques, une séparation claire entre les invites système et les saisies utilisateur, et des systèmes de détection automatisés capables d'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 exploiter une boîte à outils de sécurité complète, comprenant des appels d’outils de surveillance, 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 schémas inhabituels d'utilisation des outils, des tentatives d'accès aux données inattendues ou un trafic réseau anormal, susceptibles d'indiquer une compromission du système. De plus, la tenue de journaux cohérents pour surveiller le raisonnement et les résultats d'un modèle de langage est essentielle pour détecter toute action involontaire.

Tirer le meilleur parti des MCP

La puissance de MCP réside dans sa capacité à transformer des assistants IA en agents entièrement programmables. Mais cette même puissance exige des contrôles de sécurité tout aussi sophistiqués.

Ces solutions ne sont pas exotiques ; elles s'appuient sur des pratiques de sĂ©curitĂ© Ă©prouvĂ©es appliquĂ©es Ă  ce nouveau modèle architectural. Les logiciels de prĂ©vention des pertes de donnĂ©es, les rĂ©dacteurs d'informations personnelles et les systèmes intĂ©grĂ©s de gestion des autorisations que vous utilisez probablement dĂ©jĂ  peuvent ĂŞtre adaptĂ©s pour sĂ©curiser les serveurs MCP. 

Les organisations qui s’attaquent à ces vulnérabilités maintenant pourront exploiter pleinement le potentiel du MCP en toute sécurité.

Gil Feig est le cofondateur et directeur technique de aller, la plateforme API unifiée leader. Auparavant, Gil était responsable de l'ingénierie chez Untapped et a travaillé comme ingénieur logiciel chez Wealthfront et LinkedIn. Diplômé de l'Université Columbia, il vit et travaille à New York.