Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Pentestify Web3 Logo

Pentestify Web3

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).

Version 1.0.0-beta Maintained Web3 DeFi License MIT

Versión actual: 1.0.0-beta (Web3 Fork)


Estructura del Proyecto

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

🐳 Instalación y Uso (Docker - Recomendado)

Docker es la forma más rápida y sencilla de ejecutar Pentestify Web3 de manera local y aislada.

Comando rápido (copiar y pegar)

# 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:latest

El servidor estará disponible en: http://localhost:8000


🖥️ Instalación Manual (Sin Docker)

Si prefieres no usar contenedores, puedes levantar el entorno manualmente en tu máquina Linux:

1. Instalar dependencias del backend

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 run.py

El servidor estará disponible en: http://localhost:8000


Base de Datos (Persistencia Web3)

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).

Funcionalidades de Persistencia

Guardado automático

  • 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.

Mis Auditorías / Reportes

  • 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.

Testing

La suite de pruebas automatizadas garantiza la integridad del sistema antes de procesar o exportar informes sensibles.

Ejecutar todos los tests

# Desde la raíz del proyecto
python -m pytest backend/tests/ -v

# O desde el directorio backend
cd backend
python -m pytest tests/ -v

Tests específicos

# 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 -v

Tecnologías

Pentestify 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).


Innovación Tecnológica Capacidades Clave Función y Valor de UX
Frontend Icon FRONTEND
SPA Ultraligera
  • Vanilla JavaScript (ES6+)
  • Pure CSS (Vanilla)
  • Inter Font Family (Optimized)
Experiencia de Auditoría Fluida.
Navegación instantánea en una sola página (SPA). El diseño está optimizado para facilitar la revisión de grandes bloques de código de contratos e inyección de PoCs de Foundry o Hardhat.
Backend Icon BACKEND
API Asíncrona
  • FastAPI
  • Python 3.x
  • Uvicorn / Gunicorn
Rendimiento Asíncrono.
Manejo ágil de peticiones concurrentes. El backend asegura que el guardado automático del código vulnerable y las recomendaciones de mitigación Web3 no bloqueen la interfaz del auditor.
Database Icon PERSISTENCIA
Datos Relacionales
  • SQLite
  • SQLAlchemy (ORM)
  • Pydantic
Datos Estructurados y Seguros.
Persistencia local robusta. SQLAlchemy mapea de forma relacional el árbol de hallazgos por contrato, mientras Pydantic valida que los vectores de ataque cumplan las directrices técnicas del informe.
Docker Icon DESPLIEGUE
Infraestructura
  • Docker Engine
  • Multistage Builds
Entorno Portable e Independiente.
Configuración de infraestructura en segundos en entornos Linux o servidores locales, listo para operar de forma 100% privada sin salida a internet si el código auditado es confidencial.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages