Instiq
第3章 · セキュアな開発とコンプライアンス·v1.0.0·更新 2026/7/16·読了目安 約15分

変更要約: GH-100 第3章を新規作成(ポリシーとルールセット=メンバー権限の統制 vs コード変更の強制・Enterprise 波及・監査ログ/SIEM ストリーミング・多層防御、リポジトリのセキュリティ機能=脆弱性アラート/secret scanning/CodeQL の有効化・デフォルト構成・Dependabot/アドバイザリ・対応計画/SECURITY.md、API と連携=fine-grained PAT/最小権限/失効・GitHub App vs OAuth App・レート制限・アプリの承認/拒否)

3.2リポジトリのセキュリティ機能

この節の要点

脆弱性アラート・secret scanning・CodeQL の構成、Dependabot とセキュリティアドバイザリの管理、そしてセキュリティ対応計画(response plan)の定義と実装を、管理者の視点で理解します。

管理者は、GHAS(GitHub Advanced Security, 第3章は GH-500 が詳細)の各機能を 組織横断で有効化・統制 し、検知から対応までの 仕組み を整えます。GH-100 では、機能の 構成 と、検知された問題への 対応計画 を管理者として用意する力が問われます(深い運用は GH-500 が担う領域で、ここは管理者視点の有効化と統制)。

3.2.1脆弱性アラート・secret scanning・CodeQL

管理者は次を組織/リポジトリで有効化します——脆弱性アラート(依存の既知脆弱性, Dependabot 連携)、secret scanning(Secret Protection)(漏洩した秘密の検出と Push Protection)、CodeQL(Code Security)(コードの静的解析)。デフォルトセキュリティ構成 を使うと、これらをテンプレート化して 多数のリポへ一斉適用+継承 できます(GH-500 と共通の考え方)。公開リポは多くが無料、プライベート/Enterprise は GHAS ライセンス が要る点も管理者の前提知識です。

3.2.2Dependabot とセキュリティアドバイザリ

Dependabot は依存の脆弱性を検知し、セキュリティ更新(安全な版への PR)バージョン更新 を行います(GH-500 で詳述)。セキュリティアドバイザリ(GitHub Advisory Database / リポジトリのアドバイザリ)は、脆弱性情報の出所で、リポジトリ管理者は自プロジェクトの脆弱性を 非公開で修正してから公開 できます。管理者は、これらの機能を組織で有効化し、通知やアラートの 受信者/権限 を整え、修復が滞らないようにします。

3.2.3セキュリティ対応計画

検知の仕組みを整えるだけでなく、検知された問題に 誰が・どの優先順位で・いつまでに対応するか対応計画(response plan) を定めます——重大度の基準(ルールセットは重大度ベースのマージ保護を強制可。時間SLAの強制は不可)、役割と所有権(開発者/security manager/管理者)、エスカレーション、記録(dismiss の理由)です。これにより、アラートが 放置されず確実に修復 される運用を実現します。リポジトリには SECURITY.md を置いて脆弱性の報告手順(連絡先・対応方針)を公開することもできます。

試験ポイント

頻出:
①管理者は脆弱性アラート/secret scanning(Secret Protection)/CodeQL(Code Security)を組織横断で有効化、デフォルトセキュリティ構成で一斉適用+継承。公開=無料/プライベート=GHAS ライセンス。
Dependabotで依存脆弱性検知+自動 PR、セキュリティアドバイザリは脆弱性情報源(非公開修正→公開)。
③検知だけでなく対応計画(誰が/優先度/SLA/役割/記録)を定め放置を防ぐ。SECURITY.md で報告手順を公開。

注意

混同・注意:
①機能の「有効化」だけでは不十分——検知に対する対応計画と所有権がないと放置される。
②プライベート/Enterprise で全機能は GHAS ライセンスが要る(公開=無料と混同しない)。
③Dependabot のセキュリティ更新(脆弱性起点)とバージョン更新(定期最新化)は別物。
④SECURITY.md は報告手順の公開であり、検知/修復そのものではない。

secret scanning・CodeQL・Dependabot・デフォルト構成の図。
検知+対応計画(SLA/役割)

3.2.4この節のまとめ

  • 脆弱性アラート/secret scanning/CodeQL を組織横断で有効化、デフォルト構成で一斉適用+継承
  • Dependabot で依存脆弱性検知+自動 PR、セキュリティアドバイザリは脆弱性情報源(非公開修正→公開)
  • 検知だけでなく対応計画(誰が/優先度/SLA/役割/記録)を定め放置を防ぐ
  • プライベート/Enterprise の全機能は GHAS ライセンス、SECURITY.md で報告手順を公開

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 管理者が多数のリポジトリに脆弱性アラート・secret scanning・CodeQL を一斉に有効化し、以後のリポにも継承させたいです。使うものは?

Q2. 依存の既知脆弱性を検知し、安全な版へ上げる PR を自動作成する機能はどれですか?

Q3. プライベートリポジトリや Enterprise で GHAS の全機能(secret scanning/CodeQL 等)を使うために一般に必要なものは?

Q4. 検知したセキュリティ問題が放置されないようにするために、管理者が用意すべきものは?

Q5. 自プロジェクトの脆弱性を、修正できるまで非公開で扱い、準備が整ってから公開できる仕組みは?

Q6. リポジトリで脆弱性の報告手順(連絡先・対応方針)を公開するファイルはどれですか?

理解度を確認第3章「セキュアな開発とコンプライアンス」の問題を解く