原文標題:pull_request_target blocked by default December 2
GitHub 11 月 2 日更新 GitHub Actions 的工作流程執行保護時程,確認從 2026 年 12 月 2 日起,所有公開儲存庫的 pull_request_target 事件將預設遭到封鎖,除非適用的 Actions event policy 明確允許。這項措施原訂 11 月 2 日開始強制執行,現已延期一個月。
pull_request_target 與一般 pull_request 觸發器的執行權限不同,會在基底儲存庫的脈絡下執行,因此可能接觸該儲存庫的 secrets。若工作流程從外部 fork 拉取並執行未經信任的程式碼,攻擊者就可能利用較高權限竊取憑證或影響 CI/CD 管線。
GitHub 已先讓這項預設規則進入 evaluate mode,管理者可以在 Insights 中看到哪些執行會被阻擋,但目前不會因該規則直接中止正常流程。官方另排定兩次 brownout:11 月 9 日及 11 月 16 日,均為 UTC 16:00 至 18:00,期間預設保護會短暫強制生效。
演練期間,受影響的公開儲存庫如果嘗試觸發被禁止的 pull_request_target 工作流程,將產生帶有錯誤註記的失敗執行紀錄,工作流程不會真正執行。每次演練結束後,規則會回到 evaluate mode,工作流程可繼續執行,但會留下警告。
管理者可在首次演練前透過 Insights 找出依賴該事件的工作流程,選擇保留預設封鎖,或在適用的 Actions 事件政策中明確允許,並透過 workflow file targeting 只放行特定工作流程。官方特別說明,這項調整適用 GitHub Free、GitHub Team 及 GitHub Enterprise Cloud 的公開儲存庫,不影響私人與內部儲存庫,也不適用 GitHub Enterprise Server。
發生了什麼事
GitHub 將公開儲存庫 pull_request_target 事件改為預設阻擋,12 月 2 日正式強制實施,11 月 9 日及 16 日安排兩次演練。
為什麼重要
這個事件能以基底儲存庫權限接觸 secrets,若誤執行 fork 的不受信任程式碼,可能導致 CI/CD 憑證外洩;預設封鎖降低誤用風險。
影響哪些人
公開儲存庫維護者、開源專案 CI/CD 管理員與 GitHub Free、Team、Enterprise Cloud 使用者應檢查工作流程及政策。
已確認與未確認
官方已確認日期、UTC 演練時段與適用方案;私人、內部儲存庫及 Enterprise Server 不受影響。是否需要放行,仍須由專案管理者依流程評估。