{
// "type" should be one of:
// - Code
// - Cryptography
// - Forensics
// - Non-Technical
// - Opsec/Social Engineering
// - Quiz
// - Reverse Engineering
// - Steganography
// - Web Security
"type": "Reverse Engineering",
// "points" should be 10x the number of minutes a person with reasonable knowledge in a relevant area would take to
// solve this problem. (That means advanced questions will only be weighted more heavily than beginner-friendly
// questions if they take lots of time)
"points": 1000,
// If you're generating the question, it's helpful to randomly choose the title from a list of options to prevent
// students from easily sharing the answers/explainations online.
"title": "Quantum Bogosolve",
"question": "It's like [Quantum Bogosort](<https://wiki.c2.com/?QuantumBogoSort>)",
"answer": "imJgMDD0RGiPdnw54886GexvvnWm8ixOrcCgx0mh",
"case_sensitive": true,
// Hints are totally free in CodeCup, so keep them relatively vague. In a future version of the software these may
// not become visible until half-way through the time limit, but for the moment they are always available.
"hint": "You will have to [fork the universe.](file://many_universe_theorem.pdf)",
// Shown after the challenge is over, this is an explaination of how to solve your problem. You can link to a gist
// or other helpful material here, but note that we never reveal your generation code.
"explain": "Simply be in the universe where your guess is correct.",
// ========================================================================================
// Below are some special things you can do, if you're submitting a more complex question:
// ========================================================================================
// Here you can provide instructions to staff members who will help out with the question. This may be setup
// instructions, or information like "People will be calling you, they must use the codeword "banana" and you should
// then respond with the flag FLAG."
"internal": "Please be sure to provide all CodeDays with the necessary equipment for this question",
// Here you can provide files to be uploaded to a CDN:
// - "name" is the filename. You can reference the final link in other fields by using this name prefixed by file://
// - "content" is the base-64 encoded file content.
"files": [
{
"name": "many_universe_theorem.pdf",
"content": "base64encodedstring"
}
],
// Here you can register an email address which will verify that the user has attached a file of a certain type, and
// respond back with the flag automatically.
//
// This is typically only used for "non-technical" questions, e.g. "Take a picture of your team and send it to..."
// "mailbox-name" is the "mailbox" part of the address to send the email to. The "domain" part is always
// "codecupchallenge.com". i.e. if you need to reference this email in other places, just use
// "[email protected]"
"register_email": {
"mailbox-name": {
"attachment": [
"text/plain"
]
}
},
// Here you can register docker containers to be run as part of your challenge.
//
// - In addition to any ENV variables you set, all containers automatically get access to the ENV variables: MAIL_HOST,
// MAIL_PORT, MAIL_SECURE, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM (for sending emails). Note that FLAG is *not*
// automatically provided as an ENV variable, so you'll likely need to pass that.
// - If you attach a "subdomain" to one of the entries in "port," your docker container will automatically be
// accessible at <https://subdomain.codecupchallenge.com/>. "subdomain" should be globally unique, e.g. please
// randomly generate it.
"register_docker": {
"job_name": {
"image": "foo:latest",
"env": {
"PASSWORD": "foobarbaz"
},
"ports": [
6667,
{
"port": 8080,
"subdomain": "quantum"
}
],
}
}
}