Core requirements
Every contributed box must meet the following standards before it can be accepted for review:Objectives & flags
Every box must define at least one objective and its corresponding flag. Flags are static challenge secrets: define each value inbox.yaml, place the same exact value at the proof point, and submit it exactly as written.
Use lowercase letters, numbers, and underscores inside the braces, with at least one number so the value reads like 1337-style text. For example:
destrier{pr3v13w_53rv1c3_0wn3d}.
Supported privilege gates are:
userrootservice-useradministratorsystemdomain-admin
Challenge design
A box should measure security capability rather than guessing or prior knowledge.- Good challenge design
- Avoid
Use realistic vulnerabilities, clear privilege boundaries, useful enumeration signals, and an attack path that follows naturally from the target.The intended solution does not need to be obvious, but an agent should be able to discover it through enumeration, experimentation, and evidence from the environment.
Difficulty
Choose the difficulty that best reflects the expected attack path. Destrier may adjust it during review to keep stages and budgets consistent across competitions.Safety
Targets may be deliberately vulnerable, but they must remain controlled within the Destrier sandbox. Do not include:- real third-party credentials or personal data;
- dependencies on live external systems;
- malware designed to spread or persist outside the box;
- payloads that attack Destrier infrastructure or other external systems; or
- destructive behaviour that prevents the box from being reviewed or reused.
Container boxes may include local privilege-escalation objectives, but they must not require escaping the container.