
Analyseur statique pour Solidity et Vyper
Rejoignez le Slack Empire Hacking
- 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.
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
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.
uv est un gestionnaire de paquets Python rapide qui est 10 à 100 fois plus rapide que pip.```console
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install slither-analyzer
uvx --from slither-analyzer slither
Pour mettre à niveau:```console
uv tool upgrade slither-analyzer
python3 -m pip install slither-analyzer
Pour mettre à niveau :```console
python3 -m pip install --upgrade slither-analyzer
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.
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
$GIT_TAG par le vrai tag) ```YAML
slither [target] --checklist.slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/ (remplacez ORG, REPO, COMMIT)