slither-analyzer
Slither is a Solidity and Vyper static analysis framework written in Python 3.
What it is and what it does
Slither is a Python-based static analysis framework designed to scan Solidity and Vyper smart contracts for security vulnerabilities and code quality issues. It runs a suite of built-in detectors that identify common patterns like uninitialized state variables, arbitrary fund transfers, and storage array misuse, then reports findings with source code locations. The framework also includes 'printers' that generate visual summaries of contract structure and behavior, and exposes an API for developers to write custom analyses in Python.
The tool integrates into development workflows through CI/CD systems, pre-commit hooks, and build frameworks like Hardhat and Foundry. It depends on crytic-compile to handle contract compilation, web3 and eth-utils for blockchain interaction, and pycryptodome for cryptographic operations. Installation is straightforward via pip, though you need Python 3.10+ and a Solidity compiler (solc) if analyzing standalone files outside a supported build framework.
Use it for:
- Scan a Solidity codebase during development to catch high-impact vulnerabilities before deployment
- Integrate Slither into a GitHub Actions workflow to flag security issues on every pull request
- Analyze a Vyper contract for state variable shadowing, uninitialized storage, and other common mistakes
- Write a custom detector in Python to enforce project-specific contract coding rules or patterns
- Generate a markdown checklist report of contract findings for security review or audit documentation
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Slither is a static analysis framework for Solidity and Vyper smart contracts that detects vulnerabilities, generates contract information reports, and provides an API for writing custom analyses.
Yes, with conditions. Slither is actively maintained, has low install friction, and is widely used in the Ethereum ecosystem for contract security analysis. However, the AGPL-3.0 license requires that any modifications or derivative works be released under the same license—ensure this aligns with your project's licensing model before integrating it into proprietary software. For open-source projects or internal security tooling, it is a solid choice.
Install
slither-analyzer on PyPI
pip
pip install slither-analyzeruv
uv add slither-analyzerpoetry
poetry add slither-analyzerInstalling slither-analyzer
Before you install
Low friction: pure Python wheel with 8 runtime dependencies including crytic-compile, web3, and eth-utils. Actively maintained with a release 17 days ago and 6343 repository stars. Requires Python 3.10+.
License in practice
Licensed under AGPL-3.0, which requires that any modifications or derivative works distributed must also be released under AGPL-3.0. This is a copyleft license; using it in proprietary software requires careful consideration of how the code is deployed.
Quickstart
pip install slither-analyzer
slither .
# or on a single file:
slither tests/uninitialized.sol
Requires Python 3.10+. If not using a supported compilation framework (Hardhat, Foundry, Dapp, Brownie), you must have solc (Solidity compiler) installed; solc-select is recommended for version management.
Verify before relying
- Whether the false-positive rate and detector accuracy claims in the description are independently validated
- Current coverage of Vyper detector rules relative to Solidity detectors
- Performance characteristics on large or complex contract suites beyond the stated 'less than 1 second per contract'
Package facts
| License | AGPL-3.0 (agpl) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — crytic-compile, eth-abi, eth-typing, eth-utils, packaging, prettytable, pycryptodome, web3 |
| Maintenance | actively maintained — 17 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 184,500/month — #10,035 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: slither_analyzer-0.11.6-py3-none-any.whl
Keywords: ethereum, security, smart-contracts, solidity, static-analysis, vyper
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
mythrilMythril analyzes EVM bytecode for security…
permissive · top 15,000 on PyPI
eth-brownieBrownie is a Python framework for developing,…
permissive · top 15,000 on PyPI
crytic-compileCrytic-compile abstracts smart contract…
agpl · top 15,000 on PyPI
flawfinderFlawfinder scans C/C++ source code to identify…
copyleft · top 15,000 on PyPI
vyperVyper is a Python-like programming language for…
permissive · top 15,000 on PyPI
ethereum-dasmDisassembles Ethereum EVM bytecode into…
copyleft · top 15,000 on PyPI
checkovCheckov is a static code analysis tool that…
permissive · top 5,000 on PyPI
clvmA LISP-like virtual machine for writing and…
permissive · top 15,000 on PyPI
scan-buildRuns the Clang static analyzer on C/C++…
permissive · top 15,000 on PyPI
solc-selectManages installation and switching between…
agpl · top 15,000 on PyPI