首页/开发/Git 与协作速查/来自 Fork 的 PR 审批与运行策略
协作与代码评审75 条

来自 Fork 的 PR 审批与运行策略

外部贡献者通过 Fork 发起 PR 时,工作流可能默认需要维护者批准后才运行,且密钥不注入:这是防滥用设计,不是配置错误。

Git 与协作速查开发更新于 2026-10-12
GitHub 默认首次贡献者需批准才运行工作流;pull_request 事件默认不提供密钥
安全做法用 pull_request_target 要格外谨慎,避免不可信代码获得写权限
替代对高风险步骤改为「审批后运行」或维护者本地复现

维护者操作

维护者操作
gh pr view 128 --json files,author
git fetch origin pull/128/head:pr-128
# 本地复现验证后再批准运行
对 Fork PR 的 CI 结果要保持警惕:同一份工作流可能因权限不同而行为不同。

易错点

  • 直接给 pull_request_target 配写权限会放大供应链风险,务必限制可执行内容
  • 把密钥当作「反正 CI 里都能用」暴露给未审批 PR,是常见的安全事故来源

数据来源与参考

  • GitHub Docs:Approving workflow runs from public forks
  • GitHub Docs:Events that trigger workflows(pull_request_target 风险)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌