Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
evm-audit-helpers — Colección de fragmentos de Solidity y scripts de Foundry para auditorías de seguridad de contratos inteligentes | Kitploit
Herramientas/GitLabGitLab/dannydoodlesstory/evm-audit-helpers
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoDevSecOpsAprendizaje y EducaciónRecursos Curados
GitLabdannydoodlesstory/evm-audit-helpers

evm-audit-helpers

Colección de fragmentos de Solidity y scripts de Foundry para auditorías de seguridad de contratos inteligentes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
hace 2h 51mAún no revisado
Compartir

evm-audit-helpers

GitHub license
GitHub stars
Foundry version
Build Status


Descripción general

evm-audit-helpers es una colección seleccionada de fragmentos de Solidity, scripts de Foundry y plantillas de pruebas diseñada para acelerar las auditorías de seguridad de contratos inteligentes en EVM. El repositorio agrupa bloques reutilizables para problemas de auditoría comunes como reentrancy, desajustes en el layout de almacenamiento y errores de optimización de gas, permitiendo que los auditores y desarrolladores se centren en la lógica en lugar del código repetitivo.

Objetivos clave:

  • Acelerar la preparación de auditorías con comprobaciones y patrones listos para usar.
  • Garantizar la consistencia en los informes de auditoría proporcionando suites de pruebas estándar.
  • Facilitar el aprendizaje mediante ejemplos bien documentados y guías de mejores prácticas.

Características

CategoríaDescripciónArchivos principales
Comprobadores de ReentrancyModificadores auxiliares, patrones nonReentrant y scripts de detección en tiempo de ejecución.src/helpers/Reentrancy.sol, scripts/reentrancy_check.sol
Analizador de Layout de AlmacenamientoUtilidades para comparar slots de almacenamiento, generar diagramas de layout y detectar actualizaciones inseguras.src/helpers/StorageLayout.sol, scripts/storage_analyzer.sol
Plantillas de Pruebas de FoundrySuites de pruebas base que cubren vulnerabilidades comunes (control de acceso, aritmética, delegatecall, etc.).test/templates/*
Auditorías de Gas y OpcodesScripts para perfilar el uso de gas y marcar opcodes costosos.scripts/gas_profiler.sol
Ayudantes de InformesGeneradores de informes JSON/Markdown que pueden integrarse en paneles de CI.scripts/report_generator.sol
Integración con CIEjemplo de flujo de trabajo de GitHub Actions para ejecuciones de auditoría automatizadas..github/workflows/ci.yml

Todos los ayudantes están escritos para Solidity ^0.8.20 y son compatibles con Foundry (forge, cast).


Inicio rápido

root@kitploit:~
# 1️⃣ Clonar el repositorio
git clone https://github.com/your-org/evm-audit-helpers.git
cd evm-audit-helpers

# 2️⃣ Instalar Foundry (si no está instalado)
curl -L https://foundry.paradigm.xyz | bash
foundryup

# 3️⃣ Instalar dependencias
forge install

# 4️⃣ Ejecutar la suite de pruebas predeterminada (incluye comprobaciones de reentrancy, almacenamiento y gas)
forge test

Consejo: Añade export FOUNDRY_PROFILE=ci a tu shell para usar la configuración del compilador optimizada para CI.


Uso

1. Comprobaciones de Reentrancy

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");
    }
}

Ejecuta el detector en tiempo de ejecución sobre un contrato compilado:

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

2. Análisis del Layout de Almacenamiento

root@kitploit:~
# Generar una descripción JSON del layout de almacenamiento de un contrato compilado
cast abi-storage --contract MyUpgradeable.sol:MyUpgradeable > storage.json

# Comparar con un layout de referencia (por ejemplo, de una versión anterior)
forge script scripts/storage_analyzer.sol:StorageComparator \
    --sig "compare(string memory, string memory)" storage.json reference.json

El script mostrará los slots desajustados, posibles shadowing y sugerencias para anotaciones @custom:oz-upgrades-unsafe-allow.

3. Plantillas de Pruebas de Foundry

Copia una plantilla en tu repositorio de auditoría:

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

Edita MyContract.t.sol para importar el contrato bajo auditoría y ejecuta:

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

4. Integración con CI

Añade el flujo de trabajo proporcionado a tu repositorio:

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

El flujo de trabajo marcará automáticamente los fallos y publicará un informe en Markdown como comentario en la PR.


Contribuciones

¡Agradecemos las contribuciones! Por favor, sigue estos pasos:

  1. Haz un fork del repositorio y crea una rama de funcionalidad (git checkout -b feat/<nombre>).
  2. Escribe pruebas para cualquier nuevo ayudante o corrección de errores. Todo el código nuevo debe tener 100 % de cobertura (forge coverage).
  3. Ejecuta la suite de linting (npm run lint – usa solhint y prettier).
  4. Envía un Pull Request con una descripción clara, referencia a un issue (si corresponde) y un breve ejemplo de caso de uso de auditoría.

Estilo de Código

  • Solidity: pragma solidity ^0.8.20;
  • Usa snake_case para funciones internas y camelCase para públicas/externas.
  • Documenta cada contrato/interfaz pública con NatSpec (///).

Entorno de Desarrollo

root@kitploit:~
# Instalar herramientas de linting
npm install

# Ejecutar solhint
npx solhint 'src/**/*.sol' 'test/**/*.sol'

# Auto‑formatear
npx prettier --write '**/*.sol'

Licencia

evm-audit-helpers está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.


¡Feliz auditoría!

Descargar herramienta