mcpField
S
secure-github-actions

secure-github-actions

github.com/vechain安全1576 次安装4 周前更新
代码仓库

关于 secure-github-actions

用于创建、审查和审计 GitHub Actions 工作流的安全技能,面向维护 CI 工作流的开发者。它强调固定依赖动作的提交 SHA、最小权限和保护不可信输入,并通过参考文件指导不同任务。

主要功能

  1. 01将外部 uses 固定到完整 SHA
  2. 02避免直接将不可信值拼入 Shell
  3. 03设置明确的最小权限
  4. 04检查信任边界与 secrets 暴露
  5. 05按任务读取安全参考文件

适用场景

  1. 01创建或修改 GitHub Actions 工作流
  2. 02审查工作流中的依赖与权限
  3. 03对仓库执行完整安全审计

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vechain/vechain-ai-skills --skill secure-github-actions

安装后在 Claude Code 中输入/secure-github-actions确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
audit-checklist.md
secure-patterns.md
sha-pinning.md
workflows.md

详细介绍

安全的 GitHub Actions

使用供应链安全默认设置创建、审查和审计 GitHub Actions 工作流。

关键规则

  1. 先阅读相关参考文件。 如果用户的请求涉及下方参考表中的任何主题,必须先阅读相应文件,然后再进行其他操作。简要说明正在阅读哪些文件,以便用户确认此技能已启用。
  2. 将每个非本地 uses: 引用固定到完整的 40 个字符的提交 SHA。 将 @v*、@main、@master、分支名称和短 SHA 视为安全债务。
  3. 绝不捏造 SHA。 从 GitHub 获取 SHA,或询问用户;如果无法验证正确的 SHA,请明确说明,不要伪造。
  4. 除非用户明确要求,否则不要引入 pull_request_target;即便如此,工作流也绝不能使用机密或写入权限执行不受信任的代码。
  5. 绝不要将不受信任的上下文直接拼接到 shell 命令中。 将 ${{ github.* }}、${{ inputs.* }} 等值移入 env:,并为 shell 变量加引号。
  6. 明确设置最小权限的 permissions:。 默认只读,仅向确实需要的特定作业授予写入作用域。
  7. 用户要求“审计”、“加固”或“安全扫描”仓库时,始终运行完整审计清单。
  8. 绝不默默跳过检查。 如果缺少工具(gitleaks、trufflehog、zizmor),请报告并建议安装。
  9. 压缩或丢失上下文后,继续操作前重新阅读此 SKILL 和参考文件。

操作流程

编写或编辑工作流时
  1. 对任务分类:新建工作流、编辑工作流、可复用工作流或安全审查。
  2. 阅读 references/workflows.md 和 references/secure-patterns.md。
  3. 审查每个 uses: 引用:
    • 本地操作,如 ./.github/actions/foo,无需更改。
    • 步骤级操作和作业级可复用工作流必须使用完整 SHA。
    • 在注释中保留便于识别的版本标签(例如 # v4.3.1)。
  4. 审查信任边界:
    • 优先使用 pull_request,而不是 pull_request_target。
    • 将来自 fork 的 PR 数据视为不受信任。
    • 避免向不受信任的代码路径暴露机密或写入令牌。
  5. 审查每个 run: 步骤:
    • 通过 env: 传递动态值。
    • 为 shell 变量加引号。
    • 如果简单的 shell 命令也能完成任务,优先使用它,而不是新增第三方操作。
  6. 添加或更新维护防护措施:
    • 确保 Dependabot 更新 github-actions 生态系统。
    • 提醒用户注意传递依赖风险:固定版本的操作仍可能在内部引用可变操作。
完整安全审计

用户要求“审计”、“加固”或“安全扫描”仓库时:

  1. 阅读 references/audit-checklist.md。
  2. 执行所有检查;尽可能使用子 Agent 并行处理。
  3. 按严重性分组呈现发现:CRITICAL、HIGH、MEDIUM、LOW。
  4. 最后提供汇总表和按优先级排列的行动清单。

参考文件

主题文件阅读时机
工作流加固模式references/workflows.md创建、编辑或审查工作流时
安全工作流模板references/secure-patterns.md从头编写新工作流时
完整审计流程references/audit-checklist.md对仓库执行安全审计时
SHA 固定自动化references/sha-pinning.md将操作固定到提交 SHA 时

工具

审计会检查以下工具,并报告缺少的工具:

工具用途安装
gitleaks扫描 Git 历史记录中的机密brew install gitleaks
trufflehog使用验证进行深度机密扫描brew install trufflehog
zizmor对 GH Actions 进行静态分析brew install woodruffw/tap/zizmor
gh用于 API 调用的 GitHub CLIbrew install gh

评论

支持 Markdown