Introducción y Resumen Ejecutivo
Plataforma de Evaluación Automática de Vulnerabilidades
Desarrollado por Alberto Pizzi y Maximiliano Maglio como proyecto de tesis de grado.
TVAPyMM es una plataforma automatizada de escaneo de seguridad diseñada para permitir a desarrolladores y administradores registrar proyectos web, ejecutar auditorías automáticas de seguridad contra categorías del OWASP Top 10, realizar el seguimiento de hallazgos históricos y generar reportes ejecutivos listos para su descarga.
La plataforma implementa una arquitectura basada en plugins, lo que facilita enormemente la incorporación de nuevos módulos y reglas de seguridad. El motor de análisis realiza peticiones asíncronas y concurrentes a través de la red empleando Kotlin Coroutines, consolidando los resultados en reportes formateados en Markdown de excelente calidad visual.
🚀 Características Clave
- Sistema de Plugins Extensible: Diseñado para crecer. Cada escáner de categorías de OWASP es un componente de Spring (
@Component) desacoplado que se registra automáticamente mediante inyección de dependencias. - Escaneo Concurrente de Alto Rendimiento: Utiliza Kotlin Coroutines en el backend para despachar y ejecutar múltiples escáneres simultáneamente sin bloquear hilos.
- Autenticación con Auth0: Integración nativa con Spring Security como Servidor de Recursos (OAuth2 Resource Server) que valida de manera stateless la firma de los tokens JWT de Auth0.
- Seguimiento Detallado de Hallazgos: Soporte para categorización de análisis (SAST, DAST, IAST y SCA), detallando la evidencia, nivel de riesgo/severidad (Bajo, Medio, Alto, Crítico) y recomendaciones de remediación.
- Generación de Reportes en Markdown: Genera informes ejecutivos e informes técnicos completos y los almacena directamente en la nube.
- Almacenamiento Híbrido (Local o Cloud): Permite cambiar con un simple parámetro de configuración entre almacenar reportes en un bucket de Oracle Cloud (OCI) con enlaces de descarga temporales de 7 días, o guardarlos directamente en el sistema de archivos del servidor local.
- Panel de Control React Dashboard: Interfaz moderna, rápida y responsiva programada con React + TypeScript y compilada mediante Vite.
- Entorno de Desarrollo Dockerizado: Incluye configuraciones de Docker Compose con soporte de recarga rápida de código en vivo (vía Docker Compose Watch) para agilizar las iteraciones de desarrollo backend.
🛠️ Tecnologías Utilizadas
| Capa | Tecnologías |
|---|---|
| Frontend | React, TypeScript, Vite, ESLint, React Router, HSL CSS |
| Backend | Spring Boot 3.5, Kotlin 1.9, Coroutines, Spring Security OAuth2 Resource Server |
| Persistencia | PostgreSQL, Spring Data JPA, Hibernate, H2 (para entorno de pruebas) |
| Autenticación | Auth0 Universal Login, Validación Stateless de firmas de JWT |
| Almacenamiento | Oracle Cloud Object Storage / SDK de OCI compatible con S3 (para reportes) |
| DevOps | Docker, Docker Compose, Docker Compose Watch |
🏁 Guía de Inicio Rápido
Para desplegar y ejecutar el ecosistema completo de TVAPyMM localmente, es necesario iniciar el Backend, el Frontend y opcionalmente la Aplicación Vulnerable de Prueba para realizar análisis interactivos.
1. Requisitos Previos
Asegúrese de contar con lo siguiente en su máquina:
- Docker & Docker Compose
- Node.js (v20+) & pnpm
- Java 21 JDK (si desea compilar el backend manualmente sin Docker)
2. Comandos de Inicio
# 1. Clonar el repositorio e ingresar a la carpeta del proyecto
cd thesis
# 2. Iniciar el contenedor de prueba vulnerable (en una terminal dedicada)
cd TVAPyMM-VulnerableApp
./run.sh
# 3. Levantar la base de datos Postgres y el backend (con recarga automática en vivo)
cd ../TVAPyMM-back
docker compose watch
# 4. Iniciar el servidor web del Frontend React
cd ../TVAPyMM-front
npm install
npm run dev
Una vez iniciados los servicios, abra la dirección local en su navegador (generalmente http://localhost:5173) e inicie sesión utilizando el panel de Auth0 para comenzar a crear y escanear proyectos.
Lea el Capítulo II: Informe Final de Tesis completo, el cual abarca toda la justificación, marco teórico, diseño y validación del ecosistema TVAPyMM.
También puede visitar la guía del Capítulo IV: Plugins de Escaneo para aprender a programar su primer checker de seguridad.