Challenge list
CI/CD Security - GitHub Actions Vulnerability
Audit the 20 GitHub Actions workflows under `/challenge/repo/.github/workflows/`. Many steps carry a `# audit-ticket:…
Detect Unauthorized Access in CloudTrail Logs
Analyze the CloudTrail export `/challenge/cloudtrail.json` and trace the unauthorized use of a stolen access key and…
Extract Secrets from Docker Image Layers
`/challenge/image/` is an unpacked `docker save` export (OCI layout). The layers are stored in `blobs/sha256/` as…
Infrastructure as Code - Terraform Security
Analyze the generated terraform/terraform.tfstate without initializing a Terraform provider. The output…
Kubernetes Basics - Cluster Investigation
Investigate the two snapshots in artifacts/kubernetes/ (pod-snapshot.yaml and secret-snapshot.yaml) without connecting…
Advanced Python - Custom VM Bytecode Execution
program.kvm is bytecode for a custom four-register VM. Implement an interpreter in Python from the instruction…
Decrypt TLS-Encrypted HTTPS Traffic
In `~/evidence/` there is a capture `traffic.pcap` (libpcap format) of HTTPS traffic from a client PC, and the TLS key…
Web-26. Prototype Pollution in User Profile Manager
In this Node.js/Express app, a logged-in user can update their own profile. Check whether the recursive merge function…
Web-27. GraphQL Introspection Leak
This GraphQL API exposes a schema of User objects with introspection enabled. Investigate whether undocumented queries…
Web-28. Hijacking an OAuth Authorization Code
This OAuth 2.0 authorization provider offers a login flow, but its redirect_uri validation may be weak. Investigate…
Web-29. NoSQL Injection in a MongoDB Login Form
This login portal is backed by MongoDB and builds its query directly from raw JSON username/password input.…
Web-30. Insecure Deserialization in KinoVault
A legacy backup system codenamed KinoVault reportedly serializes user session objects with Python's pickle module and…
Custom Tool Development - Web Directory Scanner
Analyze the locally generated artifacts/scanner/directory-report.ndjson instead of scanning a live website. The…
Network Tunneling - SSH Port Forwarding
Practice SSH local port forwarding inside one container. SSH listens on 127.0.0.1:22 and the internal service uses…
Binary Repair - Firmware Header and CRC32
Repair firmware.bin by writing KINO at bytes 0-3 and the little-endian CRC32 of bytes 12+ at bytes 8-11. Submit the…
Programming - C2 Traffic Analysis
Analyze the synthetic log beacon.log, which is generated randomly at every start (no network connection is needed).…
Programming - Buffer Overflow Crash Analysis
Analyze the crash reports crash_01.txt to crash_06.txt, which are generated randomly at every start (they contain no…
Programming - Fuzzing Result Analysis
Analyze the fuzzing result log fuzz-results.log, which is generated randomly at every start (inputs are merely stored;…
Programming - Blockchain Event Reassembly
/challenge/blocks.json is a list of blocks from an offline development chain, regenerated with random data every time…
Programming - Rootkit View Diffing
proc_ps.txt (the userland ps output) and proc_kernel.txt (the result of walking the kernel task list directly) are…
Programming - Anomaly Detection
/challenge/requests.csv is a web API access log that is regenerated with random data every time the container starts…
Programming - Pentest Finding Analysis
findings.json is a scan result built from random data at every start (in /challenge). It has entry (edge-gw),…
Programming - Async Scan Result Analysis
/challenge/scan-events.jsonl is the event log of an asynchronous port scanner, regenerated with random data every time…
Extract Malware Payload from Memory
`/challenge/memstrings.txt` holds the strings extracted from the address space of a suspicious process, and the…