Ethereum Smart Contract Auditing with Slither: Solidity Security Analysis

Added:

Intro to Slither
Running Slither
Analyzing Results
Detector Details
Wiki & Use
Test Cases
Real-World Usage

Intro to Slither

0:00
Playing Section
  • 1

    Slither is a static analysis tool for smart contracts.

  • 2

    Developed by Trail of Bits, written in Python, simple to install.

  • 3

    Compiles Solidity to EVM and then to an intermediate representation.

Intermediate proficiency in Solidity programming, including a strong understanding of state variables, inheritance, visibility modifiers, and fallback/receive functions.
Fundamental knowledge of the Ethereum Virtual Machine (EVM) execution model, gas mechanics, and how smart contracts interact via message calls.
Familiarity with common smart contract vulnerability concepts, particularly reentrancy, integer overflows/underflows, and access control flaws.
Basic command-line interface (CLI) navigation and python/pip environment management needed to install and execute developer tools.
Writing custom Slither detectors in Python to identify project-specific business logic vulnerabilities and enforce custom style guides.
Integrating Slither and other static analysis tools into CI/CD pipelines (e.g., GitHub Actions) for automated security regression testing.
Transitioning to dynamic analysis techniques, such as smart contract fuzzing with Echidna or invariant testing using Foundry.
Studying formal verification methods and tools like Certora or the Solidity SMTChecker to mathematically prove contract correctness.
Developing a professional auditing methodology, including manual code review practices and drafting formal vulnerability reports.
6.4K views130likes13:48@fuzzinglabsOriginal Release: 2022-06-16

Slither is a Python-based static analysis tool developed by Trail of Bits that analyzes Ethereum smart contracts by compiling them into EVM bytecode and translating it to an intermediate representation (Slither IR) to detect security vulnerabilities such as arbitrary Ether sends, reentrancy attacks, and constructor-related issues; the tool provides detailed reports with line numbers, vulnerability severity levels (impact and confidence), and links to explanatory documentation, making it essential for smart contract security audits.