Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses.
It enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.
Features
Run Slither on a Truffle/Embark/Dapp/Etherlime application:
slither .
Run Slither on a single file:
$ slither tests/uninitialized.sol
For additional configuration, see the usage documentation.
Use solc-select if your contracts require older versions of solc.
By default, all the detectors are run.
Contact us to get access to additional detectors.
To run a printer, use --print
and a comma-separated list of printers.
Slither requires Python 3.6+ and solc, the Solidity compiler.
$ pip install slither-analyzer
$ git clone https://github.com/crytic/slither.git && cd slither
$ python setup.py install
We recommend using an Python virtual environment, as detailed in the Developer Installation Instructions, if you prefer to install Slither via git.
Use the eth-security-toolbox
docker image. It includes all of our security tools and every major version of Solidity in a single image. /home/share
will be mounted to /share
in the container. Use solc-select
to switch the Solidity version.
docker pull trailofbits/eth-security-toolbox
To share a directory in the container:
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox
garak checks if an LLM can be made to fail in a way we don't…
Vermilion is a simple and lightweight CLI tool designed for rapid collection, and optional exfiltration…
ADCFFS is a PowerShell script that can be used to exploit the AD CS container…
Tartufo will, by default, scan the entire history of a git repository for any text…
Loco is strongly inspired by Rails. If you know Rails and Rust, you'll feel at…
A data hoarder’s dream come true: bundle any web page into a single HTML file.…