Retour aux mises à jour
New releaseJul 29, 2026

slither v0.11.6

Analyseur statique pour Solidity et Vyper

Partager

Slither, l'analyseur statique de contrats intelligents

Logo de Slither Static Analysis Framework

Statut du build PyPI Slither - Lire la documentation Slither - Wiki

Rejoignez le Slack Empire Hacking

Statut Slack

- Discussions et Support

Slither est un framework d'analyse statique pour Solidity et Vyper écrit en Python3. Il exécute une suite de détecteurs de vulnérabilités, affiche des informations visuelles sur les détails des contrats, et fournit une API pour écrire facilement des analyses personnalisées. Slither permet aux développeurs de trouver des vulnérabilités, d'améliorer leur compréhension du code, et de prototyper rapidement des analyses personnalisées.

Fonctionnalités

  • Détecte le code Solidity vulnérable avec un faible taux de faux positifs (voir la liste des trophées)
  • Identifie où l'erreur se produit dans le code source
  • S'intègre facilement dans l'intégration continue et les builds Hardhat/Foundry
  • Les 'printers' intégrés rapportent rapidement les informations cruciales du contrat
  • API de détecteur pour écrire des analyses personnalisées en Python
  • Capacité à analyser des contrats écrits avec Solidity >= 0.4
  • La représentation intermédiaire (SlithIR) permet des analyses simples et de haute précision
  • Analyse correctement 99,9 % de tout le code Solidity public
  • Temps d'exécution moyen inférieur à 1 seconde par contrat
  • S'intègre avec le scan de code de GitHub dans l'IC
  • Prise en charge des contrats intelligents Vyper

Utilisation

Exécutez Slither sur une application Hardhat/Foundry/Dapp/Brownie :```console slither .

C'est l'option préférée si votre projet a des dépendances, car Slither s'appuie sur le framework de compilation sous-jacent pour compiler le code source.

Cependant, vous pouvez exécuter Slither sur un seul fichier qui n'importe pas de dépendances :```console
slither tests/uninitialized.sol

Comment installer

Remarque Slither nécessite Python 3.10+. Si vous n'utilisez pas l'un des frameworks de compilation pris en charge, vous avez besoin de solc, le compilateur Solidity ; nous recommandons d'utiliser solc-select pour basculer facilement entre les versions de solc.

Utiliser uv (Recommandé)

uv est un gestionnaire de paquets Python rapide qui est 10 à 100 fois plus rapide que pip.```console

Install uv if you haven't already

curl -LsSf https://astral.sh/uv/install.sh | sh

Install slither as a tool

uv tool install slither-analyzer

Or run slither without installation

uvx --from slither-analyzer slither

Pour mettre à niveau:```console
uv tool upgrade slither-analyzer

Utilisation de Pip```console

python3 -m pip install slither-analyzer

Pour mettre à niveau :```console
python3 -m pip install --upgrade slither-analyzer

Utilisation de Brew```console

brew install slither-analyzer

### Utilisation de Git (Développement)```bash
git clone https://github.com/crytic/slither.git && cd slither

# Install as editable for development
uv tool install -e .

# Or use uv run for testing without installation
uv run slither <target>

Le drapeau -e installe en mode éditable, ce qui signifie que les modifications du code source sont immédiatement appliquées sans réinstallation.

Utilisation de Docker

Utilisez l'image docker eth-security-toolbox. Elle inclut tous nos outils de sécurité et chaque version majeure de Solidity dans une seule image. /home/share sera monté sur /share dans le conteneur.```bash docker pull trailofbits/eth-security-toolbox

Pour partager un répertoire dans le conteneur :```bash
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox

Intégration

  • Pour l'intégration avec GitHub Action, utilisez slither-action.
  • Pour l'intégration pre-commit, utilisez (remplacez $GIT_TAG par le vrai tag) ```YAML
  • Pour générer un rapport Markdown, utilisez slither [target] --checklist.
  • Pour générer un Markdown avec mise en évidence du code source GitHub, utilisez slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/ (remplacez ORG, REPO, COMMIT)

Détecteurs

Catégories