Voltar às atualizações
New releaseJul 29, 2026

slither v0.11.6

Analisador Estático para Solidity e Vyper

Compartilhar

Slither, o analisador estático de contratos inteligentes

Slither Static Analysis Framework Logo

Build Status PyPI Slither - Read the Docs Slither - Wiki

Junte-se ao Slack do Empire Hacking

Slack Status

- Discussões e Suporte

Slither é um framework de análise estática para Solidity e Vyper escrito em Python3. Ele executa um conjunto de detectores de vulnerabilidades, exibe informações visuais sobre detalhes dos contratos e fornece uma API para escrever análises personalizadas facilmente. Slither permite que desenvolvedores encontrem vulnerabilidades, melhorem sua compreensão do código e criem protótipos rapidamente de análises personalizadas.

Funcionalidades

  • Detecta código Solidity vulnerável com baixas taxas de falsos positivos (veja a lista de troféus)
  • Identifica onde a condição de erro ocorre no código-fonte
  • Integra-se facilmente em integração contínua e builds Hardhat/Foundry
  • Os 'printers' integrados relatam rapidamente informações cruciais do contrato
  • API de detectores para escrever análises personalizadas em Python
  • Capacidade de analisar contratos escritos com Solidity >= 0.4
  • Representação intermediária (SlithIR) possibilita análises simples e de alta precisão
  • Analisa corretamente 99.9% de todo o código Solidity público
  • Tempo médio de execução de menos de 1 segundo por contrato
  • Integra-se com a varredura de código do Github em CI
  • Suporte para contratos inteligentes Vyper

Uso

Execute o Slither em uma aplicação Hardhat/Foundry/Dapp/Brownie:```console slither .

Esta é a opção preferida se o seu projeto possui dependências, já que o Slither depende da estrutura de compilação subjacente para compilar o código-fonte.

No entanto, você pode executar o Slither em um único arquivo que não importa dependências:```console
slither tests/uninitialized.sol

Como instalar

Nota O Slither requer Python 3.10+. Se você não for usar um dos frameworks de compilação suportados, precisará do solc, o compilador Solidity; recomendamos usar o solc-select para alternar convenientemente entre versões do solc.

Usando uv (Recomendado)

O uv é um gerenciador de pacotes Python rápido, 10 a 100 vezes mais rápido que o pip.```console

Install uv if you haven't already

curl -LsSf https://astral.sh/uv/install.sh | sh

Install slither as a tool

uv tool install slither-analyzer

Or run slither without installation

uvx --from slither-analyzer slither

Para atualizar:```console
uv tool upgrade slither-analyzer

Usando Pip```console

python3 -m pip install slither-analyzer

Para atualizar:```console
python3 -m pip install --upgrade slither-analyzer

Usando Brew```console

brew install slither-analyzer

### Usando Git (Desenvolvimento)```bash
git clone https://github.com/crytic/slither.git && cd slither

# Install as editable for development
uv tool install -e .

# Or use uv run for testing without installation
uv run slither <target>

A flag -e instala em modo editável, o que significa que as alterações no código-fonte são refletidas imediatamente sem necessidade de reinstalação.

Usando Docker

Use a imagem docker eth-security-toolbox. Ela inclui todas as nossas ferramentas de segurança e todas as principais versões do Solidity em uma única imagem. /home/share será montado em /share no contêiner.```bash docker pull trailofbits/eth-security-toolbox

Para compartilhar um diretório no contêiner:```bash
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox

Integração

  • Para integração com GitHub action, use slither-action.
  • Para integração com pre-commit, use (substitua $GIT_TAG pela tag real) ```YAML
  • Para gerar um relatório Markdown, use slither [target] --checklist.
  • Para gerar um Markdown com realce de código fonte do GitHub, use slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/ (substitua ORG, REPO, COMMIT)

Detectores

Categorias