用途:在涉及 GitHub Actions、.github/workflows、CI/CD 流水线、运行器、作业、步骤或动作时提供专家指导,帮助自动化构建、测试、部署和发布。也适用于矩阵构建、可复用工作流、复合动作、自托管运行器、OIDC 认证、缓存策略、密钥管理,以及工作流安全加固和环境防护规则。
主要能力与安全实践:一是始终声明最小权限,工作流级默认设为 contents: read,仅在发布、推送容器、评论 PR、OIDC 等所需作业中按需提升 contents: write、packages: write、pull-requests: write、id-token: write。二是将第三方动作固定到完整提交 SHA,而非可变标签;可用 npx pin-github-action .github/workflows/*.yml 或 pip install ratchet && ratchet pin .github/workflows/ 自动完成。三是防止脚本注入,不要把 ${{ ... }} 直接放入 run:,应先赋给 env: 再以带引号的 shell 变量引用;if: 条件由 Actions 求值,相对安全。四是限制 pull_request_target 使用,例如仅在维护者添加特定标签时触发,并同时校验标签名与 author_association。五是使用 step-security/harden-runner 加固运行器并监控出站流量,出口策略先设为 audit,确认允许列表后再改为 block。
使用方式:执行前先阅读详细指南,其安全、前置条件和验证要求为强制项;聚焦任务可加载相关章节,端到端任务需完整阅读。可复用工作流应先在不影响主分支的功能分支上测试。
限制与适用边界:仅当任务明确匹配上述范围时使用。不适用于 GitLab CI/CD、CircleCI、Jenkins 等其他 CI 平台;单纯 Docker 镜像构建或 Kubernetes 部署配置应转用相应技能。输出不能替代环境特定验证、测试或专家审查。若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。具体版本号、端点与命令请以官方文档为准。