LLMVault Banner

LLMVault

La plataforma definitiva de entrenamiento práctico OWASP LLM Top 10

🎬 Demo

LLMVault Demo

Aprender • Explotar • Defender

Estrellas Forks Licencia Último commit Cuestiones
OWASP  

Un campo de entrenamiento deliberadamente vulnerable, estilo CTF, para el Top 10 OWASP en aplicaciones LLM (2025) — WebGoat / KubeGoat, pero para IA. 25 laboratorios repartidos en tres niveles: diez laboratorios centrales por categoría; diez laboratorios avanzados de múltiples turnos (jailbreaking, envenenamiento de datos, explotación de agentes, extracción de modelos); y cinco laboratorios expertos que modelan clases de ataque del mundo real. Cada nivel desbloquea el siguiente.

Cada laboratorio empareja el ataque con una defensa (en la guía de soluciones privadas): aprende la solución practicando la ruptura.

⚠️ Todo aquí es intencionadamente inseguro. Solo educación de seguridad autorizada y autoalojada. No lo expongas a internet ni reutilices su código en producción.

📸 Capturas de pantalla

Laboratorios (tres niveles) Un laboratorio en acción Tarjeta de completación

🧩 Nivel Básico — Top 10 LLM de OWASP

OWASP (2025) Laboratorio Técnica
Inyección de prompt LLM01 La asistente obediente Anulación directa de instrucciones
LLM02 Divulgación de Información Sensible Teatro de Redacción Bypass de filtro de salida mediante codificación
Cadena de suministro LLM03 ¿Confiar en el manifiesto? Dependencia Typosquatted / No Signada
LLM04 Envenenamiento de Datos y Modelos La frase del durmiente Disparador de puerta trasera de datos envenenados
LLM05 Manejo incorrecto de salida Representado sin cuestionar Producción no desinfectada → inyección
LLM06 Agencia Excesiva Llaves del Reino Herramienta con permisos excesivos, sin autorización
Fuga de prompts del sistema LLM07 Boca Suelta Secreto filtrado desde el sistema
LLM08 Vector y Incrustación Recuperación Sin Fronteras La recuperación RAG ignora los LCA
Desinformación LLM09 El Hombre del Sí Adulación / falsa autoridad
LLM10 Consumo Ilimitado Denegación de la cartera Generación descontrolada + error de fugas

🔥 Nivel Avanzado — Desafíos de varios turnos (se desbloquean tras completar los 10 desafíos principales)

Estos son conversacionales: ningún mensaje único gana — requieren construir el estado entre turnos (escalada de roleo, envenenamiento iterativo, encadenamiento de herramientas, consulta con oráculo).

OWASP Laboratorio Técnica avanzada
LLM01 Rol Desencadenado Jailbreak de varios turnos mediante escalada de persona
LLM02 Muerte por mil pistas Reconstrucción fragmentada a partir de un oráculo de divulgación parcial
LLM03 El Registro Manipulado Correlación de hash desplegado vs-canónico
LLM04 Enséñame mal Envenenamiento activo de datos de un filtro de aprendizaje en línea
LLM05 El Guardián de las Notas Almacenamiento / Inyección de segundo orden
LLM06 Ayudante confundido Encadenamiento de herramientas de agentes (SSRF a metadatos internos)
LLM07 Actor de método Extracción de prompts de sistema multitécnica
LLM08 Cables cruzados Sangrado de memoria RAG entre inquilinos
LLM09 El mentiroso seguro de sí mismo Cascada de alucinaciones → excesiva dependencia
LLM10 El Oráculo Extracción de modelos basada en consultas

⚔️ Nivel Experto — Clases de Ataque del Mundo Real (desbloqueadas tras resolver todos los desafíos Avanzados)

Cinco laboratorios expertos modelando clases reales de ataques de vulnerabilidades reveladas contra sistemas LLM. Cada una es simulada: la aplicación reconoce la carga útil conocida y devuelve una bandera; No ocurre un RCE/SSRF/SQL real en la herramienta.

Este nivel se shippa ENCRIPTADO, y su contenido no está intencionadamente listado aquí. Los desafíos y las banderas se codifican con AES (Fernet) con una clave derivada de una clave secreta de Acceso Experto que solo reside en la bóveda privada del operador — nunca en el repositorio. Clonar el repositorio solo da texto cifrado; Los escenarios específicos permanecen en secreto hasta que los consigas. Para desbloquear, un jugador debe (1) completar todos los laboratorios Core + Advanced y (2) introducir la llave, que el operador (CyberSunil) entrega manualmente después de que el jugador comparta su carta de completación. Clave incorrecta → descifrado autenticado falla → no se revela nada.challenges/expert.enc

Descubrir lo que hay dentro forma parte del reto. 🔒


🚀 Hazlo

pip install -r requirements.txt
python app.py
# open http://127.0.0.1:5000
 

No se necesita clave API — los asistentes vulnerables son deterministas/scriptados, por lo que las banderas se reproducen de forma fiable y todo el rango funciona completamente offline.


🐳 Ejecutar con Docker

# build + run
docker compose up --build          # then open http://127.0.0.1:5000
# or plain docker:
docker build -t llmvault .
docker run -p 5000:5000 llmvault
 

Servido por gunicorn (trabajador único, así que el marcador en memoria se mantiene constante). No expongas esto a internet pública: es intencionadamente vulnerable. Atar solo para localhost, úsase en ."127.0.0.1:5000:5000"docker-compose.yml

💾 Persistencia (compatible con el autoanfitrión)

El progreso y el marcador se guardan en — no se necesita base de datos — así que Sobreviven a la actualización de página y a un reinicio del servidor/contenedor. En Docker, el volumen los mantiene al otro lado. Borra el archivo para restablecer a todos.data/progress.json./datadocker compose down/up

🙋 Experiencia del jugador

  • Primera partida de puerta de nombres (bloqueada una vez establecida) y un tutorial guiado único sobre tu primer laboratorio.
  • Después de resolver un laboratorio, un 📘 Aprende — el panel de corrección muestra la lección defensiva para esa categoría OWASP.
  • Diseño responsivo — funciona en teléfonos (la barra lateral se colapsa, los paneles se apilan).

🕹️ Cómo jugar

  1. En el primer lanzamiento estableces un nombre de jugador (bloqueado una vez elegido — no se puede cambiar después).
  2. Trabajar en los laboratorios centrales; Haz que cada asistente filtre su bandera usando la técnica de esa categoría.
  3. Limpia los 10 laboratorios principales para desbloquear el nivel avanzado; Limpia todo lo avanzado para desbloquear el nivel experto.
  4. Revela pistas si te quedas atascado (−5 puntos cada uno). Enviar banderas (, configurables en ).LLMVAULT{...}config.py
  5. Las cartas flotan en suspensión y se ponen verdes cuando se resuelven; Lleva un registro de todo lo que aparece en el marcador.

Puntuación: núcleo 100–300 puntos, avanzado 400, experto 500; Las pistas cuestan 10 / 25 / 50 (escalando).


🎓 Tarjeta de finalización y compartir

Dos cartas de hitos se desbloquean automáticamente como ventana emergente en cuanto terminas un nivel: una tarjeta verde para principiantes (los 10 laboratorios básicos) y una tarjeta Master azul (todos los 20 núcleos + Avanzado). Ambos también están en . Cada uno tiene un botón para la tarjeta de descarga (PNG/SVG), un pie de foto preescrito (Copy) y abridores de LinkedIn/X./completion

Compartir una imagen: las redes sociales no pueden adjuntar automáticamente una imagen desde un enlace de compartir, así que el El flujo es: descarga la tarjeta → abre LinkedIn/X → pega el pie de foto → adjunta la imagen. Los jugadores la publican y etiquetan a CyberSunil para recibir la Clave de Acceso Experto. La tarjeta se renderiza lado servidor como SVG temático () y exporta a PNG dentro del navegador — sin deps externos./card.svg

🧱 Arquitectura

app.py                      # Flask: labs, chat, hint, submit, scoreboard, name-gate, unlock gating
config.py                   # APP_NAME, AUTHOR/COPYRIGHT, flag prefix, scoring
challenges/
  __init__.py               # Challenge base (tier), registry, core_labs()/advanced_labs()
  llm01_..llm10_*.py         # core labs
  advanced/a01_..a10_*.py    # advanced multi-turn labs
  expert.enc                 # ENCRYPTED expert tier (ciphertext, shipped)
  expert_meta.json           # public KDF salt/params
  expert_vault.py            # runtime decryptor + declarative challenge engine
templates/  static/          # dark violet UI + completion card + expert key gate
Dockerfile  docker-compose.yml  # containerised deploy
LICENSE                     # MIT + security notice
 

Cada desafío es una subclase con a que codifica el vuln; Los laboratorios avanzados utilizan el dict persistente para la lógica de varios turnos. Añade el tuyo propio colocando un módulo en (o ) y registrándolo.Challengerespond(message, state)statechallenges/challenges/advanced/


👤 Crédito y licencia

Hecho por CyberSunil. © CyberSunil 2026. Liberado bajo la Licencia MIT (véase ), con un aviso de seguridad que indica que el proyecto es deliberadamente vulnerable y solo para formación autorizada. El crédito del autor aparece en cada página y no es editable en tiempo de ejecución.LICENSE


⚖️ Propiedad intelectual

El nombre, logo, marca, arte, banners, capturas de pantalla, documentación y otros recursos visuales de LLMVault™ no están licenciados bajo la Licencia MIT y no pueden utilizarse sin permiso previo por escrito.


Rómpela aquí para defenderla en todas partes.


#ComunidadHacker #AprenderHacking #CyberCommunity #InfoSecCommunity #HackingEspaña #HackingLatino #CyberLatam #CyberAcademy
#OSINT #Explotación #Exploit #Vulnerabilidades #Malware #ReverseEngineering #Forensics #ThreatHunting #BugBounty #CyberThreats

💻🔥 Somos una comunidad de hacking y ciberseguridad donde aprender es parte del juego 🔥💻

🧑‍💻 Aquí encontrarás gente que está empezando y otros que ya están en nivel avanzado, todos compartiendo herramientas, trucos, metodologías y experiencias reales.

🛠 Desde pentesting hasta OSINT, explotación o defensa, tocamos todo lo necesario para crecer en este mundo.

🎯 Nos gusta aprender haciendo: laboratorios, retos, pruebas reales y colaboración constante.

🧠 Nuestros logotipos representan quiénes somos: una comunidad unida por la curiosidad, el conocimiento y las ganas de romper (y entender) sistemas.

🚀 Si te mola la ciberseguridad y quieres subir de nivel rodeado de gente que está en lo mismo que tú… este es tu sitio.

🌐 Página Web:
https://www.hackingteamoficcial.uk/

💻 GitHub:
https://github.com/HackingTeamOficial

📲 Telegram:
https://t.me/PlantillasNucleiHackingTeam
https://t.me/HackingTeamGrupoOfficial
https://t.me/+0hHSaKO7eI9mNWY8 (Difusión)
https://t.me/+llcmNGzz6JIyMmI0 (Biblioteca)
https://t.me/TermuxHackingTeam

🐦 X (Twitter):
@HackingTeam77

🦋 Bluesky:
https://bsky.app/profile/hackingteam.bsky.social

💬 Discord:
https://discord.gg/V4nPFbQX

📘 Facebook:
https://www.facebook.com/groups/hackingteam2022/?ref=share
https://www.facebook.com/groups/HackingTeamCyber/?ref=share

🎥 YouTube:
https://www.youtube.com/@HackingTeamOficial/videos

🎵 TikTok:
https://www.tiktok.com/@hackingteamprohackers
https://www.tiktok.com/@hacking.kdea?_t=ZS-8vTtlaQrDTL&_r=1