MF Blogs 便利ツール
ベージュの背景に、パイプライン状につながったノードとそれを守る盾と南京錠のフラットイラスト

記事

GitHub Actions「Workflow Execution Protections」が正式リリース——pull_request_targetの悪用を既定で防止

GitHubは公式Changelogで、GitHub Actionsのワークフロー実行を制御する「Workflow Execution Protections」の正式リリースを発表しました。ワークフローファイル単位の適用範囲指定やREST API管理に加え、Pwn Requests対策として一部リポジトリでpull_request_targetを既定で無効化します。

0:00 0:00

GitHubは公式Changelogで、GitHub Actionsのワークフロー実行を制御する「Workflow Execution Protections」が正式リリース(GA)になったと発表しました。パブリックプレビューから提供されていた機能で、GitHub Enterprise、組織、リポジトリの各レベルで利用できるようになります。実行保護機能は、誰がワークフローを起動できるかを定める「アクタールール」と、どんなイベントで起動できるかを定める「イベントルール」を組み合わせ、実行前にこれらを評価する仕組みです。

GAで追加された3つの機能

プレビュー期間中から使えたアクタールール・イベントルールに加えて、正式リリースでは次の3つが新たに加わりました。

  • ワークフローファイル単位の適用範囲指定: リポジトリ全体ではなく、特定のワークフローファイルにルールを絞り込めます。例えばdeploy.ymlは特定チームに限定しつつ、CI用のワークフローは全コントリビューターに開放するといった運用が可能です。
  • Insights: エンタープライズ・組織・リポジトリ全体で、ルールがどのように評価・適用されているかを確認できます。ルールを強制する前後でポリシーの影響を監査し、調整するのに役立ちます。
  • REST API: エンタープライズ・組織・リポジトリのレベルで実行保護をプログラムから管理できます。ワークフローパスの条件を含むルールの作成・読み取り・更新・削除が可能になり、数百のリポジトリにわたって一貫したルールを維持したり、既存のガバナンスツールに組み込んだりしやすくなります。

プレビューから引き続き「Evaluate mode」も利用でき、ルールを強制する前にシャドーモードで動かし、どのワークフロー実行がブロックされるかを事前に確認できます。

緑色を基調にしたGitHubのオクトキャットのシルエットと、円弧状に光るラインが描かれたイラスト

画像引用元: GitHub Changelog

pull_request_targetを既定で制限する新デフォルト

pull_request_targetを使ったワークフローの脆弱性、いわゆる「Pwn Requests」は、Actionsワークフローで最も多く悪用される脆弱性の一つです。pull_request_targetはベースリポジトリのコンテキストでシークレットへのアクセス権を持って実行されるため、フォークから実行されたコードが信頼できない場合、パイプラインを汚染してシークレットを外部に流出させるおそれがあります。GitHubはこれを受けて、pull_request_targetイベントの実行を制限する既定の保護ルールを展開すると説明しています。

該当するイベントポリシーをまだ設定していないパブリックリポジトリでは、pull_request_targetを無効化する既定ルールが導入されます。このデフォルトはプライベート・内部リポジトリには適用されません。まずはEvaluate modeで運用され、強制適用が始まる前に、どのワークフロー実行が影響を受けるかを確認できます。GitHubは2026年11月2日に、GA以前から既定のpull_request_targetポリシーを使っていた対象リポジトリに対して、このルールを自動的に強制適用すると案内しています。

開発チームが取るべき対応

利用者はInsightsでEvaluateルールの結果を確認し、強制適用開始前にどのワークフロー実行が失敗するかを事前に把握できます。そのうえで、ルールをそのまま適用してpull_request_targetをブロックするか、そのトリガーに依存するワークフローが残っている場合は該当するActionsイベントポリシーで明示的に許可するかを選べます。新しいワークフローファイル単位のターゲティングを使えば、特定のワークフローだけを許可リストに載せることも可能です。

サプライチェーン攻撃やシークレット漏えいへの懸念が高まる中、フォークからのコード実行を悪用する攻撃手法は繰り返し報告されてきました。数百のリポジトリを運用する組織にとっては、ポリシーをコードとして一元管理できるREST APIの追加は、ガバナンス強化に向けた実務的な一歩といえます。CI/CDパイプラインを運用する開発チームは、まず自組織のリポジトリでEvaluate modeの結果を確認し、11月の強制適用開始前に必要な例外設定を済ませておくとよいでしょう。詳細な手順はAbout Actions policiesなどのドキュメントにまとまっています。