Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ctfer-io/ctfd-chall-manager

Plugin to use https://github.com/ctfer-io/chall-manager in CTFd
https://github.com/ctfer-io/ctfd-chall-manager

ctf ctfd-plugin

Last synced: 17 days ago
JSON representation

Plugin to use https://github.com/ctfer-io/chall-manager in CTFd

Awesome Lists containing this project

README

        


CTFd-chall-manager


Level Up CTFd with Infra-as-Code Challenges!



License
CI
CodeQL
OpenSSF Scoreboard


> [!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](https://github.com/ctfer-io/chall-manager), to manage scenario and permit Player's to deploy their instances.

Last version tested on: [3.7.5](https://github.com/CTFd/CTFd/releases/tag/3.7.5).

# 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](https://github.com/ctfer-io/chall-manager)

## Main features for Admins
- Create challenges with Scenario
- Preprovisionng Instances for Source
- Monitor all mana used by Sources

# 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-beta` theme (cf https://github.com/CTFd/CTFd/pull/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 |