
Laboratorio locale intenzionalmente vulnerabile con un workshop guidato e sfide CTF per esercitarsi su RCE tramite push-option Git, deserializzazione non sicura, parsing di chiavi duplicate e override di configurazione contro un server Git Dockerizzato.
Un Learning Lab e un Research Lab locali ispirati ai concetti di vulnerabilità pubblicamente documentati alla base di CVE-2026-3854. Entrambe le esperienze utilizzano push Git reali autenticati verso ForgeDock, un server Git fittizio; il Research Lab.

[!CAUTION] Questo progetto è intenzionalmente vulnerabile. Eseguilo solo in locale. Non esporre le sue porte a una rete pubblica o condivisa. Non usarlo mai in produzione.
[!NOTE] Questo repository è pubblicato come riferimento educativo di sola lettura. Non accetta issue pubbliche, pull request, richieste di funzionalità o richieste di supporto. Segnala privatamente i cedimenti non intenzionali del perimetro di sicurezza come descritto in SECURITY.md.
Un workshop guidato che insegna le opzioni di push, la serializzazione non sicura, il parsing delle chiavi duplicate, l'override della configurazione e la catena di esecuzione vincolata. Le lezioni combinano brevi spiegazioni con esperimenti sicuri contro il lab in esecuzione.
Un'esperienza in stile CTF con tre card Challenge sequenziali, suggerimenti opzionali e flag generate dal backend. La UI normale non espone codice sorgente, tracce, output del serializzatore, output del gate di esecuzione o una guida dettagliata.
git clone https://github.com/royaleybovich/CVE-2026-3854-lab.git
cd CVE-2026-3854-lab
docker compose up -d --build
Non è richiesta alcuna configurazione di flag o credenziali. Un inizializzatore one-shot crea valori di prova casuali indipendenti e credenziali di servizio in un volume Docker privato al primo avvio. make up è un comando di comodo equivalente. Un .env opzionale è necessario solo per sovrascrivere i valori predefiniti o mantenere valori espliciti al di fuori di Docker.
| Servizio | URL locale |
|---|---|
| Flagship | http://localhost:8080 |
| ForgeDock | http://localhost:3000 |
| Web Terminal | http://localhost:7681 |
L'account monouso del lab è:
Username: devuser
Password: devpass
Queste credenziali pubbliche esistono solo all'interno del lab locale e monouso. Non riutilizzarle altrove.
docker compose)La verifica di prontezza alla release è stata eseguita su Apple Silicon (arm64). Gli altri sistemi operativi e le altre architetture CPU non sono dichiarati verificati finché non vengono registrati i relativi controlli di clonazione pulita.
make up # build and start; private lab state is generated automatically
make logs # follow service logs
make reset # delete lab repositories/progress and rebuild
make down # stop the lab without deleting Docker volumes
make test # run unit and live integration tests
make reset elimina i volumi Docker, inclusi i repository del lab, i progressi di runtime, i valori di prova e le credenziali interne. L'avvio successivo genera automaticamente nuovi valori privati.
Le porte pubblicate si legano a 127.0.0.1. Redis, l'esecutore di hook e i servizi di elaborazione interni non sono pubblicati. L'esecutore non ha accesso al socket Docker né a montaggi del filesystem dell'host, rimuove le capability Linux, utilizza un filesystem di sola lettura, non accetta comandi shell né ambienti controllati dal chiamante e può invocare solo gli esatti eseguibili di prova di proprietà del lab. Questi controlli limitano l'esercizio; non lo rendono sicuro da esporre pubblicamente.
Browser / Git client
↓
Flagship portal / ForgeDock
↓
Internal processing network
↓
Constrained executor
Vedi la panoramica del sistema, l'elaborazione delle opzioni di push, il modello delle minacce e la guida alla distribuzione locale.
ForgeDock è una ricostruzione deliberatamente semplificata e vincolata in modo sicuro dei concetti di vulnerabilità pubblicamente documentati alla base di CVE-2026-3854. Non riproduce l'implementazione proprietaria di GitHub. I nomi dei campi, i confini dei servizi e il comportamento di esecuzione differiscono dalle implementazioni reali di GitHub e GitHub Enterprise Server.
Il comportamento intenzionalmente vulnerabile è stato aggiunto downstream per questo lab e non è una vulnerabilità upstream di Forgejo. ForgeDock non è GitHub e questo progetto non è affiliato a GitHub, Forgejo, Wiz o ai ricercatori citati, né è approvato da essi.
Questi riconoscimenti descrivono fonti e dipendenze; non implicano collaborazione, approvazione o patrocinio.
Il software e il curriculum creati da Flagship sono concessi in licenza sotto GPL-3.0-or-later, salvo dove un file dichiara un'altra licenza compatibile. Vedi LICENSE, NOTICE.md, la provenienza di Forgejo e TRADEMARKS.md. Le licenze e gli avvisi di terze parti esistenti restano in vigore.