GitHub Actions 引入第三方 Action 前,先检查版本固定与权限

第三方 Action 会在流水线权限范围内执行。核对完整提交 SHA、令牌权限、输入与运行环境,降低供应链风险。
软件流水线中的构建模块经过校验并使用受限凭证的 AI 示意图
AI 生成的概念示意图。

一段简短的 uses 配置可能引入大量外部代码。评审第三方 Action 时,不能只看使用人数或工作流是否通过,还应弄清它能接触哪些代码、凭证和部署目标。

版本可重复只是第一步

GitHub 官方安全文档建议把 Action 固定到完整提交 SHA,并验证该提交来自预期仓库;标签可能移动。固定版本能减少未经审查的变化,但不会自动证明该版本本身安全,仍需检查来源与代码行为。

为每个任务写出权限理由

把测试、打包和部署拆成不同权限范围。只读测试任务通常不应拥有发布包、写仓库或修改云资源的凭证。逐项检查 GITHUB_TOKEN 权限、显式传入的秘密以及运行器上预先存在的环境配置。

  • 输入:是否把不可信的分支名、标题或用户内容直接拼接进命令。
  • 输出:是否把秘密、环境变量或包含凭证的 URL 写入日志和产物。
  • 依赖:Action 是否在运行时下载额外脚本或使用未固定的镜像。
  • 触发:外部贡献者的代码会在哪种事件和权限下执行。

验收要覆盖权限不足的情况

在测试仓库验证正常构建,并确认不需要的写操作确实被拒绝。高权限发布步骤应只接受可信来源的产物及符合规则的触发条件;不能因为工作流失败,就把所有权限改成可写。

为固定版本建立更新流程,定期审查上游变更与安全公告,避免固定后永不升级。自托管运行器还需要隔离与清理策略,防止前一次任务留下的状态影响后续任务。

评审结果应保留 Action 来源、提交标识、所需权限和批准用途。这样在依赖出现问题时,可以快速定位受影响的流水线。

参考:GitHub:Secure use reference。核对日期:2026年10月4日。

最新文章行业资讯

密钥误提交到 Git 后,为什么应先撤销再清理历史

2026-10-4 1:00:32

最新文章行业资讯

容器改成非 root 就够了吗?还要核对能力、挂载和宿主访问

2026-10-4 1:12:54

❯
搜索