MIESC v5.4.3 - Guía de Instalación Completa¶
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
pip install -e .
# Instalar Slither (requerido para análisis básico)
pip install slither-analyzer
# Verificar instalación
python scripts/verify_installation.py
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¶
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
solc-select install 0.8.20
solc-select use 0.8.20
# Verificar
solc --version
Paso 5: Instalar Herramientas de Análisis Core¶
Instalación de Herramientas por Capa¶
MIESC integra 50 adaptadores de herramientas organizados en 9 capas. Instala las herramientas según tus necesidades.
Capa 1: Análisis Estático (3 herramientas)¶
| Herramienta | Instalación | Requerida |
|---|---|---|
| Slither | pip install slither-analyzer | Sí |
| Aderyn | cargo install aderyn | Recomendada |
| Solhint | npm install -g solhint | Recomendada |
# Instalar todas las herramientas de Capa 1
pip install slither-analyzer
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 |
Capa 5: Pruebas de Propiedades (2 herramientas)¶
| Herramienta | Instalación | Notas |
|---|---|---|
| PropertyGPT | Incluido | Generación de CVL |
| Vertigo | pip install vertigo-rs | Pruebas de mutación |
Capa 6: Análisis IA/LLM (4 herramientas)¶
| Herramienta | Instalación | Notas |
|---|---|---|
| SmartLLM | Incluido + Ollama | Análisis LLM local |
| GPTScan | Incluido | Requiere clave API de OpenAI |
| LLMSmartAudit | Incluido | LLM multi-agente |
| LLMBugScanner | Incluido + Ollama | Modelo deepseek-coder |
# Instalar Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Descargar modelos requeridos
ollama pull deepseek-coder:6.7b
ollama pull codellama
Capa 7: Reconocimiento de Patrones / ML (4 herramientas)¶
| Herramienta | Instalación | Notas |
|---|---|---|
| DA-GNN | Incluido | Red neuronal de grafos |
| SmartGuard | Incluido | Coincidencia de patrones |
| SmartBugs-ML | Incluido | Clasificador ML |
| ContractCloneDetector | Incluido | Detección de clones |
Todas incluidas, sin instalación externa requerida.
Capa 8: Seguridad DeFi (4 herramientas)¶
| Herramienta | Instalación | Notas |
|---|---|---|
| DeFi Analyzer | Incluido | Flash loan, oracle |
| MEV Detector | Incluido | Exposición a MEV |
| Gas Analyzer | Incluido | Optimización de gas |
| CrossChain | Incluido | Riesgos cross-chain |
Todas incluidas, sin instalación externa requerida.
Capa 9: Detección Avanzada (4 herramientas)¶
| Herramienta | Instalación | Notas |
|---|---|---|
| Advanced Detector | Incluido | Rug pull, honeypot |
| SmartBugs Detector | Incluido | Categorías SWC |
| Threat Model | Incluido | Modelado de amenazas |
| ZK Circuit | cargo install circomspect | Análisis ZK |
Instalación con Docker¶
Para un entorno completo y aislado con todas las herramientas preinstaladas:
ARM64 (Apple Silicon)¶
docker build -t miesc:v5.4.3 .
docker run --rm -v $(pwd):/contracts miesc:v5.4.3 audit quick /contracts/MiContrato.sol
x86_64 (Intel/AMD)¶
docker build --platform linux/amd64 -f Dockerfile.x86 -t miesc:v5.4.3-x86 .
docker run --platform linux/amd64 --rm -v $(pwd):/contracts miesc:v5.4.3-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 v5.4.3 - Verificación de Instalación
============================================================
1. Entorno Python
----------------------------------------
[OK] Python 3.12.x
2. Dependencias Core de Python
----------------------------------------
[OK] slither-analyzer (0.10.x)
[OK] django (5.x)
[OK] djangorestframework (3.14.x)
...
5. Registro de Adaptadores MIESC
----------------------------------------
[OK] Todos los 50/50 adaptadores registrados
[OK] XX herramientas actualmente disponibles
Resumen de Instalación
============================================================
¡MIESC está listo para usar!
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:
Problemas de versión de solc¶
Ollama no responde¶
# Iniciar servicio de Ollama
ollama serve &
# Verificar estado
ollama list
# Descargar modelos requeridos
ollama pull deepseek-coder:6.7b
Falta Rust/Cargo¶
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:
- Inicio Rápido:
miesc audit quick contrato.sol - Auditoría Completa:
miesc audit full contrato.sol - API REST local:
python -m miesc.api.rest --host 127.0.0.1 --port 8000 - Reportes estáticos:
python -m src.utils.web_dashboard --results analysis/results --output analysis/dashboard - Documentación: fboiero.github.io/MIESC
Soporte¶
- Issues: github.com/fboiero/MIESC/issues
- Email: fboiero@frvm.utn.edu.ar
- Documentación: fboiero.github.io/MIESC
Versión: 5.4.3 | Última Actualización: Mayo 2026