GitHub Actions・CIシークレットの監査
CI/CDパイプラインは、現代のソフトウェア事業において、本番環境への最短経路だ。コードをpushすれば、テストが走り、ビルドされ、本番にデプロイされる。この自動化を支えているのが、パイプラインに保存されたシークレット ── 本番デプロイ鍵、クラウドの認証情報、コンテナレジストリのトークン、署名鍵、本番APIキーだ。つまりCI/CDの設定を握ることは、しばしば本番環境を握ることと等しい。M&Aにおいて、この事実が見落とされたまま事業が引き継がれることがある。
GitHub Actions、GitLab CI、CircleCIといったCI/CD基盤は、開発の生産性を劇的に高める一方で、強力な権限を持つシークレットの集積地であり、設定を誤れば本番環境への侵入経路になる。そして、これらのシークレットと権限は、旧オーナーの管理下で蓄積されたまま、買収後も棚卸しされずに残存しやすい。本連載で繰り返し扱った「ゾンビ権限」の、最も危険な形態の一つだ。
本稿では、なぜCI/CDが本番への最短経路なのか、パイプラインに潜むセキュリティリスク、シークレットと権限の棚卸し手順、サプライチェーンと自己ホストランナーの盲点、そしてCI/CDの成熟度をバリュエーションとセキュリティ評価にどう織り込むかを整理する。
1. CI/CDが「本番への最短経路」である理由

1-1. シークレットの権限が本番に直結する
CI/CDパイプラインに保存されるシークレットは、その性質上、本番環境を操作できる強い権限を持つことが多い。デプロイのためのクラウド認証情報、本番DBへの接続情報、コンテナレジストリへのpush権限、アプリの署名鍵 ── これらは「自動でデプロイする」ために必要だが、裏を返せば、これらを入手した者は本番環境を操作できる。
したがって、CI/CDの設定とシークレットへのアクセスを持つことは、本番環境への鍵を持つことと実質的に同じだ。「リポジトリへのアクセス」と「本番環境へのアクセス」は、CI/CDを介して直結している。この直結性を認識しないと、誰が本番を操作できるかの全体像を見誤る。
1-2. ワークフローの実行が誰の手で起きるか
CI/CDのもう一つの本質は、「コードの変更がワークフローを起動し、シークレットを使った処理が走る」という自動性だ。誰がワークフローを起動できるか ── pushできるか、PRを出せるか、手動実行できるか ── が、誰が本番デプロイを引き起こせるかを決める。外部からのPRがワークフローを起動できる設定になっていれば、攻撃面はリポジトリの外にまで広がる。
DDでは、ワークフローの起動条件と、起動できる主体(コラボレーター、外部コントリビューター)を確認する。「誰がコードを変更できるか」だけでなく「誰がパイプラインを起動し、シークレットを使う処理を走らせられるか」を見ることが、CI/CDのセキュリティ評価の起点だ。
2. パイプラインに潜むセキュリティリスク

2-1. シークレットの過剰な権限と無期限性
CI/CDのシークレットは、しばしば必要以上に強い権限を持ち、かつ無期限で有効なまま放置される。「とりあえず動かすため」に管理者権限の認証情報を入れ、最小権限の原則が適用されていないことが多い。さらに、長期間ローテーションされていないシークレットは、過去に漏洩していてもそれに気づけない。
DDでは、各シークレットの権限スコープ、最終更新日、用途を棚卸しする。本番への強い権限を持つシークレットほど、最小権限化とローテーションの優先度が高い。CI/CDシークレットは、本連載のCloudflare API Token(#34)やWiki機密(#45)と同じく、漏洩前提でのローテーションを買収後に行うべき対象だ。
2-2. ワークフロー権限とインジェクションの罠
CI/CDには、設定の不備に起因する固有の攻撃経路がある。ワークフローに付与されるトークン(GitHub Actionsのデフォルトトークン等)の権限が広すぎる、外部からのPRに対して特権的なワークフローが起動する設定になっている、ワークフロー内でユーザー入力を安全に扱っていない(コマンドインジェクションの余地がある)── これらは、悪意あるPRやコメントから本番権限を奪取される経路になり得る。
DDでは、ワークフローのトークン権限が最小化されているか、外部PRからの特権実行を許していないか、入力の扱いが安全かを確認する。これらの設定不備は、コードが健全でもパイプライン経由で侵害を許す、見えにくいが深刻なリスクだ。
3. シークレットと権限の棚卸し手順

3-1. シークレット台帳の作成
棚卸しの第一歩は、CI/CDに登録された全シークレットの台帳化だ。リポジトリレベル・組織レベル・環境(Environment)レベルに分散して登録されているシークレットを網羅し、各々について、①名前と用途、②権限スコープ(何にアクセスできるか)、③参照しているワークフロー、④最終更新日、⑤対応する外部サービスとそのアカウント、を記録する。
この台帳により、「どのシークレットが本番のどのリソースにアクセスできるか」が可視化される。用途不明のシークレット、参照されていない死んだシークレット、過剰な権限のシークレットが浮かび上がる。シークレット台帳は、CI/CD経由の攻撃面を可視化する地図であり、買収後のローテーション計画の基礎になる。
3-2. アクセス権と管理者の棚卸し
シークレットそのものに加え、組織・リポジトリの管理者(admin)と、ワークフローを操作できる権限を持つ人物を棚卸しする。組織のオーナー権限を持つアカウント、リポジトリのadmin、シークレットを閲覧・編集できる権限の保持者を一覧化し、退職者・元委託者・出所不明のアカウントがないかを確認する。
これは本連載で繰り返し扱ったゾンビ権限の棚卸しであり、CI/CDの文脈では特に深刻だ。なぜなら、これらの権限が本番への最短経路に接続しているからだ。退職者がCI/CDのadmin権限を保持していれば、それは本番環境への鍵を渡したままにしていることに等しい。
4. サプライチェーンと自己ホストランナーの盲点

4-1. サードパーティアクションという依存とリスク
GitHub ActionsをはじめとするCI/CDは、サードパーティが公開したアクション(再利用可能なワークフロー部品)を組み込んで使う。これは生産性を高めるが、外部コードを自社のパイプラインで実行することを意味する。サードパーティアクションが侵害されれば、それを使う全パイプラインのシークレットが危険に晒される(サプライチェーン攻撃)。
DDでは、使用しているサードパーティアクションを棚卸しし、それらが信頼できる提供元か、バージョンが固定(コミットSHAでのピン留め等)されているか、メンテナンスされているかを確認する。可変のタグ(@v1等)でアクションを参照していると、提供元が差し替えた瞬間に挙動が変わり得る。サプライチェーンの固定は、CI/CDセキュリティの重要な実務だ。
4-2. 自己ホストランナーのセキュリティ
CI/CDのジョブを自前のサーバー(自己ホストランナー)で実行している場合、追加のリスクが生じる。自己ホストランナーは、ジョブが実行される環境を自社で管理する必要があり、特にパブリックリポジトリで外部PRのジョブを自己ホストランナーで動かす設定は、攻撃者に自社インフラ上で任意コード実行を許す危険な構成だ。
DDでは、自己ホストランナーの有無、その隔離レベル、誰のジョブが実行されるか、ランナーが持つネットワークアクセスと認証情報を確認する。自己ホストランナーは、CI/CDが自社インフラに侵入する経路になり得るため、その管理状態はセキュリティDDの重要項目だ。
5. バリュエーションとチェックリスト

5-1. CI/CDの成熟度をセキュリティ評価に反映する
CI/CDの状態は、組織のセキュリティ成熟度と運用品質の両方を映す。シークレットが最小権限で管理され、定期的にローテーションされ、ワークフロー権限が絞られ、サードパーティアクションが固定され、自己ホストランナーが適切に隔離され、管理者権限が棚卸しされている事業は、本番環境への経路が統制されており、買収後のセキュリティリスクが低い。
逆に、強権限のシークレットが無期限で放置され、退職者がadmin権限を保持し、アクションが可変タグで参照され、設定不備で外部から特権実行できる事業は、すでに侵害されている可能性も含め、深刻なセキュリティ負債を抱える。CI/CDの成熟度は、財務諸表に載らないが、本番環境の安全性とインシデントリスクを直接左右する評価項目だ。
5-2. 買い手・売り手のチェックリスト
買い手は、①全シークレットの台帳と権限スコープ・更新日、②組織/リポジトリ管理者と退職者アクセスの有無、③ワークフローのトークン権限と外部PRの扱い、④サードパーティアクションの棚卸しと固定状況、⑤自己ホストランナーの有無と隔離、⑥環境保護ルールの設定、を確認する。買収後は本番権限を持つシークレットの一斉ローテーションを前提とする。
売り手は、シークレットを最小権限化・台帳化し、退職者の権限を剥奪し、ワークフロー権限を絞り、サードパーティアクションを固定し、自己ホストランナーを隔離しておく。「本番への経路が統制されている」ことを実証できる売り手は、買い手の最も根深いセキュリティ不安を解消し、CI/CDの成熟度を加点要素に転じさせられる。CI/CD監査は、本番への鍵を誰が握っているかを可視化する作業だ。
結論:本番への鍵は、CI/CDの設定の中に隠れている

CI/CDパイプラインは、開発の生産性を支えると同時に、本番環境への最短経路を提供する。そこに保存されたシークレットは本番を操作する権限を持ち、ワークフローの起動条件は誰が本番デプロイを引き起こせるかを決める。この本番への鍵が、旧オーナーの管理下で棚卸しされないまま蓄積され、買収後にそのまま引き継がれることが、最も見落とされやすく最も危険なリスクだ。
M&AにおけるCI/CD監査は、本番環境への経路を可視化し、誰が鍵を握っているかを明らかにし、買収による所有権移転に合わせて鍵を掛け替える作業だ。売り手にとってはCI/CDの統制が事業のセキュリティ価値を守り、買い手にとってはシークレットと権限の棚卸しが買収後の安全性を担保する。技術的DDの本質は、「便利な自動化」の裏に隠れた本番への経路を、検証可能な棚卸し手順に翻訳することにある。CI/CDは、その経路が最も集約された場所だ。