Skip to content

MIESC 6.4.0 - Guía de Instalación Completa

English Version

Esta guía cubre la instalación completa de MIESC desde cero, incluyendo todas las dependencias y herramientas.

Tabla de Contenidos

  • Instalación Rápida
  • Requisitos del Sistema
  • Instalación Paso a Paso
  • Instalación de Herramientas por Capa
  • Instalación con Docker
  • Verificación
  • Solución de Problemas

Instalación Rápida

Para usuarios que quieren comenzar rápidamente con funcionalidad básica:

# Clonar repositorio
git clone https://github.com/fboiero/MIESC.git
cd MIESC

# Instalar MIESC y dependencias core (Slither viene incluido)
pip install -e .

# Instalar los compiladores de Solidity que Slither va a necesitar (se eligen por pragma)
pip install solc-select
solc-select install 0.4.26 0.5.17 0.6.12 0.7.6 0.8.20

# Verificar instalación
python scripts/verify_installation.py
miesc doctor

Requisitos del Sistema

Requisitos Mínimos

Componente Requisito
SO macOS 12+, Ubuntu 20.04+, Windows 10+ (WSL2)
Python 3.12 o superior
Memoria 8 GB RAM
Disco 5 GB espacio libre

Requisitos Recomendados

Componente Requisito
SO macOS 14+, Ubuntu 22.04+
Python 3.12+
Memoria 16 GB RAM
Disco 20 GB espacio libre (para todas las herramientas)
Node.js 18+ (para Solhint)
Rust 1.70+ (para Aderyn, Foundry)
Go 1.21+ (para Medusa)

Instalación Paso a Paso

Paso 1: Clonar Repositorio

git clone https://github.com/fboiero/MIESC.git
cd MIESC

Paso 2: Crear Entorno Virtual (Recomendado)

python3.12 -m venv .venv
source .venv/bin/activate  # Linux/macOS
# o: .venv\Scripts\activate  # Windows

Paso 3: Instalar MIESC

# Instalación básica
pip install -e .

# Instalación completa (todas las dependencias opcionales)
pip install -e .[full]

# Instalación de desarrollo
pip install -e .[dev]

Paso 4: Instalar Compilador de Solidity

pip install solc-select
# Una versión por cada línea mayor que analices. MIESC elige, por contrato, la
# versión instalada que satisface su pragma (SmartBugs-curated es mayormente 0.4.x).
solc-select install 0.4.26 0.5.17 0.6.12 0.7.6 0.8.20
solc-select use 0.8.20

# Verificar
solc --version

Paso 5: Verificar las Herramientas de Análisis Core

Slither es dependencia core de MIESC, así que ya está instalado. Aderyn y Solhint completan la capa estática usada en los papers (cargo install aderyn, npm install -g solhint).

# Verificar
slither --version

Instalación de Herramientas por Capa

MIESC integra 50 herramientas distribuidas en 35 módulos de análisis, organizadas en 9 capas de defensa. Instala las herramientas según tus necesidades.

Capa 1: Análisis Estático (3 herramientas)

Herramienta Instalación Requerida
Slither incluido en pip install miesc Sí
Aderyn cargo install aderyn Recomendada
Solhint npm install -g solhint Recomendada
# Instalar el resto de las herramientas de Capa 1 (Slither viene con MIESC)
cargo install aderyn
npm install -g solhint

Capa 2: Pruebas Dinámicas (4 herramientas)

Herramienta Instalación Notas
Echidna Binario de releases Fuzzer basado en propiedades
Medusa Binario de releases Fuzzer guiado por cobertura
Foundry curl -L foundry.paradigm.xyz \| bash && foundryup Toolkit completo
DogeFuzz Incluido Sin instalación externa
# Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup

# Echidna (macOS)
brew install echidna

# Echidna (Linux) - descargar de GitHub releases
wget https://github.com/crytic/echidna/releases/latest/download/echidna-linux-x86_64.tar.gz
tar -xzf echidna-linux-x86_64.tar.gz
sudo mv echidna /usr/local/bin/

# Medusa - descargar de GitHub releases
# https://github.com/crytic/medusa/releases

Capa 3: Ejecución Simbólica (3 herramientas)

Herramienta Instalación Notas
Mythril pip install mythril Puede conflictuar con slither
Manticore pip install manticore[native] Solo Python 3.10
Halmos pip install halmos Integración con Foundry
# Mythril (instalar en venv separado si hay conflictos)
pip install mythril

# Halmos
pip install halmos

# Manticore (requiere Python 3.10)
# Mejor instalado en Docker o entorno separado

Capa 4: Verificación Formal (3 herramientas)

Herramienta Instalación Notas
Certora certora.com Comercial, tier gratuito
SMTChecker Incluido con solc Incorporado
Wake pip install eth-wake Framework Python
pip install eth-wake

Capa 5: Análisis con IA (6 herramientas)

Herramienta Instalación Notas
SmartLLM Incluido + Ollama Análisis LLM local
GPTScan Incluido Requiere clave API de OpenAI
LLMSmartAudit Incluido LLM multi-agente
GPTLens Incluido Auditor/crítico LLM
LlamaAudit Incluido + Ollama Análisis basado en Llama
iAudit Incluido Auditor LLM afinado
# Instalar Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Descargar los modelos por defecto
ollama pull qwen2.5-coder:14b   # análisis de código (~9 GB)
ollama pull qwen2.5-coder:32b   # verificación (~20 GB, 24+ GB de RAM)

Capa 6: Detección ML (5 herramientas)

Herramienta Instalación Notas
DA-GNN Incluido Red neuronal de grafos
SmartBugs-ML Incluido Clasificador ML
SmartBugs-Detector Incluido Detección de categorías SWC
SmartGuard Incluido Coincidencia de patrones
Peculiar Incluido ML sobre flujo de datos crucial

Todas incluidas, sin instalación externa requerida.

Capa 7: Análisis Especializado (7 herramientas)

Herramienta Instalación Notas
Threat Model Incluido Modelado de amenazas
Gas Analyzer Incluido Optimización de gas
MEV Detector Incluido Exposición a MEV
Clone Detector Incluido Detección de clones
DeFi Incluido Flash loan, oracle
Advanced Detector Incluido Rug pull, honeypot
Upgradability Checker Incluido Riesgos de proxy/upgradability

Todas incluidas, sin instalación externa requerida.

Las Capas 8–9 (Seguridad Cross-Chain y ZK, Ensemble Avanzado de IA) son módulos experimentales del roadmap multi-chain; el core EVM son las Capas 1–7.

Capa 8: Seguridad Cross-Chain y ZK (5 herramientas)

Herramienta Instalación Notas
Cross-Chain Incluido Riesgos cross-chain
ZK Circuit cargo install circomspect Análisis de circuitos ZK
Bridge Monitor Incluido Seguridad de bridges
L2 Validator Incluido Chequeos específicos de L2
Circom Analyzer npm install -g circom snarkjs Análisis Circom/Noir
# Para análisis de circuitos ZK
cargo install circomspect
npm install -g circom snarkjs

Capa 9: Ensemble Avanzado de IA (5 herramientas)

Herramienta Instalación Notas
LLMBugScanner Incluido + Ollama Modelo deepseek-coder
Audit Consensus Incluido Consenso multi-LLM
Exploit Synthesizer Incluido Síntesis de PoC de exploit
Vuln Verifier Incluido Verificación de hallazgos
Remediation Validator Incluido Validación de correcciones

Instalación con Docker

Para un entorno completo y aislado con todas las herramientas preinstaladas:

ARM64 (Apple Silicon)

docker build -t miesc:local .
docker run --rm -v $(pwd):/contracts miesc:local audit quick /contracts/MiContrato.sol

x86_64 (Intel/AMD)

docker build --platform linux/amd64 -f Dockerfile.x86 -t miesc:local-x86 .
docker run --platform linux/amd64 --rm -v $(pwd):/contracts miesc:local-x86 audit quick /contracts/MiContrato.sol

Imagen Pre-construida

# Descargar de GitHub Container Registry
docker pull ghcr.io/fboiero/miesc:latest    # Estándar (multi-arch, ~2-3GB)
docker pull ghcr.io/fboiero/miesc:full      # Completa - solo amd64 (~4GB)

# Ejecutar auditoría
docker run --rm -v $(pwd):/contracts ghcr.io/fboiero/miesc:latest audit quick /contracts/MiContrato.sol

# O construir localmente (usar el script de build para compatibilidad ARM)
./scripts/build-images.sh standard
./scripts/build-images.sh full              # En ARM: solicita confirmación para build nativo
docker run --rm -v $(pwd):/contracts miesc:latest audit quick /contracts/MiContrato.sol

Verificación

Después de la instalación, verifica que todo funciona:

# Ejecutar script de verificación
python scripts/verify_installation.py

# O usar el CLI
miesc doctor

Salida esperada:

MIESC v6.4.0 - Installation Verification
============================================================

1. Python Environment
----------------------------------------
  [OK] Python 3.12.x

2. Core Python Dependencies
----------------------------------------
  [OK] slither-analyzer (0.11.x)
  [OK] pydantic (2.x)
  ...

2b. Optional Python Extras
----------------------------------------
  [WARN] scikit-learn - optional, install with: pip install 'miesc[ml]'
  ...

5. MIESC Adapter Registration
----------------------------------------
  [OK] All 50/50 adapters registered
  [OK] 43/50 tools currently available (run `miesc doctor` for the list)

Resumen de Instalación
============================================================
¡MIESC está listo para usar!

Solo Python y las dependencias core deciden el código de salida; las herramientas opcionales que falten se informan como [WARN]. La cantidad de herramientas disponibles depende de lo que hayas instalado. (El script imprime en inglés.)


Solución de Problemas

Falla la instalación de Mythril

Mythril puede conflictuar con slither-analyzer debido a requisitos de versión de z3-solver.

Solución: Instala Mythril en un entorno virtual separado o usa Docker:

# Opción 1: venv separado
python3 -m venv mythril-env
source mythril-env/bin/activate
pip install mythril

# Opción 2: Docker
docker run -it mythril/myth analyze /ruta/a/contrato.sol

Manticore en ARM (Apple Silicon)

Manticore requiere arquitectura x86_64 y Python 3.10.

Solución: Usa Docker con emulación:

docker build --platform linux/amd64 -f Dockerfile.x86 -t miesc:x86 .

Problemas de versión de solc

solc-select install 0.8.20
solc-select use 0.8.20

Ollama no responde

# Iniciar servicio de Ollama
ollama serve &

# Verificar estado
ollama list

# Descargar los modelos por defecto
ollama pull qwen2.5-coder:14b

Falta Rust/Cargo

# Instalar Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

Falta Node.js/npm

# macOS
brew install node

# Ubuntu
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

Errores de permiso denegado

# Arreglar permisos de pip
pip install --user -e .

# O usar entorno virtual
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Próximos Pasos

Después de la instalación:

  1. Inicio Rápido: miesc audit quick contrato.sol
  2. Auditoría Completa: miesc audit full contrato.sol
  3. API REST local: python -m miesc.api.rest --host 127.0.0.1 --port 8000
  4. Reportes estáticos: python -m miesc.utils.web_dashboard --results ./results --output ./dashboard
  5. Reproducir los resultados del paper: REPRODUCE.md
  6. Documentación: fboiero.github.io/MIESC

Soporte


Versión: 6.4.0 | Última Actualización: Octubre 2026