介绍 zizmor:现在你可以拥有美观干净的工作流程

这是关于zizmor的介绍,zizmor是一个用于在 GitHub Actions 设置中查找安全问题的新工具。

  • 主要功能和使用方法:可以在一个或多个工作流定义上运行,以输出cargo风格的诊断、SARIF 或 JSON 格式的结果。通过cargo安装,可指定路径审计单个工作流或整个仓库,如cargo install zizmorzizmor./path/to/my/repo/.github/workflows/ci.ymlzizmor./path/to/my/repo
  • 当前检测的安全问题示例:包括攻击者控制的模板注入、“ArtiPACKED”风格的凭证持久化和披露、第三方动作中的已知漏洞等,通过相关动画演示展示。
  • 背景:CI/CD 安全(尤其是 GitHub Actions)是个人关注的领域,因其广泛应用且即使小错误也可能导致严重后果,但默认安全态势不佳,存在多种不安全的工作流触发方式、表达式语言的安全漏洞以及架构导致的不安全配置等问题,同时作者也很喜欢 GitHub Actions 并认为其是未来软件发布的方向,zizmor就是为解决该问题而开发。
  • 实现细节:由github-actions-models(用于 GitHub Actions 的高保真数据模型库)、yamlpath(用于将符号 YAML 位置转换回具体源代码跨度的工具)和zizmor本身(包含审计框架、与 GitHub API 交互的帮助程序、表达式解析器和单个审计定义等)三个独立组件组成,架构允许审计基于 Rust 级模型编写,各审计独立且审计样板较小,有部分内部 API 文档。
  • 下一步计划:这是早期版本,存在 bug,未来几周到几个月的计划包括完善用户和开发者文档、增加更多审计项目(如常见缓存中毒模式或 YAML 类型错误)、进行更复杂的分析(如数据流分析等),同时欢迎试用并通过现有 Markdown 文档集成到 GitHub。
  • 讨论渠道:在 Mastodon、Bluesky、Reddit 上有相关讨论,如MastodonBlueskyReddit
阅读 7
0 条评论