FAUST Gameserver for attack-defense CTFs
This is a Gameserver for attack-defense (IT security) CTFs. It is used for
hosting FAUST CTF, but designed to be re-usable for other competitions. It is
scalable to large online CTFs, battle-tested in many editions of FAUST CTF, and customizable for other
competitions.
For documentation on architecture, installation, etc., head to ctf-gameserver.org.
The Gameserver consists of multiple components:
There are several alternatives out there, although none of them could really convince us when we started the
project in 2015. Your mileage may vary.
Another factor for the creation of our own system was that we didn’t want to build a large CTF on top of a
system which we don’t entirely understand.
For a local development environment, set up a Python venv or
use our dev container from.devcontainer.json
.
Then, run make dev
. Tests can be executed through make test
and a development instance of the Web
component can be launched with make run_web
.
We always aim to keep our Python dependencies compatible with the versions packaged in Debian stable.
Debian-based distributions are our primary target, but the Python code should generally be
platform-independent.
Should you encounter any security vulnerabilities in the Gameserver, please report them to us privately.
Use GitHub vulnerability reporting or contact Felix Dreissig or Simon Ruderich directly.
The Gameserver was initially created by Christoph Egger and Felix Dreissig. It is currently maintained by
Felix Dreissig and Simon Ruderich with contributions from others.
It is released under the ISC License.