Checklist de sécurité MCP : guide de sécurité pour l'écosystème d'outils IA
Introduction à « MCP Checklist de Sécurité : Guide de Sécurité de l'Écosystème des outils IA »
Avec le développement rapide des LLM, le MCP, en tant que pont essentiel connectant les LLM aux outils externes et aux sources de données, a été largement adopté dans les principales applications d'IA telles que Claude Desktop et Cursor. Cependant, la diffusion rapide du MCP a également apporté de nouveaux défis en matière de sécurité. Dans des scénarios impliquant plusieurs instances et plusieurs composants collaborant, l'architecture MCP expose une série de risques de sécurité, en particulier dans les contextes sensibles tels que les transactions en cryptomonnaies ou l'adaptation de plugins personnalisés par les LLM.
« MCP Checklist de Sécurité : Guide de Sécurité de l'Écosystème des Outils IA » est un document rédigé et maintenu par SlowMist Technology, destiné à aider les développeurs et les utilisateurs à identifier et à prévenir les risques de sécurité liés au MCP (Model Context Protocol).

Sécurité du MCP Server (Plugin MCP)
Sécurité des API
Authentification et autorisation : garantir un contrôle strict des droits d'accès aux interfaces API, en n'autorisant que les utilisateurs ou systèmes autorisés à y accéder.
Validation des entrées : effectuer une validation rigoureuse de toutes les entrées afin de prévenir les attaques par injection.
Limitation du débit : limiter la fréquence des requêtes API pour prévenir les abus.
Authentification et autorisation du Server
Mécanismes d'authentification : utiliser des mécanismes d'authentification forts, tels que l'authentification multifacteur.
Stratégies d'autorisation : appliquer le principe du moindre privilège, en n'accordant que les permissions nécessaires.
Contrôle de la persistance en arrière-plan
Sécurité du stockage des données : garantir la sécurité du stockage des données en utilisant des techniques de chiffrement pour protéger les données sensibles.
Sauvegarde et restauration des données : effectuer régulièrement des sauvegardes des données et garantir une restauration rapide.
Sécurité du déploiement et de l'exécution
Configuration sécurisée : s'assurer que la configuration du serveur respecte les bonnes pratiques de sécurité.
Surveillance de l'exécution : surveiller en temps réel l'état de fonctionnement du serveur afin de détecter rapidement tout comportement anormal.
Intégrité du code et des données
Audit du code : effectuer régulièrement des audits du code pour s'assurer qu'il ne contient aucune vulnérabilité de sécurité.
Vérification de l'intégrité des données : utiliser des techniques telles que les algorithmes de hachage pour vérifier l'intégrité des données.
Sécurité de la chaîne d'approvisionnement
Gestion des dépendances : s'assurer que toutes les dépendances sont fiables et les mettre à jour régulièrement pour corriger les vulnérabilités connues.
Sécurité des services tiers : évaluer la sécurité des services tiers afin de garantir qu'ils n'introduisent aucun risque de sécurité.
Surveillance et journalisation
Surveillance en temps réel : surveiller en temps réel le comportement du système afin de détecter rapidement toute anomalie.
Journalisation : enregistrer en détail les journaux d'opérations du système pour faciliter les audits a posteriori.
Isolation de l'environnement d'appel
Environnement sandbox : utiliser des technologies de sandbox pour isoler les environnements d'exécution des différents plugins, empêchant ainsi tout plugin malveillant d'affecter les autres composants.
Compatibilité et sécurité des plateformes
Tests de compatibilité : s'assurer que les plugins fonctionnent en toute sécurité sur différentes plateformes.
Mises à jour de sécurité : appliquer rapidement les correctifs de sécurité de la plateforme.
Sécurité des données et confidentialité
Chiffrement des données : chiffrer les données sensibles lors de leur stockage et de leur transmission.
Protection de la vie privée : garantir la confidentialité des données des utilisateurs et se conformer aux lois et réglementations en vigueur.
Sécurité des ressources (Resources Security)
Contrôle d'accès aux ressources : limiter les droits d'accès aux ressources en n'autorisant que les utilisateurs autorisés à y accéder.
Vérification de l'intégrité des ressources : vérifier l'intégrité et la provenance des ressources.
Sécurité de l'implémentation des outils (Tools Security)
Audit du code des outils : auditer régulièrement le code des outils pour s'assurer qu'il ne contient aucune vulnérabilité de sécurité.
Surveillance de l'exécution des outils : surveiller l'état d'exécution des outils afin de détecter rapidement tout comportement anormal.
Sécurité du MCP Client / MCP HOST
Sécurité de l'interaction utilisateur
Validation des entrées utilisateur : effectuer une validation rigoureuse des entrées utilisateur afin de prévenir les attaques par injection.
Mécanisme de retour utilisateur : fournir un mécanisme de retour utilisateur permettant de détecter rapidement d'éventuels problèmes de sécurité.
Contrôle et surveillance de l'IA
Surveillance du comportement de l'IA : surveiller en temps réel le comportement de l'IA afin de prévenir tout comportement anormal.
Gestion des permissions de l'IA : limiter les permissions de l'IA afin d'empêcher l'exécution d'opérations dangereuses.
Sécurité du stockage local
Chiffrement des données : chiffrer les données stockées localement.
Contrôle d'accès au stockage : limiter les droits d'accès au stockage local.
Sécurité des applications
Audit du code : auditer régulièrement le code des applications pour s'assurer qu'il ne contient aucune vulnérabilité de sécurité.
Mises à jour de sécurité : appliquer rapidement les correctifs de sécurité des applications.
Authentification et autorisation du client
Mécanismes d'authentification : utiliser des mécanismes d'authentification forts, tels que l'authentification multifacteur.
Stratégies d'autorisation : appliquer le principe du moindre privilège, en n'accordant que les permissions nécessaires.
Gestion des MCP Tools et des Servers
Gestion des plugins : gérer rigoureusement l'installation et les mises à jour des plugins en s'assurant de la fiabilité de leur source.
Gestion des serveurs : garantir une configuration sécurisée et un bon état de fonctionnement des serveurs.
Sécurité des prompts
Filtrage des prompts : filtrer les informations nuisibles ou sensibles dans les prompts.
Audit des prompts : auditer régulièrement l'utilisation des prompts.
Journalisation et audit
Journalisation détaillée : enregistrer les journaux d'opérations du système pour faciliter les audits a posteriori.
Analyse des journaux : analyser régulièrement les journaux afin de détecter d'éventuels problèmes de sécurité.
Vérification du Server et sécurité de la communication
Vérification du serveur : s'assurer que les mécanismes d'authentification du serveur sont sécurisés.
Chiffrement des communications : utiliser des protocoles de chiffrement (tels que TLS) pour protéger les données en communication.
Stockage et gestion des tokens d'autorisation
Stockage chiffré des tokens : chiffrer les tokens lors de leur stockage.
Gestion des permissions des tokens : gérer rigoureusement les permissions des tokens en appliquant le principe du moindre privilège.
Contrôle de l'approbation automatique (autoApprove)
Limitation de l'approbation automatique : limiter la portée de l'approbation automatique afin de prévenir les opérations malveillantes.
Sécurité de l'échantillonnage (Sampling Security)
Protection des données échantillonnées : garantir la sécurité des données échantillonnées afin de prévenir toute fuite de données.
Sécurité de l'adaptation et de l'appel du MCP sur différents LLM
Exécution sécurisée du LLM
Isolation de l'environnement d'exécution : utiliser des technologies de sandbox pour isoler l'environnement d'exécution du LLM.
Surveillance de l'exécution : surveiller en temps réel l'état d'exécution du LLM afin de prévenir tout comportement anormal.
Sécurité multimodale
Filtrage du contenu multimodal : filtrer les informations nuisibles ou sensibles dans le contenu multimodal (telles que les prompts malveillants intégrés dans les images).
Sécurité dans les scénarios multi-MCP
Gestion des instances multiples : gérer rigoureusement l'exécution de plusieurs instances MCP afin d'empêcher toute instance malveillante d'affecter les autres.
Isolation des instances : utiliser des technologies de sandbox pour isoler les environnements d'exécution des différentes instances.
Points de sécurité spécifiques au MCP lié aux cryptomonnaies
Gestion des portefeuilles : gérer rigoureusement les droits d'accès aux portefeuilles de cryptomonnaies afin d'empêcher tout vol.
Sécurité des transactions : garantir la sécurité des transactions en cryptomonnaies afin de prévenir toute altération.
à plusieurs mécanismes de collaboration MCP ainsi que les points clés de sécurité dans des domaines spécifiques (comme les scénarios de crypto‑monnaies). En mettant en œuvre ces mesures de sécurité, il est possible d'améliorer efficacement la stabilité globale et la contrôlabilité du système MCP, garantissant ainsi que les applications d'IA, tout en se développant rapidement, bénéficient également d'une sécurité renforcée.
github :https://github.com/slowmist/MCP-Security-Checklist
Assistant scénario▸
Apps AI
Actualités AI 