Generador interactivo de reportes de auditoría de Smart Contracts.
Registra vulnerabilidades Web3 (SWC Registry), visualiza estadísticas de impacto financiero en tiempo real y exporta informes corporativos como HTML autocontenido o PDF (impresión nativa del navegador).
Versión actual: 1.0.0-beta (Web3 Fork)
Pentestify/
├── index.html # Frontend SPA (Formularios Web3 adaptados)
├── run.py # Script para iniciar el servidor
├── requirements.txt # Dependencias Python
├── Dockerfile # Imagen Docker
├── css/
│ └── styles.css # Estilos CSS vanilla
├── js/
│ └── app.js # Aplicación Vanilla JavaScript (Lógica e interfaz)
├── assets/ # Imágenes y recursos estáticos
└── backend/ # API FastAPI
├── main.py # Endpoints y lógica principal de auditoría
├── models.py # Modelos SQLAlchemy (Estructuras de contratos y redes)
├── schemas.py # Esquemas Pydantic
├── database.py # Configuración SQLite
├── migrations.py # Migraciones de base de datos
└── tests/ # Tests pytest
├── conftest.py
├── test_api_info.py
├── test_reports.py
├── test_findings.py
├── test_findings_reorder.py
├── test_findings_delete_reorder.py
├── test_pdf_export.py
├── test_database_io.py
└── test_static_files.py
Docker es la forma más rápida y sencilla de ejecutar Pentestify Web3 de manera local y aislada.
# 1. Construir imagen
docker build -t pentestify-web3:latest .
# 2. Ejecutar contenedor
docker run -d \
-p 8000:8000 \
-v pentestify_web3_data:/app/data \
--name pentestify-web3 \
pentestify-web3:latestEl servidor estará disponible en: http://localhost:8000
Si prefieres no usar contenedores, puedes levantar el entorno manualmente en tu máquina Linux:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 run.pyEl servidor estará disponible en: http://localhost:8000
Los datos se almacenan localmente en pentestify.db (SQLite) empleando dos tablas relacionales optimizadas para blockchain:
- reports - Datos generales de la auditoría (Cliente, Repositorio de GitHub, Commit auditado, Redes/Blockchains y Direcciones de Contratos
0x...). - findings - Vulnerabilidades Web3 asociadas a cada reporte (Reentrancy, Manipulación de Oráculos, Control de Acceso, lógicas complejas DeFi, clasificados según el estándar SWC Registry).
- Los datos del reporte se guardan automáticamente 2 segundos después de detectar cualquier cambio en la interfaz.
- Los hallazgos y evidencias de código (PoC en Solidity/Rust) se guardan inmediatamente al agregarlos.
- Desde el navbar puedes gestionar tu historial completo de proyectos.
- Lista todos los reportes guardados con su respectiva fecha, número de hallazgos críticos y TVL expuesto.
- Botones directos para cargar, editar o eliminar registros de manera permanente.
La suite de pruebas automatizadas garantiza la integridad del sistema antes de procesar o exportar informes sensibles.
# Desde la raíz del proyecto
python -m pytest backend/tests/ -v
# O desde el directorio backend
cd backend
python -m pytest tests/ -v# Solo tests de reportes/proyectos
python -m pytest backend/tests/test_reports.py -v
# Solo tests de hallazgos/vulnerabilidades
python -m pytest backend/tests/test_findings.py -vPentestify Web3 equilibra la asincronía de un backend rápido en Python con un frontend SPA ultraligero que permite un renderizado limpio de bloques de código (Proofs of Concept).
