-
Notifications
You must be signed in to change notification settings - Fork 973
Home
- Usage: How to use Slither
- Advanced Usage: How to build custom analyses
- Developer installation: How to extend Slither
We're happy to offer bounties for contributions to Slither! Please review Gitcoin for a list of available bounties.
Upon any new release, Trail of Bits may consider sending a bounty payment to any PR that was not covered by Gitcoin. In these cases, we will send an automated payment to the email in your git log
via PayPal.
In general, we are interested in and would like to see contributions of:
- Detector modules for new conditions and vulnerability patterns
- Enhancements to existing detector modules to improve confidence in the analysis
- Enhancements and refinements to the SlithIR intermediate representation
- Architectural and code quality improvements of any kind
- Bugfixes of any kind
- 3rd-party writeups and blogs that demonstrate advanced usage of Slither
- Help with any issues labeled "good first issue" or "help wanted"
You may have installed solcjs, not solc. Slither requires solc. Install one of the binary packages, e.g., via apt-get, and Slither will work.
Slither requires Python3. If you are on macOS, run:
brew install python3
pip3 install slither-analyzer
Several printers use the dot format. To install it on Ubuntu, run:
apt install graphviz
To install it on macOS, run:
brew install graphviz
Additionally, you can open dot files directly with xdot.
To install it on Ubuntu, run:
apt install xdot
To install it on macOS, run:
brew install xdot
Truffle does not handle projects where two different contracts share the same name (see https://github.com/trufflesuite/truffle/issues/1087). If slither fails to run:
- Ensure that all the contracts have a unique name.
- Remove the
build
directory to remove any previous truffle files