変更要約: GH-500 第5章を新規作成(脆弱性コンテキストと優先順位付け=CVE/CWE/GHSA・リポジトリアドバイザリ・ルールセットで重大度/SLA 強制・CVSS+EPSS+到達可能性+資産重要度・キャンペーン/一括管理・自動却下と記録、カスタマイズとガバナンス・シフトレフト=CodeQL クエリスイート[default/security-extended/カスタム]・役割/委譲例外/所有権・スイート横断ルールセット強制・Push Protection/依存スキャン/マージ前解析)
5.1脆弱性のコンテキストと優先順位付け
CVE・CWE・GitHub Security Advisory の概念、アラートとアドバイザリにまたがるエンドツーエンドの修復ワークフロー、重大度/修復のルールセットの定義・優先順位付け・強制、キャンペーンベースの一括管理、そして自動却下と記録の実践を理解します。
セキュリティ運用(SecOps)の要は、出てきた大量のアラートを 共通言語で理解し、優先順位を付け、組織として修復を回す ことです。GH-500 ではまず、脆弱性を語る 標準概念 を押さえます——個別の脆弱性 ID の CVE、脆弱性の種類分類の CWE、そして GitHub が提供する Security Advisory です。
5.1.1CVE・CWE・GitHub Security Advisory
CVE(Common Vulnerabilities and Exposures) は、特定の製品/版の 個別の脆弱性に付く一意の ID(例: CVE-2024-XXXXX)です。CWE(Common Weakness Enumeration) は、SQL インジェクションやバッファオーバーフローといった 弱点の「種類」の分類(例: CWE-89)です(CVE が「事例」、CWE が「種類」)。GitHub Security Advisory(GHSA) は、GitHub Advisory Database に収録される脆弱性情報で、Dependabot の検知の裏付けになります。リポジトリ管理者は リポジトリのセキュリティアドバイザリ を作成して、自プロジェクトの脆弱性を 非公開で修正してから公開 することもできます。
5.1.2ルールセットによる優先順位付けと強制
大規模では、対応方針を ルールセット として定義し、コードスキャンのマージ保護(一定重大度以上のアラートがある PR はマージ不可)を組織横断で 強制 します。修復の SLA(期限) はポリシー目標として定め(キャンペーンの期日などで追跡)遵守を促します。「未修復の高重大度アラートがある PR はマージ不可」といった保護を 必須化 します。優先順位は、重大度(CVSS)・悪用確率(EPSS)・到達可能性(実際にコードパスに乗るか)・資産の重要度を総合して決めます。これにより、限られたリソースを 最もリスクの高いもの に集中させます。
5.1.3キャンペーンと一括管理・自動却下
キャンペーンベースの修復(第1章)は、多リポにまたがる同種のアラートを束ねて計画的に片付けます。一括管理(bulk alert management) で複数アラートをまとめて状態変更・割り当てし、運用を効率化します。自動却下(automated dismissal) は、明確に許容できる条件のアラートを自動で取り下げますが、記録(ドキュメント化) を伴い、後から「なぜ却下したか」を追えるようにします。安易な自動却下はリスクの見逃しになるため、条件設計が重要です。
頻出:
①CVE=個別の脆弱性 ID、CWE=弱点の種類分類、GHSA=Advisory Database の脆弱性情報(リポジトリアドバイザリで非公開修正→公開も可)。
②大規模はルールセットで重大度/SLA を強制(例: Critical を X 日以内)。
③優先順位=CVSS+EPSS+到達可能性+資産重要度。
④キャンペーン/一括管理で効率化、自動却下は記録(ドキュメント化)必須。
混同・注意:
①CVE(事例)と CWE(種類)を混同しない。
②重大度(CVSS)だけで優先順位を決めない——EPSS(悪用確率)や到達可能性も加味。
③自動却下は記録なしだと「なぜ消したか」を追えず危険——必ずドキュメント化。
④ルールセットは「定義」だけでなく強制してこそ効く(任意では守られない)。
5.1.4この節のまとめ
- CVE=個別の脆弱性 ID、CWE=弱点の種類分類、GHSA=Advisory Database の脆弱性情報
- 大規模はルールセットで重大度ベースのマージ保護を強制(SLA 期限はポリシー目標として追跡)
- 優先順位は CVSS+EPSS+到達可能性+資産重要度を総合
- キャンペーン/一括管理で効率化、自動却下は記録(ドキュメント化)を伴う
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. CVE と CWE の違いとして正しいものはどれですか?
Q2. 組織全体で「一定重大度以上の未修復アラートがある PR はマージ不可」を強制したいです。使う仕組みは?
Q3. 脆弱性の優先順位付けで、重大度(CVSS)に加えて考慮すべき要素の組み合わせとして適切なものは?
Q4. 自プロジェクトの脆弱性を、修正できるまで非公開で扱い、準備が整ってから公開したいです。使うものは?
Q5. 明確に許容できる条件のアラートを自動で取り下げる「自動却下」の運用で必須なのは?
Q6. 多数のリポジトリにまたがる同種の脆弱性を、計画的に一括で修復したいです。最も適した仕組みは?

