github-samples / github-samples/pets-workshop
GitHub security workshop: Add a deterministic CodeQL scanning lab
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 80
- フォーク
- 161
- 平均マージ
- 31分
- マージ済み PR(30日)
- 1
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず pets アプリケーションと workshop の既存のセットアップガイダンスを確認し、その後、CodeQL のデフォルトセットアップと高度なセットアップのオプションを比較します。トレーニング専用の fixture またはガイド付きの変更を定義し、名前付きクエリ、重要度、ファイル、データフロー、branch または pull request のトリガー、検証手順、クリーンアップ手順を文書化します。アラートが secrets、副作用、本番パスなしで確実に表示されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github, github-actions, python
- 領域
- documentation, security
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 50/100