github-samples / github-samples/pets-workshop
GitHub security workshop: Add a deterministic CodeQL scanning lab
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 80
- Fork
- 161
- Merge medio
- 31m
- PR unite (30g)
- 1
Descrizione
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
- The exercise explains default setup versus advanced setup and selects one tested path.
- Learners enable CodeQL using current, capability-based instructions.
- A training fixture or guided code change triggers a named CodeQL query deterministically.
- The fixture contains no real secret, external side effect, or production deployment path.
- Learners trigger analysis on a branch or pull request and can identify the resulting check.
- The expected query ID, severity, file, and vulnerable data flow are documented for maintainers.
- A repeatable validation step proves the expected alert appears.
- Cleanup/reset instructions return the repository to a safe state.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando l'applicazione pets e le istruzioni di configurazione esistenti del workshop, quindi confronta le opzioni di configurazione predefinita e avanzata di CodeQL. Definisci un fixture destinato esclusivamente alla formazione o una modifica guidata e documenta la query denominata, la gravità, il file, il flusso dei dati, il trigger del branch o della pull request, il passaggio di convalida e la procedura di pulizia. L'attività è completata quando l'avviso compare in modo affidabile senza secrets, effetti collaterali o un percorso di produzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- github, github-actions, python
- Ambito
- documentation, security
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 50/100