GitHub 今年调整了 pull_request_target 的运作方式,两项带日期的变更会影响所有使用该触发器的公开仓库。作者用自研 AI 工程系统 HAL 做了免费检查工具 prt-check,扫描了 GitHub 上 star 数最高的 1,000 个仓库。
两项变更:自 2026-07-20 起,actions/checkout 在 pull_request_target 和 workflow_run 工作流中默认拒绝检出 fork 的 PR 代码,除非显式选择加入;自 2026-11-02 起,GitHub 会阻止没有 Actions 策略允许该触发器的公开仓库使用 pull_request_target。
扫描时间为 2026-09-26,距 11-02 的默认封锁还有 37 天,报告只给聚合数字,不点名任何仓库。1,000 个仓库中有 269 个(26.9%)至少有一个工作流跑在 pull_request_target 上,共 540 个工作流文件;若维护者未在 Actions 策略中允许该触发器,这些工作流将在 2026-11-02 停止运行。9 个(0.9%)在特权工作流中检出 fork 的 PR 代码,且 actions/checkout 带新防护、没有排除 fork 的条件,自 2026-07-20 起这些检出会被拒绝。3 个把 actions/checkout 固定在防护之前的版本或提交上,防护不生效,fork 代码会在工作流 token 和 secrets 所在环境中被检出,最需优先修复。4 个用 allow-unsafe-pr-checkout: true 主动选择加入。9 个用 git fetch ...pull/... 或 gh pr checkout 在特权工作流中拉取 PR 代码,绕过新防护。8 个在 pull_request_target 上跑 AI 或审查类 action,除非允许该触发器,否则 2026-11-02 后这些审查会静默失效。
这些工作流中最常用的 action 按使用仓库数排列:actions/github-script 125、actions/labeler 50、actions/create-github-app-token 25、actions/setup-node 22、actions/setup-python 16、amannn/action-semantic-pull-request 13、eps1lon/actions-label-merge-conflict 12、actions/upload-artifact 12、contributor-assistant/github-action 10、step-security/harden-runner 6、dorny/paths-filter 6、actions/download-artifact 6。AI 与审查类 action:anthropics/claude-code-action 5、presubmit/ai-reviewer 1、anthropics/claude-code-base-action 1、openai/codex-action 1。
样本取自 2026-09-26 GitHub 仓库搜索的 1,000 个 star 最高、非 fork、非归档公开仓库,其中 809 个有工作流文件,共 9,328 个,全部可读。只读取默认分支上的 .github/workflows/*.yml 和 *.yaml,未运行任何工作流。Actions 策略从外部不可见,因此部分仓库可能已允许该触发器并在 2026-11-02 后继续运行;这些数字统计的是依赖该触发器的工作流,而非确定会停止的工作流。
建议先在自己的仓库上跑 prt-check,再按 README 里的三种修复方式处理:改用 pull_request、拆成 pull_request + workflow_run,或保留触发器并显式配置 Actions 策略。