Overview
What this challenge is about.
Use CodeQL to write queries for Java and Python that detect data flow from PII sources (request parameters, database columns marked PII, user-profile fields) into logging sinks (slf4j, java.util.logging, Python logging module). Define a PII source model based on type annotations and method-name patterns. Build a benchmark of 200 cases (50 true positives + 50 true negatives per language, provided as test repos). Tune precision via taint-tracking refinements (sanitizers for hashed/redacted values). Deliver the .ql query files, benchmark harness, results table, and a 5-page report explaining precision/recall numbers and where the queries currently miss (e.g. PII passed through reflection).
The Brief
What you'll do, and what you'll demonstrate.
Build a CodeQL query pack that detects PII-in-logs across Java and Python with above 85 percent precision on a 200-case benchmark.
Earning criteria — what you'll demonstrate
- Write CodeQL queries using the standard library's data-flow framework
- Model PII sources and logging sinks across two languages
- Tune precision via sanitizers without collapsing recall
- Evaluate static-analysis queries on a labeled benchmark
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.