Sarsum/ctfd-chall-manager
CTFd plugin to deploy challenge instances on demand, using https://github.com/ctfer-io/chall-manager
Caution
CTFd-chall-manager is currently in public beta phase.
It could be run in production, but breaking changes are subject to happen in the upcoming months until General Availability.
It has been tested under production workload during the NoBrackets 2024.
This plugin allow you to use the chall-manager, to manage scenario and permit Player's to deploy their instances.
Last version of CTFd tested on: 3.8.1.
Last version of Chall-Manager tested on: v0.6.1.
Features
Main features for Users
- Booting/Destroying Instance by Source
- Sharing Instance between all Sources
- Restriction based on Mana
- Use flag variation proposed by chall-manager
Main features for Admins
- Create challenges with Scenario
- Preprovisionng Instances for Source
- Monitor all mana used by Sources
Trophy list
The following list contains all known events where CTFd-chall-manager has been operated in production:
Please open an issue to add your event to the list if we did not ourself.
- 2024/11/20 NoBracketsCTF 2024
- 2025/02/09 ICAISC 2025
- 2025/03/08 Hack'lantique 2025
- 2025/05/17 WhiteHats TrojanCTF 2025
- 2025/05/24 24h IUT 2025
How install and use
To install and use the plugin, refer to the documentation at https://ctfer.io/docs/ctfd-chall-manager.
Limitations
- Need to use the
core-betaor derivative theme (cf CTFd/CTFd#2630)
Glossaries
| Label | Description |
|---|---|
| Sources | In CTFd "Teams" mode, the Source is Team In CTFd "Users" mode, the Source is User |
| Scenario | Pulumi project that define the challenge (webserver, ssh server, ...) to deploy an Instance |
| Instances | This is a copy of Scenario for the Source that make the request |
| Mana | This is the "money" to regulate the Instance's deployment |
Shoutout to ctfd-whale which helped us a lot to create this plugin.

