Capture the Flag 4—CodeQL and chill
Join our Capture the Flag challenge to use your CodeQL skills or learn new ones.

Today at GitHub Satellite, we announced code scanning to enable the power of CodeQL analysis on your repositories and keep them safe—thanks to thousands of community-powered queries! Want to learn about CodeQL or brush up on your existing skills? Join our Capture the Flag (CTF) vulnerability hunting challenge, where you can hone your bug finding skills and learn all about CodeQL’s taint tracking features.
Are you ready for the challenge?
The GitHub Security Lab CTF is a contest where participants are challenged to find a security bug (the flag) in real code. During the challenge, you’ll hunt for a recently identified vulnerability in a popular container management platform that enabled attackers to inject arbitrary Java EL expressions. This ultimately led to a pre-auth Remote Code Execution (RCE) vulnerability.
Using CodeQL to track tainted data from a user-controlled bean property to a custom error message, you’ll learn to fill in any gaps in the taint tracking to carve a full data flow path to the vulnerability.
Writing CodeQL
Interested in learning about CodeQL ahead of the challenge? We also announced GitHub Satellite Workshops to help you find security vulnerabilities with CodeQL.
Learn more about writing CodeQL queries from these helpful resources:
- Introduction to CodeQL
- CodeQL detective tutorials
- Writing a basic CodeQL query for Java
- GitHub’s open source CodeQL Java trainings
- CodeQL Learning Lab (C/C++)
About the GitHub Security Lab
CTF is brought to you by the GitHub Security Lab team. Our mission is to inspire and enable the community to secure the open source software we all depend on. We can’t wait to see how the contest unfolds and help you with CodeQL along the way.
Tags:
Written by
Related posts

A maintainer’s guide to vulnerability disclosure: GitHub tools to make it simple
A step-by-step guide for open source maintainers on how to handle vulnerability reports confidently from the start.

Sign in as anyone: Bypassing SAML SSO authentication with parser differentials
Critical authentication bypass vulnerabilities (CVE-2025-25291 + CVE-2025-25292) were discovered in ruby-saml up to version 1.17.0. In this blog post, we’ll shed light on how these vulnerabilities that rely on a parser differential were uncovered.

Full exposure: A practical approach to handling sensitive data leaks
Treating exposures as full and complete can help you respond more effectively to focus on what truly matters: securing systems, protecting sensitive data, and maintaining the trust of stakeholders.