Agent Skills
返回列表
🔒

zizmor 工作流安全审计

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/audit-github-actions-for-privilege-and-supply-chain-risks-with-zizmor。

技能介绍

GitHub Actions 的隐性风险

GitHub Actions 已经成为现代软件交付的标配,但很多团队在 CI/CD 配置上积累了大量安全隐患。常见问题包括:

  • 令牌滥用:GITHUB_TOKEN 权限过大,或自定义密钥意外泄露
  • 危险权限组合:pull_request_target 配合未审查的代码执行,可能导致仓库被接管
  • 供应链风险:第三方 action 未固定版本(如 @master),存在被恶意篡改的风险
  • 过度信任默认配置:对 actions/checkout 等常用操作的默认行为缺乏审计

这些问题往往在合并后才被发现,修复成本高,且可能造成实际的安全事件。

zizmor 如何帮你提前发现问题

这个技能的核心是利用 zizmor 工具,在 PR 合并前对工作流文件进行静态分析和安全审计。它能扫描出:

  • 权限过度授予:识别不必要的 permissions 声明,如只读操作却要求 write 权限
  • 不安全的触发器组合:检查 pull_request_target、workflow_run 等高风险触发器是否配合了安全措施
  • 版本固定问题:找出使用浮动版本标签(如 v1、latest)的第三方 action,并建议固定到 commit hash
  • 硬编码密钥风险:检测工作流中可能泄露的 token 或凭据
  • 脚本注入面:识别 run 步骤中直接拼接未受信任输入的命令

技能的工作流程是:读取仓库中的 .github/workflows/*.yml 文件,运行 zizmor 审计,输出结构化的风险报告,并给出修复建议。

适用场景与注意事项

适合的场景:

  • 有大量 GitHub Actions 工作流的中大型仓库
  • CI/CD 安全是合规要求的一部分
  • 团队希望在 code review 阶段就拦截安全风险

需要注意的点:

  • zizmor 是静态分析工具,无法检测运行时动态行为或自定义脚本中的复杂逻辑漏洞
  • 审计结果需要人工判断优先级,某些告警可能是误报
  • 对于高度定制的工作流(如动态生成 YAML),可能需要额外配置或调整规则
  • 需要 Python 3.9+ 或预构建的 zizmor 二进制文件,以及对目标仓库的读取权限

使用场景

  • 在 PR 合并前检查工作流是否存在 GITHUB_TOKEN 权限过大或使用浮动版本第三方 action 的问题,将风险拦截在 review 阶段。
  • 仓库近期出现工作流被恶意修改事件,需要排查现有 .github/workflows 中 pull_request_target 触发器的危险配置。
  • 团队准备引入 CI/CD 合规检查,需要定期扫描所有 GitHub Actions 文件中的硬编码密钥和脚本注入风险。
  • 升级多个第三方 action 时,需要逐个审计版本固定情况,确认没有使用 @master 之类的浮动标签。

适合人员

  • 负责 CI/CD 基础设施的 DevOps 工程师,需要在合并前自动拦截 Actions 工作流中的安全风险,避免带病上线。
  • 开源项目维护者,需要低成本地审计工作流中 GITHUB_TOKEN 权限和第三方 action 版本,防止仓库被接管。
  • 面临 SOC2 等合规要求的后端开发团队,需要证明 GitHub Actions 配置符合最小权限与供应链安全标准。
  • 在 CI 流水线中执行安全审计的 SRE,需要批量扫描多个仓库的工作流文件并生成结构化风险报告。