Slither is a Solidity and Vyper static analysis framework written in Python 3. It provides a suite of vulnerability detectors, visualizes contract details via printers, and includes tools for upgradeability checks, mutation testing, and code flattening. Current version: 0.11.5 (requires Python >=3.10). Releases occur several times per year.
pip install slither-analyzerNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Basic usage: load a contract, iterate over its structure, and run all built-in detectors.
Upgrade to Python 3.10+ or pin slither-analyzer<0.11.5.
Use contract.variables_as_dict() or contract.functions_as_dict() for dictionary access. Refer to the changelog for details.
Install solc-select and set the desired version: pip install solc-select && solc-select install 0.8.20 && solc-select use 0.8.20
Remove --detect similar-names from your command line.
Call slither.run_detectors() with the list of detectors you wish to execute.
pip install crytic-compile
Remove --detect similar-names from your command. Use a different detector or update your scripts.
Install solc (e.g., via solc-select: pip install solc-select && solc-select install 0.8.20 && solc-select use 0.8.20) or ensure solc is in your PATH.