Aprender • Explotar • Defender
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.
| Laboratorios (tres niveles) | Un laboratorio en acción | Tarjeta de completación |
|---|---|---|
![]() |
| 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. 🔒
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.
# 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
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
- 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).
- En el primer lanzamiento estableces un nombre de jugador (bloqueado una vez elegido — no se puede cambiar después).
- Trabajar en los laboratorios centrales; Haz que cada asistente filtre su bandera usando la técnica de esa categoría.
- Limpia los 10 laboratorios principales para desbloquear el nivel avanzado; Limpia todo lo avanzado para desbloquear el nivel experto.
- Revela pistas si te quedas atascado (−5 puntos cada uno). Enviar banderas (, configurables en ).
LLMVAULT{...}config.py - 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).
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
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/
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
- 📄 Código fuente: Licencia MIT
- ™️ Marca y marca:
Véase TRADEMARKS.md
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








