Challenge export format - kszk-securiteam/wargame-web GitHub Wiki

The challenges need to be in a zip file that contains a challenges folder. Each folder in this challenges folder represents a challenge. The name of the folder is the challenge's import name.

Each challenge folder contains the following:

  • A qpa-files folder that contains the qpa variant of all public files
    • A qpa-files/private folder that contains the qpa variant of all private files
  • A hacktivity-files that contains the hacktivity variant of all public files
    • A hacktivity-files/private that contains the hacktivity variant of all private files
  • A challenge.json file that contains the following keys:
    • title: The title of the challenge
    • flag_qpa: The flag for the qpa variant of the challenge
    • flag_hacktivity: The flag for the hacktivity variant of the challenge
    • hint: The hint for the challenge
    • short_description: A short description for the challenge that appears underneath the title in the challenge list.
    • tags: An array of tags, for example ["tag1", "tag2"]
    • level: The level of the challenge (number)
    • points: The point value of the challenge (number)
  • description.md: The description of the challenge in a markdown file
  • solution.txt: The solution of the challenge
  • setup.txt: Setup instructions for the challenge (optional)

.gitkeep files are ignored during import.

flag_qpa and flag_hacktivity need to have the format SECURITEAM{md5_hash}.