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. |