Analysis updated 2026-05-18
Run a timed theory exam for a CTF competition inside a single Docker container
Generate a unique randomized exam per player from a question bank
Verify submitted scores independently to catch tampering
Display a CTF flag automatically after a player submits their exam
| probiusofficial/ctf-theory-exam | adeliox/klein-head-swap | ats4321/ragit | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | Python | Python | Python |
| Setup difficulty | — | moderate | moderate |
| Complexity | — | 3/5 | 2/5 |
| Audience | ops devops | designer | developer |
Figures from each repo's GitHub metadata at analysis time.
CTF Theory Exam is a containerized online exam platform built for CTF (Capture The Flag) competitions, cybersecurity contests where participants solve technical puzzles to earn points. This platform handles the theory knowledge portion of such events, where players answer questions rather than solve technical challenges directly. The platform generates a unique exam paper for each player by randomly drawing questions from 8 knowledge modules. It supports four question types: single-choice, multiple-choice, true/false, and fill-in-the-blank. A 60-minute countdown timer runs on the server side so the frontend cannot tamper with it, and once a player submits their exam, either manually or when time runs out, the container instance locks so they cannot re-take it. To prevent score fraud, the platform uses HMAC-SHA256 to create a tamper-evident verification token attached to each result. A standalone script lets competition organizers independently verify that a submitted score and time are genuine, which is important for catching players who might try to alter screenshots of their results. After submission, the platform automatically displays a CTF FLAG, a short text string players copy and submit to the competition's main scoring platform to earn points. It supports dynamic FLAG injection from several popular CTF platforms via environment variables. The whole system ships as a self-contained Docker container with no external dependencies: one image, one container, one complete exam environment. It is built in Python using Flask and SQLite. The license is MIT.
A self-contained Docker platform that generates and grades randomized theory exams for CTF cybersecurity competitions, with tamper-evident scoring.
Mainly Python. The stack also includes Python, Flask, SQLite.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.