GitHub Actions锁文件:把action版本钉在commit上
GitHub Actions 的工作流依赖锁文件进入公开预览了,覆盖 Enterprise Cloud、数据驻留版、Team 和 Free 套餐。 它解决的是一个很具体的问题:action 的 tag 和 branch 是可以被移动的。你 review 过的 workflow,下一次运行可能执行的是另一份代码;如果某个 action 被投毒,攻击者只要移动 tag,就能在你的仓库零改动的情况下把恶意代码带进流水线。 锁文件的做法是:workflow 里照旧写 uses,但运行时会锁定到具体 commit。用 GitHub CLI 的 gh actions-lock 扩展生成 .github/workflows/actions.lock,把 action 及其传递依赖、还有可复用 workflow 的依赖都记进去,产生可 review 的提交。它还支持渐进启用:一条 workflow 一条地纳入,纳入之后必须和 lockfile 对齐才会跑。 要注意一点:锁定只保证「跑的是你锁的那份代码」,不代表依赖本身安全,所以先审查再锁。 落地顺序建议是:先把有 secrets、能部署的高权限 workflow 纳入;再用扩展生成 lock 文件并 review 那个提交;然后开 Dependabot 保持锁定项更新;最后逐步推广到其余 workflow。
还没有跟帖,欢迎写下第一条。