CTFd / CTFd/CTFd

[Feature request] Multi-answer challenge

Open
#1,109 1 comment 4 reactions 0 assignees View on GitHub
plugin idea
Dominant language
Python
Stars
6.8k
Forks
2.8k
Avg merge
1d 6h
Merged PRs (30d)
5

Description

## Description

Today it is possible to add multiple flags to a challenge but all the flags are alternatives. Any one of them is enough to validate the challenge.

Add the possibility to make several flags required to validate the challenge.

For example you add 9 flags to a challenge but you don't want that any of the 9 flags validate the chall you want that the player need to find all the 9 flags to validate the challenge.

![image](https://user-images.githubusercontent.com/16578570/65072947-28888900-d992-11e9-92d4-0492c6a3d12a.png)

## Implementation

- Add a `Required` option to flag creation (more flexible)
![image](https://user-images.githubusercontent.com/16578570/65073440-296dea80-d993-11e9-9aa9-debaaf2a6597.png)
- **OR** add a `All the flags are required to validate the challenge` option on the Challenge creation (flag tab) (less flexible but easier to use).
![image](https://user-images.githubusercontent.com/16578570/65073535-591cf280-d993-11e9-8deb-b1dbbe819e42.png)

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing flag-creation and challenge-validation flows described in the issue, including the challenge creation flag tab. Compare the two proposed UI designs and identify how required flags are represented and checked. Done means a challenge can require all selected flags, with coverage for both creation and validation behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, python
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.