Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
evm-audit-helpers — Coleção de trechos Solidity e scripts Foundry para auditorias de segurança de contratos inteligentes | Kitploit
Ferramentas/GitLabGitLab/dannydoodlesstory/evm-audit-helpers
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoDevSecOpsAprendizado e EducaçãoRecursos Curados
GitLabdannydoodlesstory/evm-audit-helpers

evm-audit-helpers

Coleção de trechos Solidity e scripts Foundry para auditorias de segurança de contratos inteligentes

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
13há 20 diasAinda não revisado
Compartilhar

evm-audit-helpers

GitHub license
GitHub stars
Foundry version
Build Status


Visão Geral

evm-audit-helpers é uma coleção curada de trechos Solidity, scripts Foundry e modelos de teste projetados para acelerar auditorias de segurança de contratos inteligentes EVM. O repositório agrupa blocos de construção reutilizáveis para preocupações comuns de auditoria, como reentrância, incompatibilidades de layout de armazenamento e armadilhas de otimização de gás, permitindo que auditores e desenvolvedores se concentrem na lógica em vez de código repetitivo.

Objetivos principais:

  • Acelerar a preparação de auditorias com verificações e padrões prontos.
  • Garantir consistência nos relatórios de auditoria fornecendo suítes de teste padrão.
  • Facilitar o aprendizado por meio de exemplos bem documentados e diretrizes de melhores práticas.

Recursos

CategoriaDescriçãoArquivos Principais
Verificadores de ReentrânciaModificadores auxiliares, padrões nonReentrant e scripts de detecção em tempo de execução.src/helpers/Reentrancy.sol, scripts/reentrancy_check.sol
Analisador de Layout de ArmazenamentoUtilitários para comparar slots de armazenamento, gerar diagramas de layout e detectar upgrades inseguros.src/helpers/StorageLayout.sol, scripts/storage_analyzer.sol
Modelos de Teste FoundrySuítes de teste padrão cobrindo vulnerabilidades comuns (controle de acesso, aritmética, delegatecall, etc.).test/templates/*
Auditorias de Gás e OpcodesScripts para analisar o uso de gás e sinalizar opcodes caros.scripts/gas_profiler.sol
Auxiliares de RelatóriosGeradores de relatórios JSON/Markdown que podem ser integrados a dashboards de CI.scripts/report_generator.sol
Integração CIExemplo de workflow GitHub Actions para execução automatizada de auditorias..github/workflows/ci.yml

Todos os auxiliares são escritos para Solidity ^0.8.20 e são compatíveis com Foundry (forge, cast).


Início Rápido

root@kitploit:~
# 1️⃣ Clone o repositório
git clone https://github.com/your-org/evm-audit-helpers.git
cd evm-audit-helpers

# 2️⃣ Instale o Foundry (se ainda não estiver instalado)
curl -L https://foundry.paradigm.xyz | bash
foundryup

# 3️⃣ Instale as dependências
forge install

# 4️⃣ Execute a suíte de testes padrão (inclui verificações de reentrância, armazenamento e gás)
forge test

Dica: Adicione export FOUNDRY_PROFILE=ci ao seu shell para usar as configurações do compilador otimizadas para CI.


Uso

1. Verificações de Reentrância

root@kitploit:~
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "evm-audit-helpers/src/helpers/Reentrancy.sol";

contract MyVault is ReentrancyGuard {
    mapping(address => uint256) private balances;

    function deposit() external payable nonReentrant {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint256 amount) external nonReentrant {
        require(balances[msg.sender] >= amount, "Insufficient");
        balances[msg.sender] -= amount;
        (bool ok,) = msg.sender.call{value: amount}("");
        require(ok, "Transfer failed");
    }
}

Execute o detector em tempo de execução em um contrato compilado:

root@kitploit:~
forge script scripts/reentrancy_check.sol:ReentrancyChecker --rpc-url $RPC_URL --broadcast

2. Análise de Layout de Armazenamento

root@kitploit:~
# Gere uma descrição JSON do layout de armazenamento de um contrato compilado
cast abi-storage --contract MyUpgradeable.sol:MyUpgradeable > storage.json

# Compare com um layout de referência (ex.: de uma versão anterior)
forge script scripts/storage_analyzer.sol:StorageComparator \
    --sig "compare(string memory, string memory)" storage.json reference.json

O script exibirá slots incompatíveis, possível shadowing e sugestões para anotações @custom:oz-upgrades-unsafe-allow.

3. Modelos de Teste Foundry

Copie um modelo para o seu repositório de auditoria:

root@kitploit:~
cp -r test/templates/reentrancy/ my-audit/tests/

Edite MyContract.t.sol para importar o contrato sob auditoria e execute:

root@kitploit:~
forge test --match-contract MyContract

4. Integração CI

Adicione o workflow fornecido ao seu repositório:

root@kitploit:~
# .github/workflows/audit.yml
name: EVM Audit

on:
  push:
    branches: [main]
  pull_request:

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Foundry
        run: curl -L https://foundry.paradigm.xyz | bash && foundryup
      - name: Run Audit Suite
        run: |
          forge install
          forge test -vv
          forge script scripts/reentrancy_check.sol:ReentrancyChecker --rpc-url ${{ secrets.RPC_URL }}
          forge script scripts/storage_analyzer.sol:StorageComparator --sig "compare(string,string)" storage.json reference.json

O workflow sinalizará automaticamente falhas e publicará um relatório markdown como comentário no PR.


Contribuindo

Aceitamos contribuições! Siga estes passos:

  1. Faça um fork do repositório e crie um branch de recurso (git checkout -b feat/<nome>).
  2. Escreva testes para qualquer novo auxiliar ou correção de bug. Todo código novo deve ter 100 % de cobertura (forge coverage).
  3. Execute a suíte de linting (npm run lint – usa solhint e prettier).
  4. Envie um Pull Request com uma descrição clara, referência a uma issue (se aplicável) e um breve exemplo de caso de uso de auditoria.

Estilo de Código

  • Solidity: pragma solidity ^0.8.20;
  • Use snake_case para funções internas, camelCase para públicas/externas.
  • Documente todo contrato/interface público com NatSpec (///).

Ambiente de Desenvolvimento

root@kitploit:~
# Instale as ferramentas de linting
npm install

# Execute o solhint
npx solhint 'src/**/*.sol' 'test/**/*.sol'

# Formatação automática
npx prettier --write '**/*.sol'

Licença

evm-audit-helpers é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.


Boas auditorias!

Baixar ferramenta