GitHub Actions Checkout 新增对恶意 pull\_request\_target 工作流的保护
原创
ZM
ZM
暗镜
2026年6月25日 06:00
北京
在小说阅读器读本章
去阅读
GitHub 在其 Actions 生态系统中实施了一项重大的安全增强,发布了 actions/checkout v7,旨在解决长期存在的一类漏洞,即“pwn 请求”。
此更新于 2026 年 6 月 18 日发布,为由 pull\_request\_target 事件触发的工作流引入了更安全的默认设置。该事件是 CI/CD 流水线中最常被误用的触发器之一,也是软件供应链安全漏洞的常见根源。
pull\_request\_target 事件在基础存储库的上下文中执行工作流,允许访问敏感资源,例如 GITHUB\_TOKEN、加密密钥和与默认分支关联的缓存。
虽然这种设计支持高级自动化场景,但当工作流无意中检出并执行来自不受信任的派生存储库的代码时,也会带来风险。
GitHub 确认,这项保护措施将从 2026 年 7 月 16 日起向后移植到所有受支持的主要版本。使用浮动版本标签(例如 actions/checkout@v4)的存储库将自动继承新的安全措施。
但是,绑定到特定 SHA 或次版本的工作流必须通过 Dependabot 或标准升级流程手动更新,才能享受到保护。
重要的是,此次更新不会影响由 pull\_request 事件触发的工作流,也不会限制同一仓库内的 pull 请求。此外,GitHub 也承认,此缓解措施并不能完全消除所有形式的 pwn 请求攻击。
例如,在运行步骤中手动调用 Git 或 GitHub CLI (gh) 获取不受信任代码的工作流仍然存在安全漏洞。同样,其他事件触发器(例如 issue\_comment)也不在此安全措施的覆盖范围内。
为了保留合法使用场景的灵活性,例如生成报告或对派生的贡献运行经过身份验证的检查,GitHub 提供了一个明确的退出机制。
这一变化标志着 GitHub Actions 在抵御供应链威胁方面迈出了关键一步,强化了默认安全原则,同时保持了开发者的控制权。
建议使用 CI/CD 流水线的组织审查其工作流程,消除不安全的模式,并采用更新版本,以减少因不受信任的拉取请求而遭受权限提升攻击的风险。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论