Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
slither-mcp — Serveur MCP pour l'analyse statique Slither des contrats intelligents Solidity | Kitploit
Outils/GitHubGitHub/trailofbits/slither-mcp
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeTests de Sécurité des APIDevSecOpsSécurité de l'IA
GitHubtrailofbits/slither-mcp

slither-mcp

Serveur MCP pour l'analyse statique Slither des contrats intelligents Solidity

Voir le dépôt
9610il y a 6 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Serveur MCP Slither

Tests Python 3.11+ License: AGPL v3

Un serveur Model Context Protocol (MCP) qui fournit des capacités d'analyse statique pour les contrats intelligents Solidity en utilisant Slither.

Présentation

Ce serveur MCP encapsule les fonctionnalités d'analyse statique de Slither, les rendant accessibles via le Model Context Protocol. Il peut analyser des projets Solidity (Foundry, Hardhat, etc.) et générer des métadonnées complètes sur les contrats, les fonctions, les hiérarchies d'héritage, etc.

Vous pouvez également utiliser Slither MCP comme une API Slither facile à utiliser pour d'autres cas d'usage.

Fonctionnalités

  • Mise en cache : Les exécutions de Slither sont mises en cache dans {$PROJECT_PATH}/artifacts/project_facts.json pour des chargements ultérieurs plus rapides
  • Outils MCP : Interrogez les informations des contrats et des fonctions via les outils MCP
  • Analyse de sécurité : Exécutez les détecteurs Slither et accédez aux résultats avec filtrage
  • Analyse complète : Extrait des informations détaillées sur :
    • Métadonnées des contrats (indicateurs abstract, interface, library)
    • Signatures et modificateurs de fonctions
    • Hiérarchies d'héritage
    • Relations d'appel de fonctions (internes, externes, appels de bibliothèque)
    • Vulnérabilités de sécurité et problèmes de qualité de code
    • Emplacements du code source

Bien qu'il s'agisse d'une version v1.0, nous nous attendons à des modifications de l'API suite aux retours.

Installation

Ce projet utilise UV pour la gestion des paquets :

root@kitploit:~
# Installer les dépendances
uv sync

# Ou installer en mode développement
uv pip install -e .

Utilisation

Utilisation de base

Démarrez le serveur MCP Slither :

root@kitploit:~
uv run slither-mcp

Tous les outils acceptent un paramètre path qui spécifie le projet Solidity à analyser. Les projets sont automatiquement mis en cache dans <path>/artifacts/project_facts.json pour des requêtes ultérieures plus rapides.

Utilisation dans Claude Code

root@kitploit:~
claude mcp add --transport stdio --scope user slither -- uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp

Utilisation dans Cursor

Assurez-vous que uvx est dans votre PATH Cursor en utilisant sudo ln -s ~/.local/bin/uvx /usr/local/bin/uvx

Dans votre ~/.cursor/mcp.json :

root@kitploit:~
{
  "mcpServers": {
    "slither-mcp": {
      "command": "uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp",
    }
  }
}

Métriques et confidentialité

Slither MCP inclut des métriques facultatives pour améliorer la fiabilité en nous permettant de savoir à quelle fréquence les LLM utilisent chaque outil et leur taux d'appel réussi. Les métriques sont activées par défaut mais peuvent être désactivées définitivement.

Ce que nous collectons

  • Événements d'appel d'outil (quels outils sont utilisés)
  • Statut de succès/échec

Nous ne collectons pas : les paramètres d'appel d'outil, les détails des contrats, les noms de fonctions ou toute information spécifique au projet.

Désactivation des métriques

Pour vous désinscrire définitivement :

root@kitploit:~
uv run slither-mcp --disable-metrics

Pour plus de détails, voir METRICS.md.

Outils MCP

Le serveur expose des outils pour interroger les informations des contrats et des fonctions. Tous les outils acceptent un paramètre path qui spécifie le répertoire du projet Solidity à analyser.

Outils d'interrogation

1. list_contracts - Liste des contrats avec filtres

Nécessite : path (répertoire du projet) Filtrez les contrats par type (concret, abstrait, interface, bibliothèque) ou par motif de chemin.

2. get_contract - Obtenir les informations détaillées d'un contrat

Récupérez les métadonnées complètes du contrat, y compris les fonctions, l'héritage et les indicateurs.

3. get_contract_source - Obtenir le code source du contrat

Retourne le code source complet du fichier Solidity contenant le contrat spécifié.

4. get_function_source - Obtenir le code source d'une fonction

Retourne le code source d'une fonction spécifique avec les numéros de ligne. Utile pour une analyse ciblée.

5. list_functions - Liste des fonctions avec filtres

Filtrez les fonctions par contrat, visibilité ou modificateurs.

6. function_callees - Obtenir les relations d'appel d'une fonction

Retourne les appels internes, externes et de bibliothèque pour une fonction, y compris la détection d'appels de bas niveau.

7. function_callers - Obtenir les fonctions qui appellent une fonction cible

Retourne toutes les fonctions qui appellent la fonction cible spécifiée, regroupées par type d'appel (interne, externe, bibliothèque). C'est l'inverse de function_callees.

8. get_inherited_contracts - Obtenir l'héritage d'un contrat

Retourne un arbre récursif de tous les contrats dont un contrat hérite (parents et ancêtres).

9. get_derived_contracts - Obtenir les contrats qui héritent de celui-ci

Retourne un arbre récursif de tous les contrats qui héritent d'un contrat (enfants et descendants).

10. list_function_implementations - Trouver les implémentations de fonctions

Trouve toutes les implémentations d'une signature de fonction dans les contrats.

11. list_detectors - Liste des détecteurs Slither disponibles

Retourne les métadonnées sur les détecteurs Slither, y compris les noms, descriptions, niveaux d'impact et évaluations de confiance. Prend en charge le filtrage par nom ou description.

12. run_detectors - Obtenir les résultats des détecteurs avec filtrage

Retourne les résultats des détecteurs mis en cache. Filtrez par noms de détecteurs, niveau d'impact (Élevé, Moyen, Faible, Informationnel) ou niveau de confiance (Élevé, Moyen, Faible).

Tous les outils retournent des réponses avec un booléen success et soit des champs de données, soit un error_message. Voir les implémentations individuelles des outils dans slither_mcp/tools/ pour les schémas détaillés et l'utilisation.

Utilisation du client

Le paquet slither-mcp inclut un client Python typé (SlitherMCPClient) pour interagir programmatiquement avec le serveur MCP Slither. Ceci est utile pour construire des outils, scripts ou agents qui doivent interroger des projets Solidity.

Le client fournit :

  • Des méthodes typées pour tous les outils MCP
  • La sérialisation/désérialisation automatique des modèles Pydantic
  • Des méthodes d'aide pour les motifs courants
  • Des wrappers d'outils pour l'intégration avec pydantic-ai agent

Pour des exemples d'utilisation détaillés et la documentation, voir CLIENT_USAGE.md.

Prérequis

  • Python 3.11+
  • Configuration du compilateur Solidity (Foundry, Hardhat ou équivalent)
  • Slither et ses dépendances

Développement

Hooks pré-commit

Installez les hooks pré-commit pour exécuter le linting avant les commits :

root@kitploit:~
pre-commit install

Exécution des tests

root@kitploit:~
uv run pytest
Télécharger l’outil