Slither comes with inbuilt tools
Name | Command-Line | What it Does |
---|---|---|
Code Similarity | slither-simil |
Detects similar Solidity functions/contracts using code similarity analysis. Useful for finding duplicated code, similar vulnerabilities, or analyzing large codebases. |
Contract Flattening | slither-flat |
Flattens a Solidity codebase by inlining all imports into a single file. Useful for contract verification on Etherscan or debugging. |
Documentation | slither-doc |
Automatically generates documentation for Solidity contracts, including inheritance information, functions, modifiers, and more. |
Doctor | slither-doctor |
Helps diagnose and fix common issues in your environment that might prevent Slither from working correctly. |
ERC Conformance | slither-check-erc |
Validates whether a contract correctly implements various ERC standards (ERC20, ERC721, etc.) by checking required functions and their signatures. |
Interface | slither-interface |
Generates Solidity interfaces from contract implementations, useful for creating minimal interfaces for contract interactions. |
Mutator | slither-mutate |
Performs mutation testing on Solidity contracts by automatically generating variants with small modifications to test suite effectiveness. |
Path Finding | slither-prop |
Analyzes call paths between functions in smart contracts to understand control and data flow. |
Property Generation | slither-prop |
Automatically generates security properties and unit tests for smart contracts based on their behavior. |
Read Storage | slither-read-storage |
Reads contract storage values directly from the blockchain, helping debug deployed contracts. |
Format | slither-format |
Automatically patch bugs. |
Upgradeability Checks | slither-check-upgradeability |
Analyzes upgradeable contracts for common issues and vulnerabilities in proxy patterns. |