Cybersécurité

6 Meilleures Pratiques pour Construire un Serveur MCP Sécurisé

mm
Ajouter Unite.AI à vos sources préférées sur Google

Depuis que Anthropic a publié le Model Context Protocol à la fin de 2024, l’adoption a explosé, avec 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 appropriées, les serveurs MCP pourraient donner un accès généralisé aux 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 les attaques d’injection de invites 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 qui peut résister à toutes les menaces de sécurité.

C’est pourquoi voici mes conseils pour construire et gérer des serveurs MCP.

Assurer la Sécurité avec des Blocs Durcis et la Gestion des Autorisations

Le principe de sécurité le plus critique pour les MCP est que les blocs durcis prévalent toujours sur 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 des 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 stricte des autorisations 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 enveloppant 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

Au lieu de coder en dur les clés, déplacez toutes les informations d’identification hors 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 les données extrêmement sensibles et les cas d’utilisation où les 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 l’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) 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 d’identité et d’accès (IAM) de votre fournisseur de cloud peuvent appliquer automatiquement des modèles d’accès aux privilèges minimum.

Protéger les Données Sensibles avec des Logiciels DLP et de Détection PII

Les outils MCP peuvent accéder à de grandes quantités de données sensibles à travers votre organisation. Sans les contrôles appropriés, ils pourraient involontairement exposer les informations personnelles des clients, les dossiers financiers ou les informations confidentielles 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 compromise, mal entretenus ou simplement abandonnés. Lorsque vous installez des dépendances sans vérification, vous risquez d’exécuter du code malveillant.

Mettez en œuvre une gestion stricte des dépendances 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 du code 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 les invites d’appel 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 incluses dans les invites de LLM.

Tous les outils doivent passer par un processus d’approbation rigoureux avant leur déploiement, qui combine des tests automatisés avec une revue 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 du 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 devraient utiliser un kit 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 des trafics réseau anormaux qui pourraient indiquer un système compromis. De plus, maintenir des journaux cohérents pour surveiller la raison et les sorties d’un modèle de langage est crucial pour suivre toute action non intentionnelle.

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 architectural. 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 le plein potentiel des MCP en toute sécurité.

Gil Feig est le co-fondateur et le directeur technique de Merge, la principale plateforme d'API unifiée. Auparavant, Gil était le responsable de l'ingénierie chez Untapped et a travaillé en tant qu'ingénieur logiciel chez Wealthfront et LinkedIn. Diplômé de l'Université de Columbia, il vit et travaille à New York.