Bandit
Unix/Linux fundamentals.
writeups.md— instructor answer key. Not for participant distribution.learning-objectives.md— skills by concept, not level number.cheatsheet.md— fast lookup for instructors running a live room.
Krypton
Cryptography.
writeups.md— instructor answer key. Not for participant distribution.learning-objectives.md— skills by concept, not level number.cheatsheet.md— fast lookup for instructors running a live room.
Natas
Server-side web security.
writeups.md— instructor answer key. Not for participant distribution.learning-objectives.md— skills by concept, not level number.cheatsheet.md— fast lookup for instructors running a live room.
build_bandit.py · build_krypton.py · build_natas.py
validate_game_stages.py · validate_generated.py
deploy.sh with CTFD_URL, CTFD_TOKEN, CTFD_SYNC_SECRET
The preflight is fail-closed. It requires authenticated CTFd inventory access, a successful challenge install/sync, a successful instance-launcher mapping sync, and exact totals — 59 challenges, 58 mapped environments, 3 visible launchers — or the deploy stops. .ctf/config is written mode 0600.
Loading content does not start a game clock — the administrator starts Bandit, Krypton, and Natas independently in Engine.
Production releases require name@sha256:<digest> image references. Release mode rejects latest and every floating tag.
validate.yml runs the generation gate on every push and PR.
The manually dispatched build-targets.yml requires an immutable Engine base-image digest and publishes SBOM and provenance metadata for all three target images.
All third-party GitHub Actions pinned to commit SHAs.
- Facilitation runbook ↗
- Troubleshooting FAQ ↗
- Participant quick-start ↗
- Learning-objectives index ↗
- Instructor cheat-sheet index ↗
- Wargame-building playbook ↗
- Required network access ↗Source of truth for cei-labs-net's firewall allowlist
- Self-hosted wargames status + blueprint ↗
- Staggered game-stage contract ↗
A modular, multi-tenant cyber range on bare-metal K3s.
MODULE 03 — TERRAINNetBuilt to survive 80 operators scanning it on purpose.
MODULE 04 — THE OPERATIONEventA full-scale, self-hosted CTF experience — 80 operators, 59 challenges.
MODULE 05 — LOADOUTAgentA friendly CTF coaching AI that runs on your own laptop.