変更要約: GH-500 第1章を新規作成(Security スイートとアーキテクチャ=3つの柱 Code Security/Secret Protection/サプライチェーン・旧称・公開vsEnterpriseの可用性とライセンス・Security Overview、セキュア SDLC とアラート戦略=予防優先 vs ゲートベース・セキュリティキャンペーン・検知/管理/対応・役割[開発者/security manager/管理者]・dismiss の作法・委譲バイパスと強制)
1.2セキュア SDLC とアラート戦略・ガバナンス
GitHub Security スイートを用いたエンドツーエンドのセキュア SDLC、予防優先(prevention-first)とゲートベースの戦略の比較、セキュリティキャンペーンの役割、アラートの検知・管理・対応、そして役割(開発者/セキュリティ/管理者)・委譲バイパス・強制を理解します。
GHAS の真価は、機能を SDLC 全体 に組み込み「シフトレフト(早期に防ぐ)」する点にあります。コードを書く段階から、PR、マージ、デプロイまで各所でセキュリティを効かせ、検知 → 優先順位付け → 修復 のサイクルを回します。GH-500 では、戦略の選択(予防優先かゲートか)、キャンペーンによる大規模修復、そして役割とガバナンスが問われます。
1.2.1予防優先 vs ゲートベース
予防優先(prevention-first) は、問題を そもそも入れない 戦略です——たとえば Push Protection で秘密のコミットを源流で止める(第2章)。ゲートベース は、PR マージや デプロイの前に検査 を置いて通過を制御する戦略です——Code Scanning や Dependency Review を 必須チェック にして、脆弱性があればマージをブロックします。両者は排他ではなく、組み合わせて 多層 にします。「混入を防ぐ(予防)」と「混入を通さない(ゲート)」の役割の違いを押さえます。
1.2.2セキュリティキャンペーン
セキュリティキャンペーン は、多数のリポジトリにまたがる 既存アラートを束ねて計画的に修復 する仕組みです。セキュリティチームが「この種の脆弱性を期限までに直す」と対象を選び、各リポの担当者に修復を割り当て、進捗を追跡します。個別対応では追いつかない 大規模な技術的負債(リスク)の削減 に有効で、PR ベースの修復や自動化と組み合わせます。
1.2.3アラートの管理・役割・委譲バイパス
アラートには 役割ごとの責任 があります——開発者 は自分のコード/PR のアラートを修復、セキュリティ担当(security manager) は方針・優先順位・例外を管理、管理者 は機能の有効化とポリシーを統制します。アラートの 却下/無視(dismiss) は慎重に行い、理由を記録します(不用意な dismiss はリスクを見逃す)。委譲バイパス(delegated bypass) は、Push Protection 等のブロックを 承認制で一時的に回避 できる仕組みで、誰がバイパスを承認できるかを アクセス管理と強制 で制御します。
頻出:
①予防優先(Push Protection 等で源流で防ぐ) と ゲートベース(必須チェックでマージ/デプロイ前にブロック) の違い・併用。
②セキュリティキャンペーン=多リポの既存アラートを束ねて計画的に大規模修復。
③役割=開発者(修復)/security manager(方針・例外)/管理者(有効化・ポリシー)。
④アラートの dismiss は理由記録+慎重に。
⑤委譲バイパス=承認制でブロックを一時回避(誰が承認できるかを制御)。
混同・注意:
①予防(混入させない)とゲート(通過させない)は役割が別——どちらか一方でなく多層で。
②アラートの安易な dismiss はリスクの見逃しにつながる(理由の記録と方針が必要)。
③委譲バイパスは「無制限の回避」ではなく承認制の例外——誰が承認できるかを統制する。
④セキュリティキャンペーンは「個別修復の置き換え」ではなく大規模な束ね修復の仕組み。
1.2.4この節のまとめ
- 予防優先(源流で防ぐ)とゲートベース(マージ/デプロイ前にブロック)を組み合わせて多層に
- セキュリティキャンペーンで多リポの既存アラートを束ねて計画的に大規模修復
- 役割:開発者(修復)/security manager(方針・例外)/管理者(有効化・ポリシー)
- dismiss は理由記録+慎重に、委譲バイパスは承認制の例外(承認者を統制)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 秘密が「そもそもコミットされない」よう源流で防ぐアプローチは、どの戦略に分類されますか?
Q2. PR マージ前に Code Scanning や Dependency Review を必須チェックにして、脆弱性があれば通過させない戦略はどれですか?
Q3. 多数のリポジトリにまたがる既存アラートを束ね、期限を決めて計画的に修復を進める仕組みはどれですか?
Q4. セキュリティアラートの dismiss(却下/無視)について、責任ある運用として正しいものは?
Q5. Push Protection 等のブロックを、承認制で一時的に回避できる仕組みはどれですか?
Q6. GHAS を SDLC 全体に組み込む「シフトレフト」の狙いとして最も適切なものは?

