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