
Laboratorio de navegador de código abierto para construir una infraestructura simulada, observar cómo un ataque se desplaza a través de ella y comprobar si tu defensa funciona.
Construye. Ataca. Defiende. Comprende.
Un laboratorio de código abierto que se ejecuta completamente en tu navegador: construye una infraestructura simulada, observa cómo un ataque se propaga a través de ella y comprueba si tu defensa realmente funciona. Cada paso viene con la razón por la que funcionó, y cada control indica exactamente qué precondición rompe.
Demo en vivo · Français · Especificación · Cómo funciona el motor · Formato del laboratorio · Contribuir


Superficie de ataque, movimiento lateral, segmentación, radio de impacto, defensa en profundidad: estas ideas son difíciles de comprender a partir de diagramas estáticos. PCYBOX AttackGraph las convierte en algo que puedes ver y manipular:
Solo simulación. El laboratorio nunca escanea, contacta ni ataca un sistema real. Las técnicas se describen a nivel conceptual, mapeadas a MITRE ATT&CK, sin ningún procedimiento de explotación.
Abre la demo en vivo: nada que instalar, sin cuenta. O ejecútalo localmente:
git clone https://github.com/Mister-iks/pcybox-attackgraph.git
cd pcybox-attackgraph
pnpm install
pnpm dev
Luego abre la URL que se imprime en la terminal, haz clic en Run attack, activa Network segmentation y vuelve a ejecutar.
Teclado: Space reproduce o pausa, las teclas de flecha avanzan por el ataque, Home vuelve al inicio.
Cambia a Edit, luego arrastra elementos desde la paleta al mapa, conéctalos arrastrando desde el punto en el lateral de un elemento, y completa servicios, debilidades, credenciales almacenadas, identidades, activos, controles y escenarios en el panel lateral. La pestaña Problems señala lo que probablemente está mal (un flujo hacia un puerto sin servicio, un control que no se aplica a nada...). Deshaz y rehaz con Ctrl+Z y Ctrl+Y. Tu laboratorio se guarda en el navegador y se puede exportar, importar y compartir por enlace.
.attackgraph.json.Consulta la hoja de ruta para lo que viene a continuación.
lab (.attackgraph.json) ──▶ validation ──▶ engine (web worker) ──▶ story of events ──▶ map, timeline, Why?
El motor satura las capacidades del atacante ronda a ronda (puntos de apoyo, credenciales, acceso a datos). Cada técnica tiene precondiciones y efectos; cada control rompe una precondición precisa. Como las rondas son en anchura, la historia reproducida para un objetivo alcanzado es una de sus derivaciones más cortas. Detalles en docs/engine.md.
apps/web/ web application (React, React Flow, Vite)
packages/engine/ simulation engine: pure TypeScript, no DOM, fully tested
packages/schema/ JSON Schema of the .attackgraph.json lab format
packages/i18n/ messages (English, French) shared by the app and the CLI
packages/cli/ attackgraph command line tool
content/templates/ ready-to-use labs (CC BY 4.0)
docs/ specification, engine and format documentation
Requisitos: Node.js 20 o posterior y pnpm.
pnpm install
pnpm dev # start the app
pnpm test # engine, schema and app unit tests
pnpm e2e # end-to-end tests (Playwright, desktop and mobile)
pnpm verify # everything the CI checks: text, types, tests, build, bundle budget
pnpm attackgraph validate content/templates
pnpm attackgraph list content/templates/active-directory.attackgraph.json
pnpm attackgraph simulate content/templates/active-directory.attackgraph.json --scenario phishing --enable tiering
pnpm attackgraph compare content/templates/web-application.attackgraph.json --enable segmentation --lang fr
pnpm attackgraph simulate <lab> --format markdown # or json, for other tools
Presupuesto de rendimiento: como máximo 250 kB de JavaScript inicial (gzip). La CI falla por encima de eso.
| Versión | Enfoque |
|---|---|
| v0.1 | Una red, un ataque, una defensa: la plantilla Web Application |
| v0.2 (en curso) | Editor de laboratorio, 3 plantillas, herramienta de línea de comandos |
| v0.3 | Rutas de ataque, puntos de estrangulamiento, radio de impacto, vista integrable, PWA sin conexión |
| v0.5 | Modo desafío, modo profesor, 10 misiones alineadas con NICE, ECSF y CyBOK |
| v1.0 | Formato estable, 8 plantillas, 9 idiomas incluidos árabe y chino |