GitHub:2つのセキュリティアップデートがGitHub Actionsをpwnリクエスト攻撃から守る
GitHubは1日でActionsに対する2つの補完的なセキュリティアップデートを発表しました。actions/checkout@v7がフォークPRからのpwnリクエスト攻撃をブロックし、新しいワークフロー実行保護機能により管理者が組織全体でアクターとイベントタイプ別のアローリストを設定できます。
この記事はAIにより一次情報源から生成されました。
GitHubは2026年6月18日、GitHub Actionsに対する相互補完的な2つのセキュリティアップデートを発表しました。どちらも同じ根本的な問題に対処しています。信頼できないソースからのコードがリポジトリの特権環境で制御されずに実行される問題です。
pwnリクエストとは何か、なぜ長年問題であったのか
pwnリクエストとは、外部の貢献者がフォークからプルリクエストを開いたとき、起動されるワークフローが特権イベント——最も一般的なのはpull_request_target——を使用してベースリポジトリのシークレットへのアクセスを得る攻撃です。フォークの隔離されたコンテキストで実行される標準的なpull_requestイベントとは異なり、pull_request_targetはコードベースのコンテキストで実行され、GitHubトークンと保存されたシークレットにアクセスできます。このような攻撃1件で組織のCI/CDチェーン全体が危険にさらされます。
actions/checkout@v7:アクションレベルの安全なデフォルト
人気のcheckoutアクションの新バージョンは、デフォルトとして保護的な動作を導入します。pull_request_targetなどの特権イベントでは、アクションはフォークPRからコードを取得することを拒否し、代わりにリポジトリのベースブランチをチェックアウトします。これにより、手動での設定なしに最も一般的なpwnリクエスト攻撃シナリオが排除されます。特定のワークフローのために旧来の動作が必要なチームにはオプトアウトフラグが利用可能です。古いバージョンのcheckoutアクションへのバックポートは2026年7月16日に予定されています。
ワークフロー実行保護:組織レベルの保護
同時に、GitHubはワークフロー実行保護をパブリックプレビューに導入しました——GitHubの組織全体でアクターとイベントタイプ別のアローリストの定義を可能にする管理者向けメカニズムです。ワークフロー内の個々のステップのレベルで保護するcheckout@v7とは異なり、この機能はワークフローの実行が始まる前に適用されます。管理者は誰がどのタイプのイベントでワークフローをトリガーできるかを正確に指定できます——外部の貢献者、ボット、未知のアクターを体系的に除外または条件付きで許可でき、個々のワークフローファイルを変更する必要はありません。
よくある質問
- pwnリクエスト攻撃とは何ですか?なぜ危険なのですか?
- pwnリクエストとは、悪意あるフォークPRがフォークの隔離環境ではなくリポジトリの特権コンテキストでコードを実行する攻撃です。攻撃者はこれにより、コントリビューションを受け付けているリポジトリのシークレットとトークンへのアクセス権を得ます。
- actions/checkout@v7は具体的に何を変えますか?
- checkout@v7はpull_request_targetのような特権イベントでフォークPRからのコードの取得を自動的に拒否し、最も一般的なpwnリクエスト攻撃ベクターを排除します。既存のワークフローが以前の動作を必要とするチームにはオプトアウトフラグがあります。