
Laboratorio browser open source per costruire un'infrastruttura simulata, osservare un attacco muoversi attraverso di essa e verificare se la tua difesa funziona.
Costruisci. Attacca. Difendi. Comprendi.
Un laboratorio open source che funziona interamente nel tuo browser: costruisci un'infrastruttura simulata, osserva un attacco muoversi attraverso di essa e verifica se la tua difesa funziona davvero. Ogni passo è accompagnato dal motivo per cui ha funzionato, e ogni controllo indica esattamente quale precondizione interrompe.
Demo live · Français · Specifica · Come funziona il motore · Formato del laboratorio · Contribuire


Superficie di attacco, movimento laterale, segmentazione, raggio d'azione, difesa in profondità: queste idee sono difficili da comprendere da diagrammi statici. PCYBOX AttackGraph le trasforma in qualcosa che puoi vedere e manipolare:
Solo simulazione. Il laboratorio non scansiona, contatta o attacca mai un sistema reale. Le tecniche sono descritte a livello concettuale, mappate a MITRE ATT&CK, senza alcuna procedura di sfruttamento.
Apri la demo live: niente da installare, nessun account. Oppure eseguilo localmente:
git clone https://github.com/Mister-iks/pcybox-attackgraph.git
cd pcybox-attackgraph
pnpm install
pnpm dev
Poi apri l'URL stampato nel terminale, clicca Esegui attacco, attiva Segmentazione di rete ed esegui di nuovo.
Tastiera: Space avvia o mette in pausa, i tasti freccia avanzano nell'attacco, Home torna all'inizio.
Passa a Modifica, poi trascina gli elementi dalla palette sulla mappa, collegali trascinando dal punto sul lato di un elemento, e compila servizi, debolezze, credenziali memorizzate, identità, asset, controlli e scenari nel pannello laterale. La scheda Problemi segnala ciò che probabilmente non va (un flusso verso una porta senza servizio, un controllo che non si applica a nulla...). Annulla e ripristina con Ctrl+Z e Ctrl+Y. Il tuo laboratorio viene salvato nel browser e può essere esportato, importato e condiviso tramite link.
.attackgraph.json.Vedi la roadmap per ciò che verrà dopo.
lab (.attackgraph.json) ──▶ validation ──▶ engine (web worker) ──▶ story of events ──▶ map, timeline, Why?
Il motore satura le capacità dell'attaccante round dopo round (punti d'appoggio, credenziali, accesso ai dati). Ogni tecnica ha precondizioni ed effetti; ogni controllo interrompe una precondizione precisa. Poiché i round sono in ampiezza, la storia riprodotta per un obiettivo raggiunto è una delle sue derivazioni più brevi. Dettagli in 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
Requisiti: Node.js 20 o successivo e 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
Budget di prestazioni: al massimo 250 kB di JavaScript iniziale (gzip). La CI fallisce al di sopra di questo valore.
| Versione | Focus |
|---|---|
| v0.1 | Una rete, un attacco, una difesa: il modello Applicazione Web |
| v0.2 (in corso) | Editor di laboratori, 3 modelli, strumento da riga di comando |
| v0.3 | Percorsi di attacco, punti di strozzatura, raggio d'azione, vista incorporabile, PWA offline |
| v0.5 | Modalità sfida, modalità insegnante, 10 missioni allineate con NICE, ECSF e CyBOK |
| v1.0 | Formato stabile, 8 modelli, 9 lingue tra cui arabo e cinese |