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