Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a comprehensive verification token system to the CTF platform, enabling participants to export a cryptographically signed completion certificate that can be validated externally. The changes include modifications to the setup, export, and testing scripts, as well as documentation updates and the addition of a Python script to verify tokens. This system ensures that CTF completions are securely tied to a user's GitHub identity and can be independently validated.
The most important changes are:
Verification Token System Implementation:
instance_idand a derivedverification_secretduring CTF setup, storing them in/etc/ctf/for use in token signing (ctf_setup.sh). [1] [2]verify exportcommand to require a GitHub username and generate a signed, base64-encoded verification token containing the username, instance ID, challenge count, and timestamp, with clear instructions for users. [1] [2] [3] [4] [5]verify_token.pyscript that verifies the exported token by checking the signature, payload fields, and matching the GitHub username, mimicking the production verification process.Testing and Validation Enhancements:
Documentation Updates:
README.md,.github/skills/ctf-testing/SKILL.md,CONTRIBUTING.md) to describe the new verification token workflow, including precise instructions for exporting and submitting the completion certificate. [1] [2] [3]These changes collectively provide a secure, user-friendly, and verifiable way for participants to prove CTF completion, tightly integrating the process with GitHub authentication.