该技能面向 GitHub Actions 的编写与审查维护,核心目标是先厘清信任边界,再做出最小的、不破坏边界的改动。
用途
- 编写或审查工作流(workflow)与复合操作(composite action)。
- 审计与加固 CI 中的事件选择、权限、action 引用、制品与凭据处理。
主要能力
- 覆盖 Actions 事件语义、工作流安全、权限、action 固定(pinning)、setup 复用、不可信输入、超时、并发和制品信任边界。
- 对每个受影响的 job 与 caller 记录触发方式、参与者或 fork 状态、工作流修订、检出修订、权限、凭据及所有外部输入与消费方,包括制品、缓存、outputs、PR 字段、refs、dispatch 输入、生成文件与被调用 action。
- 对平台敏感决策要求查阅当前 GitHub 官方文档;仓库内示例只视为本地惯例,不代表平台语义。
规则要点
- 将工作流默认权限置空,并为 job 授予最小权限。
- 除非环境必须不同,否则复用仓库共享的 setup action。
- 为可执行 job 设置有意为之的矩阵与切合实际的超时。
- 将外部 action 和可复用工作流固定到完整提交 SHA,并附可读的发布注释;验证每个 SHA 属于对应上游发布。
- 联合分析事件选择、检出修订和凭据持久化。
- 不可信表达式通过环境变量传递,使用前做校验与引用。
- 根据中断安全性推导并发设置。
- 涉及 fork、特权凭据、发布或跨运行数据时,参考 privileged-workflows.md。
使用方式
- 先判断任务是审查还是实现:审查产出有证据支撑的发现且不编辑;实现则沿最小边界保持改动推进。
- 检查所有受影响的工作流、复合操作与调用方,先列出所有受影响的 job 和 action。
- 运行最窄范围的语法与仓库检查,检查完整 diff,并识别只能在 GitHub 托管 runner 上验证的行为。
- 参考本地模式时,检查当前共享 setup action 与同一信任边界下最近的工作流;常规检查工作流作为一般先例,特权发布工作流仅用于同等信任边界。
完成标准
- 每个受影响的 job 与 caller 均有记录的信任边界;每条适用规则都有证据或补偿控制;本地检查通过;仅 GitHub 可验证的部分已被识别。审查需报告每一处失败及证据;实现需解决每一处失败且只包含预期行为。
限制
- 资料未提供该技能的具体安装方式、命令、定价或支持平台等细节,暂未提供。