
Una plataforma intencionalmente vulnerable alineada con OWASP para aprender y probar la seguridad de IA, LLM, RAG, MCP e IA agéntica.
Entrena. Rompe. Defiende. Sistemas de IA.
Una plataforma de código abierto para formación en seguridad de IA, red/blue teaming, CTF, benchmarking e investigación. Se ejecuta 100% localmente. Sin nube, sin APIs de pago, ningún dato sale de tu máquina.
La GPU es opcional. Ollama funciona con CPU, pero la inferencia será lenta sin una.
git clone https://github.com/sonuoffsec/DVAP
cd DVAP
cp .env.example .env
docker compose up -d
Abre http://localhost:8080 una vez que todos los contenedores estén saludables. La primera ejecución tarda entre 30 y 60 segundos.
DVAP es una plataforma de código abierto para investigación, formación, benchmarking y red teaming en seguridad de IA, diseñada para ayudar a profesionales de la seguridad, ingenieros de IA, investigadores, estudiantes y organizaciones a comprender cómo fallan los sistemas de IA modernos y cómo defenderlos.
Construida para la era de la IA, DVAP ofrece aplicaciones de IA intencionadamente vulnerables, agentes, sistemas RAG, integraciones MCP y entornos específicos de dominio que pueden ser atacados, analizados, sometidos a benchmarks y asegurados.
A diferencia de los entornos de experimentación de IA basados en la nube, DVAP se ejecuta por completo en tu máquina.
Sin nube. Sin suscripciones. Sin costos de API. Sin dependencia de proveedor.
Las aplicaciones de IA modernas introducen superficies de ataque completamente nuevas:
Sin embargo, no existe una plataforma única que permita a los investigadores aprender, practicar, realizar benchmarks y validar estos ataques de forma segura en un solo lugar.
DVAP aspira a convertirse en la plataforma de código abierto definitiva para la educación, la investigación y la experimentación en seguridad de IA.
DVAP es una de las primeras plataformas que combina laboratorios prácticos de ataques a IA, benchmarking local de LLM, desafíos CTF e informes profesionales en un único entorno autoalojado.
Laboratorios de Seguridad de IA 15 laboratorios intencionadamente vulnerables que cubren técnicas reales de ataque a IA.
Espacio de Trabajo de Investigación Inspecciona prompts, memoria, llamadas a herramientas, documentos recuperados, acciones de agentes y cadenas de ataque.
Benchmarking de Seguridad Evalúa modelos locales y externos contra suites de ataques de seguridad de IA.
Capture The Flag (CTF) Aprende seguridad de IA mediante desafíos guiados, flags, pistas y guías paso a paso.
Motor de Informes Genera hallazgos profesionales e informes de benchmarks mapeados a OWASP LLM Top 10, MITRE ATLAS, CWE y CVSS.
100% Local Ejecuta todo en tu propia máquina. Tus prompts, datos, hallazgos y experimentos nunca salen de tu entorno.

15 laboratorios contenedorizados, cada uno con flags, pistas, guía paso a paso y mapeo a OWASP LLM Top 10 + MITRE ATLAS.
Cada laboratorio se ejecuta en un contenedor Docker aislado con su propio endpoint de LLM respaldado por Ollama.
DVAP está alineado con el OWASP Top 10 para Aplicaciones de Modelos de Lenguaje Grande. Cada categoría se corresponde con uno o más laboratorios dedicados.
8 de 10 categorías cubiertas en 15 laboratorios. LLM04 y LLM10 están en la hoja de ruta de v1.2.
graph TB
User([User Browser]) --> Nginx[Nginx :8080]
Nginx --> Web[Next.js Frontend :3000]
Nginx --> API[FastAPI Backend :8000]
API --> PG[(PostgreSQL)]
API --> Redis[(Redis)]
API --> Qdrant[(Qdrant)]
API --> Sock[Docker Socket]
Sock --> L1[Lab Container]
Sock --> L2[Lab Container]
Sock --> LN[Lab Container ...]
L1 --> Ollama[Ollama :11434]
L2 --> Ollama
LN --> Ollama
subgraph dvap-internal network
Web
API
PG
Redis
Qdrant
end
subgraph dvap-labs network
L1
L2
LN
Ollama
end
Los contenedores de laboratorio están aislados en una red Docker separada. Pueden acceder a Ollama para la inferencia de LLM, pero no pueden acceder a la base de datos, Redis ni Qdrant.
Dos redes Docker mantienen el tráfico de los laboratorios separado de la infraestructura de la plataforma:
dvap-internal (172.20.0.0/24) - PostgreSQL, Redis, Qdrant, API, frontend, Nginxdvap-labs (172.21.0.0/24) - contenedores de laboratorio y OllamaLos contenedores de laboratorio pueden acceder a Ollama y a nada más en la red interna. No pueden acceder a PostgreSQL, Redis ni Qdrant.
Compensación conocida: el contenedor de API monta /var/run/docker.sock para crear y detener contenedores de laboratorio bajo demanda (Docker-out-of-Docker). Esto otorga al proceso de la API un acceso equivalente a root sobre el daemon Docker del host.
Esta es una decisión de diseño intencionada. DVAP es una instalación local de un solo usuario para investigación y formación en seguridad, no un servicio multiinquilino. La compensación se acepta porque:
Si vas a desplegar DVAP en un entorno compartido o en red, sustituye el montaje del socket por un socket Docker rootless o un socket de Podman (/run/user/1000/podman/podman.sock) y restringe el acceso de red de la API en consecuencia.
Las instancias de laboratorio se detienen automáticamente después de 1 hora mediante claves TTL de Redis. Llama a POST /api/v1/instances/cleanup para activar una limpieza anticipada.
Los envíos de flags tienen un límite de 15 intentos por ventana de 60 segundos por token de sesión.
Consulta .env.example para ver todas las variables. Las más importantes que debes cambiar antes de cualquier despliegue en red:
SECRET_KEY= # strong random value for HMAC signing
POSTGRES_PASSWORD= # change from the default
REDIS_PASSWORD= # change from the default
Un solo comando mantiene tu instalación actualizada:
make upgrade
Esto ejecuta git pull y luego reconstruye y reinicia todos los contenedores. Las migraciones de base de datos se ejecutan automáticamente en cada inicio del contenedor de API.
Sin make:
git pull
docker compose up -d --build
.envdiff .env .env.example
# Development (default) - auto-loads docker-compose.override.yml
# Hot reload for API and frontend, source mounted as volumes
docker compose up -d
# Production - baked images, no volume mounts, 4 uvicorn workers
docker compose -f docker-compose.yml up -d
Construye las imágenes antes de la ejecución en producción:
docker build -t dvap-api:latest --target production ./backend
docker build -t dvap-web:latest --target production ./frontend
Las pruebas requieren una instancia de PostgreSQL. Primero inicia la pila:
docker compose up -d postgres
export TEST_DATABASE_URL=postgresql+asyncpg://dvap:<your-postgres-password>@localhost:5432/dvap_test
cd backend
pip install -e ".[dev]"
pytest
¿Quieres contribuir a la hoja de ruta? Abre un issue o inicia una discusión.
DVAP es desarrollado y mantenido por Sonu Chaudhary.
Las contribuciones de la comunidad son bienvenidas y se rigen por las directrices de contribución. La dirección a largo plazo se impulsa a través de GitHub Issues y Discussions. Las adiciones de laboratorios, las propuestas de funcionalidades y las aportaciones a la hoja de ruta se revisan públicamente.
No existe riesgo de punto único de fallo: el repositorio es de código abierto bajo Apache 2.0 y la comunidad puede hacer fork en cualquier momento.
Consulta CONTRIBUTING.md para saber cómo añadir laboratorios, ejecutar pruebas y enviar pull requests.
Apache 2.0 - consulta LICENSE para ver el texto completo.
| DVAP | DVWA | HackTheBox | Gandalf (Lakera) | Blog Posts / Papers |
|---|
| Vulnerabilidades específicas de IA | Sí | No | Parcial | Parcial | Sí (solo teoría) |
| Local, sin nube | Sí | Sí | No | No | N/A |
| 15 laboratorios de IA dedicados | Sí | No | No | No | No |
| Motor de benchmarks de LLM | Sí | No | No | No | No |
| CTF con flags | Sí | Sí | Sí | No | No |
| Cobertura OWASP LLM Top 10 | Completa | No | Parcial | Parcial | Varía |
| Mapeo MITRE ATLAS | Sí | No | No | No | Varía |
| Generación de informes | Sí | No | No | No | No |
| Espacio de trabajo de investigación | Sí | No | No | No | No |
| Seguridad de agentes y MCP | Sí | No | No | No | No |
| Gratuito y de código abierto | Sí | Sí | Parcial | No | Sí |
⚗️ Laboratorios de Seguridad de IA 15 entornos de IA vulnerables contenedorizados para todas las clases principales de ataque |
🚩 Desafíos CTF Flags, pistas y guías paso a paso mapeados a OWASP LLM Top 10 y MITRE ATLAS |
📊 Centro de Benchmarks Evalúa LLM locales contra suites de inyección de prompts, jailbreak y exfiltración de datos |
🔬 Espacio de Trabajo de Investigación Registro completo de trazas de prompts, memoria, llamadas a herramientas y comportamiento de los agentes |
| Laboratorio | Dificultad | OWASP LLM | MITRE ATLAS |
|---|
| Inyección de Prompts | Principiante | LLM01 | AML.T0051, AML.T0054 |
| Envenenamiento de Memoria | Intermedio | LLM02 | AML.T0054 |
| Envenenamiento de RAG | Intermedio | LLM02, LLM03 | AML.T0020, AML.T0043 |
| Inyección de Salida de Herramientas | Intermedio | LLM07 | AML.T0054, AML.T0068 |
| Seguridad de MCP | Avanzado | LLM07 | AML.T0068 |
| Seguridad de Agentes de Navegador | Avanzado | LLM07, LLM09 | AML.T0054 |
| Seguridad Multiagente | Avanzado | LLM08 | AML.T0054 |
| Seguridad de Agentes Autónomos | Avanzado | LLM08, LLM09 | AML.T0054 |
| Exfiltración de Datos | Avanzado | LLM06 | AML.T0057, AML.T0058 |
| Abuso de Identidad y Confianza de Agentes | Avanzado | LLM08 | AML.T0058 |
| Plataforma Bancaria de IA | Intermedio | LLM01, LLM06 | AML.T0043 |
| Entorno de Salud de IA | Avanzado | LLM01, LLM06 | AML.T0043 |
| SaaS de IA Multiinquilino | Avanzado | LLM06 | AML.T0043 |
| Seguridad de la Cadena de Suministro de IA | Experto | LLM03, LLM05 | AML.T0010, AML.T0048 |
| Plataforma de Desarrollo de IA | Experto | LLM03, LLM07 | AML.T0010, AML.T0068 |
| Categoría | Nombre | Laboratorios | Estado |
|---|
| LLM01 | Inyección de Prompts | Inyección de Prompts, Plataforma Bancaria de IA, Entorno de Salud de IA | Cubierto |
| LLM02 | Envenenamiento de Datos y Memoria | Envenenamiento de Memoria, Envenenamiento de RAG | Cubierto |
| LLM03 | Riesgos de la Cadena de Suministro y Datos de Entrenamiento | Envenenamiento de RAG, Seguridad de la Cadena de Suministro de IA, Plataforma de Desarrollo de IA | Cubierto |
| LLM04 | Denegación de Servicio del Modelo | Planificado (v1.2) | |
| LLM05 | Cadena de Suministro Insegura | Seguridad de la Cadena de Suministro de IA | Cubierto |
| LLM06 | Divulgación de Información Sensible | Exfiltración de Datos, Plataforma Bancaria de IA, Entorno de Salud de IA, SaaS de IA Multiinquilino | Cubierto |
| LLM07 | Diseño Inseguro de Plugins | Inyección de Salida de Herramientas, Seguridad de MCP, Seguridad de Agentes de Navegador, Plataforma de Desarrollo de IA | Cubierto |
| LLM08 | Agencia Excesiva | Seguridad Multiagente, Seguridad de Agentes Autónomos, Abuso de Identidad y Confianza de Agentes | Cubierto |
| LLM09 | Dependencia Excesiva | Seguridad de Agentes de Navegador, Seguridad de Agentes Autónomos | Cubierto |
| LLM10 | Robo de Modelo | Planificado (v1.2) |
| Servicio | Puerto (interno) | Propósito |
|---|
| PostgreSQL | 5432 | Almacén de datos principal |
| Redis | 6379 | Limitación de velocidad, TTL de instancias |
| Qdrant | 6333 | Búsqueda semántica sobre hallazgos |
| Ollama | 11434 | Inferencia local de LLM |
| API | 8000 | Backend FastAPI |
| Web | 3000 | Frontend Next.js |
| Nginx | 8080 (host) | Proxy inverso |