Goal
Teach learners how to enable code scanning and observe a real, intentionally introduced CodeQL finding in the pets application.
Scope
Add one safe training change that is detected reliably by a documented Python CodeQL query. The vulnerable path should be realistic enough to teach source-to-sink reasoning, but isolated from normal workshop startup and clearly marked as training-only. Provide a maintainer verification procedure so dependency or query-suite updates cannot silently break the exercise.
Acceptance criteria
Goal
Teach learners how to enable code scanning and observe a real, intentionally introduced CodeQL finding in the pets application.
Scope
Add one safe training change that is detected reliably by a documented Python CodeQL query. The vulnerable path should be realistic enough to teach source-to-sink reasoning, but isolated from normal workshop startup and clearly marked as training-only. Provide a maintainer verification procedure so dependency or query-suite updates cannot silently break the exercise.
Acceptance criteria