Outil open source pour la détection des risques de sécurité dans les services MCP

Introduction générale

mcp-is-dangerous est un outil open source développé par Shaojie Jiang sur GitHub. Il aide les utilisateurs à détecter les risques de sécurité du service MCP (Model Context Protocol) dans l'utilisation d'outils d'intelligence artificielle à l'aide d'un simple code Python. L'outil montre les menaces potentielles lorsque des outils externes peuvent accéder à des variables d'environnement ou à des fichiers, et vise à alerter les utilisateurs sur les problèmes de sécurité. Il est compatible avec le logiciel agents extensibles Les projets mettent en évidence la facilité du partage d'outils et les risques qu'il comporte. Les projets sont uniquement destinés à des fins éducatives et de test et ne supportent pas d'utilisation malveillante.

检测MCP服务安全风险的开源工具

 

Liste des fonctions

  • détection MCP Si le service peut être exploité à des fins malveillantes.
  • Fournir les fonctions de l'outil get_environment_variablesqui montre l'accès aux variables d'environnement.
  • Révéler la vulnérabilité de la sécurité du service MCP à l'aide d'exemples de code.
  • Prise en charge de la connexion de clients MCP personnalisés pour tester la sécurité des services.
  • Rappelez aux utilisateurs qu'ils doivent s'exécuter dans un environnement isolé pour vérifier les risques.

 

Utiliser l'aide

Comment installer et exécuter

Cet outil nécessite un environnement Python de base. Voici les étapes détaillées :

  1. Vérification de l'environnement Python
    Assurez-vous que Python 3.8 ou plus est installé. Tapez dans le terminal :
python --version

Si vous ne l'avez pas installé, vous pouvez le télécharger sur le site web de Python.

  1. Télécharger les outils
    Exécutez la commande suivante dans le terminal pour cloner localement :
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git

Ensuite, consultez le catalogue :

cd mcp-is-dangerous
  1. Installation des dépendances
    besoin fastmcp pour exécuter le service MCP. Méthode d'installation :
pip install fastmcp

Pour des raisons de sécurité, un environnement virtuel est disponible :

python -m venv venv
source venv/bin/activate  # Windows 用 venv\Scripts\activate

puis exécuter pip install fastmcp.

  1. kit de démarrage
    Exécutez-le dans le répertoire :
python main.py

Lorsque le terminal affiche "Server running...", l'outil est lancé. Lorsque le terminal affiche "Server running...", l'outil est lancé.

  1. fonction de test
    Détection par ligne de commande :
uvx mcp-is-dangerous

Exemple de sortie :

Here are what I could find:
PATH                          /usr/***
HOME                          /home/***

Principales fonctions

  • Détection de l'accès aux variables d'environnement
    Les fonctions essentielles sont les suivantes get_environment_variablesCe code est utilisé pour vérifier si le service MCP peut obtenir les variables d'environnement. Le code est le suivant :
@server.tool()
async def get_environment_variables() -> str:
result = ["Here are what I could find:"]
for key, value in os.environ.items():
result.append(f"{key:<30} {value[:5]}***")
return "\n".join(result)

La sortie montre le nom de la variable et une partie de la valeur (les 5 premiers caractères, les suivants étant cachés par "***"), vous pouvez modifier le code pour voir les données complètes, mais vous devez opérer dans un environnement sécurisé.

  • Combiné avec la détection des agents extensibles
    Si l'on utilise agents extensiblesLa sélection PoliceAgent pour connecter cet outil. Après l'avoir lancé, vous pouvez observer les résultats et détecter les risques potentiels.
  • Tests personnalisés pour les clients
    Lors de la détection avec votre propre client MCP, configurez-le comme suit :

    {
    "mcpServers": {
    "dangerous-mcp": {
    "command": "python",
    "args": ["main.py"]
    }
    }
    }
    

    Enregistrez-le dans un fichier JSON et lancez le client pour le détecter.

Recommandations concernant les tests de sécurité

  • Fonctionnement en milieu isolé
    Il est recommandé de tester les conteneurs Docker :

    docker run -it --rm python:3.8 bash
    

    Installer et exécuter dans le conteneur pour éviter tout impact sur le système local.

  • Nettoyage des données sensibles
    Supprimer les informations sensibles des variables d'environnement avant l'exécution, par exemple :

    unset OPENAI_API_KEY
    
  • Examen du code source
    Inspection avant utilisation main.pyLe code est court et permet de vérifier la sécurité du service MCP.

note complémentaire

Cet outil aide les utilisateurs à détecter les vulnérabilités potentielles en simulant l'accès du service MCP aux variables d'environnement. Les responsables soulignent qu'il s'agit d'un outil de détection et qu'il doit être utilisé en conjonction avec des pratiques de sécurité telles que l'examen du code et l'exécution isolée.

 

scénario d'application

  1. Détection de la sécurité du service MCP
    Les développeurs peuvent l'utiliser pour tester le service MCP afin de détecter les risques de fuite.
  2. Validation de la sécurité des outils
    Les équipes de sécurité l'utilisent pour simuler les comportements d'accès et valider les mesures de protection.
  3. Démonstration d'enseignement
    Les organisations éducatives l'utilisent pour démontrer les risques des services MCP et promouvoir la sensibilisation à la sécurité.

 

QA

  1. Que fait cet outil ?
    Il détecte si le service MCP peut être exploité pour accéder aux variables d'environnement et aide les utilisateurs à identifier les risques de sécurité.
  2. Peut-on courir en toute sécurité ?
    L'outil lui-même est utilisé à des fins de test et n'est pas malveillant. Cependant, son utilisation dans un environnement réel peut exposer des données, c'est pourquoi il est recommandé d'utiliser un environnement isolé.
  3. Comment puis-je l'utiliser pour améliorer la sécurité ?
    Vérifier le code source, isoler les exécutions, nettoyer les données sensibles, vérifier le comportement des outils.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...