github-samples / github-samples/pets-workshop
GitHub security workshop: Add a deterministic CodeQL scanning lab
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 80
- Forks
- 161
- Ø Merge
- 31 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
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.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Prüfung der pets-Anwendung und der vorhandenen Setup-Anleitung des Workshops und vergleiche anschließend die Optionen für das standardmäßige und das erweiterte CodeQL-Setup. Definiere ein ausschließlich für Schulungszwecke vorgesehenes Fixture oder eine angeleitete Änderung und dokumentiere die benannte Abfrage, den Schweregrad, die Datei, den Datenfluss, den Branch- oder Pull-Request-Trigger, den Validierungsschritt und das Verfahren zur Bereinigung. Als erledigt gilt die Aufgabe, wenn die Warnung zuverlässig erscheint, ohne Secrets, Seiteneffekte oder einen Produktionspfad zu verwenden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- github, github-actions, python
- Bereich
- documentation, security
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 50/100