---
title: "GitHub Actions 十二月二日起默認封鎖 pull_request_target"
url: https://sammy.hk/github-actions-pull-request-target-block/
author: Ethan
published: 2026-11-08T20:12:00+08:00
modified: 2026-11-08T09:51:55+08:00
description: "GitHub 於 2026 年 11 月 2 日更新 Actions changelog，宣布由 12 月 2 日起，所有公開儲存庫的 pull_request_target 事件將被默認封鎖，除非適用的 Actions event policy 明確允許；私人與內部儲存庫不受影響[1]。這項強制執行原定於 11 月 …"
categories: [AI]
tags: ["CI/CD", GitHub Actions, "供應鏈攻擊", "網絡安全", "開源"]
source: https://sammy.hk
---
![](https://sammy.hk/wp-content/uploads/2026/11/og-github-actions-pull-request-target.jpg)GitHub 於 2026 年 11 月 2 日更新 Actions changelog，宣布由 12 月 2 日起，所有公開儲存庫的 `pull_request_target` 事件將被默認封鎖，除非適用的 Actions event policy 明確允許；私人與內部儲存庫不受影響\[1\]。這項強制執行原定於 11 月 2 日生效，現已順延一個月，並會在正式生效前安排兩次預演。

## 風險何在

`pull_request_target` 在 base repository 的環境中執行，因此可以讀取該儲存庫的 secrets。若 workflow 在這個具備權限的環境中執行來自 fork 的不可信代碼，該代碼便有機會污染整條流水線，或直接竊取 secrets\[1\]。這個組合長久以來是供應鏈攻擊的常見入口：維護者為了在 PR 上留言或加標籤而使用此觸發器，卻未必意識到 checkout fork 代碼後執行的後果。

GitHub 透過 workflow execution protections 引入這項默認規則，初期以 evaluate 模式運行。在此模式下，規則不會阻止 workflow，只會標示哪些 run 在正式執行時會被攔截，讓管理員先掌握影響範圍\[1\]。

## 兩次 brownout 預演

在 12 月 2 日正式生效之前，GitHub 會安排兩個時段臨時執行默認保護。第一次為 11 月 9 日 16:00 至 18:00 UTC，第二次為 11 月 16 日 16:00 至 18:00 UTC，換算香港時間分別是 11 月 10 日及 11 月 17 日凌晨 00:00 至 02:00\[1\]。

在每個窗口之內，受影響公開儲存庫中被規則攔截的 `pull_request_target` workflow 會產生失敗的 run，並附上錯誤註解，workflow 本身不會執行。窗口結束後，規則會回復 evaluate 模式，workflow 可以繼續運行，但會出現警告。私人與內部儲存庫在整個過程中都不受影響\[1\]。

採用 brownout 而非直接切換，是為了讓維護者在可控時段內見到實際失敗，而非在正式生效當日才發現自動化流程中斷。

## 事前準備

GitHub 建議在 11 月 9 日首次 brownout 之前，先透過 Insights 查看哪些 workflow run 會被規則攔截。之後有兩條路可選：一是保留默認規則，讓 `pull_request_target` 繼續被封鎖；二是若 workflow 確實依賴此觸發器，在適用的 Actions event policy 中明確允許，並可利用 workflow file targeting 只放行指定 workflow，而非全面開放\[1\]。

具體設定方式見 GitHub 文件「Control workflow execution」一節。對於仍在使用 `pull_request_target` 處理外部貢獻的專案，較穩妥的做法是把權限收窄：只在必要時允許特定 workflow，並確保該 workflow 不會在取得 secrets 的情況下執行 fork 的代碼。

## 適用範圍

新規則適用於 GitHub Free、GitHub Team 及 GitHub Enterprise Cloud 上的公開儲存庫，不適用於 GitHub Enterprise Server\[1\]。這意味自建伺服器的企業用戶不受此變更影響，但同時亦不會自動獲得這層默認保護，需要自行在內部政策中處理同類風險。

距離正式生效尚有一個月，期間兩次 brownout 提供了實際測試機會。對依賴 `pull_request_target` 的開源專案而言，現時是檢查 workflow 依賴關係、更新政策與調整權限的時間窗口。

## 參考資料

\[1\] [pull\_request\_target blocked by default December 2（2026年11月2日）](https://github.blog/changelog/2026-11-02-pull_request_target-blocked-by-default-december-2)

### 相關文章：

1. [OpenAI 披露 PHP 嚴重漏洞修補過程，前沿 AI 早於攻擊者發現問題](https://sammy.hk/openai-%e6%8a%ab%e9%9c%b2-php-%e5%9a%b4%e9%87%8d%e6%bc%8f%e6%b4%9e%e4%bf%ae%e8%a3%9c%e9%81%8e%e7%a8%8b%ef%bc%8c%e5%89%8d%e6%b2%bf-ai-%e6%97%a9%e6%96%bc%e6%94%bb%e6%93%8a%e8%80%85%e7%99%bc%e7%8f%be/ "OpenAI 披露 PHP 嚴重漏洞修補過程，前沿 AI 早於攻擊者發現問題")
2. [Rust 官方警告：針對知名開發者的目標攻擊正在進行](https://sammy.hk/rust-%e5%ae%98%e6%96%b9%e8%ad%a6%e5%91%8a%ef%bc%9a%e9%87%9d%e5%b0%8d%e7%9f%a5%e5%90%8d%e9%96%8b%e7%99%bc%e8%80%85%e7%9a%84%e7%9b%ae%e6%a8%99%e6%94%bb%e6%93%8a%e6%ad%a3%e5%9c%a8%e9%80%b2%e8%a1%8c/ "Rust 官方警告：針對知名開發者的目標攻擊正在進行")
3. [OpenAI 報告揭盅:700 個「失控」AI 代理如何攻陷 Hugging Face,以及 116 間公司發起的集體網絡防禦](https://sammy.hk/openai-%e5%a0%b1%e5%91%8a%e6%8f%ad%e7%9b%85700-%e5%80%8b%e3%80%8c%e5%a4%b1%e6%8e%a7%e3%80%8dai-%e4%bb%a3%e7%90%86%e5%a6%82%e4%bd%95%e6%94%bb%e9%99%b7-hugging-face%e4%bb%a5%e5%8f%8a-116-%e9%96%93/ "OpenAI 報告揭盅:700 個「失控」AI 代理如何攻陷 Hugging Face,以及 116 間公司發起的集體網絡防禦")
4. [Hugging Face 推出 Microduck：售價 399 美元、可訓練新技能的開源鴨仔機械人](https://sammy.hk/hugging-face-%e6%8e%a8%e5%87%ba-microduck%ef%bc%9a%e5%94%ae%e5%83%b9-399-%e7%be%8e%e5%85%83%e3%80%81%e5%8f%af%e8%a8%93%e7%b7%b4%e6%96%b0%e6%8a%80%e8%83%bd%e7%9a%84%e9%96%8b%e6%ba%90%e9%b4%a8%e4%bb%94/ "Hugging Face 推出 Microduck：售價 399 美元、可訓練新技能的開源鴨仔機械人")
