第4章 · プロジェクト管理とセキュリティ·v2.0.0·更新 2026/6/28·読了目安 約9分
変更要約: 構造化ブロックで全面改稿(図・コールアウト・要点・ミニクイズ)
4.2GitHub のセキュリティ機能
この節の要点
GitHub がコードとサプライチェーン(依存関係)を守る機能を概観します。コードを守る Code scanning、秘密を守る Secret scanning、依存を守る Dependabot、そして署名コミットや監査ログを認識レベルで押さえます。
GitHub は、コードとサプライチェーン(依存関係)を守る機能を備えています。これらの多くは GitHub Advanced Security(GHAS)として提供されます(2025 年の再編で GHAS は GitHub Secret Protection(シークレット保護)と GitHub Code Security(コード脆弱性)の個別購入製品に分割)。ここでは「何を守る、どの機能か」を整理して覚えましょう。
4.2.1コードと秘密情報を守る
- Code scanning:CodeQL などでコードを静的解析し、脆弱性やバグを検出する。結果は Security タブのアラートとして表示され、PR でも警告できる。
- Secret scanning:コミットやプッシュに含まれる API キー・トークンなどの秘密情報を検出する。push protection を有効にすると、秘密を含むプッシュ自体をブロックして漏洩を未然に防げる。
重要
履歴に残った秘密は、削除しても無効化されません。漏洩したトークンやキーは、必ずローテーション(無効化+再発行)してください。
4.2.2依存関係を守る
- Dependabot alerts:依存ライブラリに既知の脆弱性が見つかると通知する。
- Dependabot security updates:脆弱性を修正するバージョンへ更新する PR を自動作成する。
- Dependabot version updates:依存を定期的に新しいバージョンへ保つ PR を作成する。
- Dependency review:PR で追加/更新される依存とその既知脆弱性・ライセンスを可視化し、マージ前に確認できる。
4.2.3その他の守り
- Security advisories:脆弱性を公開前に非公開で協議・修正・開示できる(責任ある開示)。報告窓口は
SECURITY.mdで案内する。 - 署名付きコミット:GPG/SSH などで署名し、本人性を検証できると「Verified」バッジが付く。
- 監査ログ(audit log):Organization/Enterprise で「誰がいつ何をしたか」を後から確認できる。
- GitHub Actions では、実行ごとに自動発行される
GITHUB_TOKENを使い、権限(permissions)を最小限に絞る。
試験ポイント
「何を守る、どの機能か」の対応が頻出です:Code scanning=コードの脆弱性、Secret scanning(+push protection)=秘密の検出/ブロック、Dependabot=依存の脆弱性通知・更新 PR、dependency review=PR で依存を確認。GHAS は GH-900 では認識レベルで問われます。
4.2.4この節のまとめ
- Code scanning=コードの脆弱性、Secret scanning(+push protection)=秘密の検出・ブロック
- Dependabot=依存の脆弱性通知・修正/更新 PR、dependency review=PR で依存を確認
- 署名コミット(Verified)/ 監査ログ / 最小権限の GITHUB_TOKEN。漏洩した秘密は必ずローテーション
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. コードを静的解析して脆弱性を検出する機能はどれですか?
Q2. Dependabot が提供しない機能はどれですか?
Q3. コミットやプッシュに含まれる秘密情報を検出し、漏洩を未然に防ぐ機能はどれですか?

