Este repositorio está diseñado para recoger retos propuestos por el alumnado con un flujo homogéneo basado en Pull Requests.
Categorías válidas de retos:
cryptography/forensic/miscellany/osint/pentesting/steganography/web/Plantilla didáctica:
example/template-challenge/Cada reto debe vivir en categoria/nombre-del-reto/ y contener:
categoria/nombre-del-reto/
├── challenge.yml
├── dist/
│ └── ...
└── writeup/
└── WRITEUP.md
La GitHub Action .github/workflows/validate-ctf-pr.yml ejecuta el script .github/scripts/validate_ctf_pr.py en cada Pull Request para comprobar:
categoria/nombre-del-reto).challenge.yml y writeup/WRITEUP.md.challenge.yml.type: standardstate: hiddensolution: writeup/WRITEUP.mdcategory con la carpeta.flags:
type: staticdata: case_insensitivefiles.name en el repositorio.El validador publica un comentario en la PR (que se actualiza en cada ejecución, sin duplicar comentarios antiguos) con:
Además, sube un artefacto ctf-validation-report con el informe completo.
example/template-challenge/.cryptography/rsa-warmup/.challenge.yml y writeup/WRITEUP.md.dist/.