Saltar al contenido principal

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

CapaTecnologías
FrontendReact, TypeScript, Vite, ESLint, React Router, HSL CSS
BackendSpring Boot 3.5, Kotlin 1.9, Coroutines, Spring Security OAuth2 Resource Server
PersistenciaPostgreSQL, Spring Data JPA, Hibernate, H2 (para entorno de pruebas)
AutenticaciónAuth0 Universal Login, Validación Stateless de firmas de JWT
AlmacenamientoOracle Cloud Object Storage / SDK de OCI compatible con S3 (para reportes)
DevOpsDocker, 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:

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.

¡IMPORTANTE!

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.