mcpField
G
GitHub Actions Audit

GitHub Actions Audit

远程服务
github.com/UnbearableDev安全020 周前更新
代码仓库

关于 GitHub Actions Audit

GitHub Actions Audit 是用于检查 GitHub Actions 工作流文件安全与供应链风险的 MCP 服务。它提供包含严重级别、问题位置、修复建议和 YAML 修复片段的结果。

主要功能

  1. 0121 项工作流安全检查
  2. 02审计 YAML 内容或 URL
  3. 03专项检查密钥与权限
  4. 04供应链和运行器检查
  5. 05提供修复建议与片段

适用场景

  1. 01合并前审查工作流
  2. 02查找密钥泄露和脚本注入
  3. 03检查 Action 固定版本及令牌权限

MCP 相关

向 MCP 客户端提供工作流审计和检查目录工具。客户端可提交 YAML 内容或 HTTPS 工作流 URL。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://unbearable-dev--github-actions-audit.apify.actor/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://unbearable-dev--github-actions-audit.apify.actor/mcp需要授权

工具

详细介绍

GitHub Actions 安全审计

MCP 服务,用于审计 .github/workflows/*.yml 文件中的供应链风险。可检测脚本注入、令牌泄露、未固定版本的 Actions、过于宽泛的权限,以及 pull_request_target 的危险用法——这些模式曾导致多起 2024–2025 年供应链安全事件。

由 Unbearable Labs 构建。 按事件付费——只有实际调用工具时才会计费。


可在以下平台使用

  • Apify Actor Store — 首选平台,按量计费(PPE)
  • MCPize — 等待提交
  • MCP.so — 等待提交
  • PulseMCP — 等待提交
  • Smithery — 等待提交
  • Glama — 等待提交

Newsletter: Unbearable TechTips Weekly · 所有 Actor: github.com/UnbearableDev

功能

让任何支持 MCP 的客户端(Claude Desktop、Cursor、n8n、Make、Zapier、自定义 Agent)连接到此服务,提供工作流 YAML,即可获取结构化的审计结果,包括:

  • 严重程度 — 严重 / 高 / 中 / 低 / 信息
  • 受影响的作业和步骤 — 问题的确切位置
  • 说明 — 问题的重要性及实际攻击途径
  • 修复建议 — 应采取的措施
  • 修复代码片段 — 可直接粘贴的 YAML

工具

工具用途
audit_workflow(workflow_yaml? | workflow_url?, min_severity='low')运行所有检查
check_secrets(...)仅检查密钥泄露途径
check_permissions(...)仅检查 GITHUB_TOKEN 的权限范围问题
check_action_pinning(...)仅检查 Action 版本固定情况
check_runner_security(...)检查自托管运行器和脚本注入
check_workflow_config(...)检查超时和配置规范
check_supply_chain_advanced(...)检查 TeamPCP 级别的供应链攻击模式(GHA-201..208)
list_checks(category?)浏览检查项目目录

请准确提供 workflow_yaml(粘贴内容)或 workflow_url(HTTPS URL,通常是指向特定工作流文件的 GitHub raw URL)中的一个。

检查目录(v2:21 项检查)

ID类别严重性标题
GHA-001secretshigh密钥直接插入 run: 脚本
GHA-002secretshigh通过 echo / set-output 输出密钥
GHA-003secretsmedium在 if: 条件中使用密钥
GHA-004secretshighenv: 中存在硬编码凭据模式
GHA-010permissionshigh授予了 permissions: write-all
GHA-011permissionsmedium未设置顶层 permissions:(继承了宽泛的默认权限)
GHA-013permissionshighpull_request_target + 检出 PR head = PWNing 模式
GHA-020action_pinninghigh第三方 action 固定到可变标签
GHA-021action_pinninghigh第三方 action 固定到可变分支
GHA-022action_pinningmedium第一方 action 未固定到 SHA
GHA-030runner_securitymedium在来自 fork 的 pull_request 中使用了自托管 runner
GHA-032runner_securityhigh通过插入不可信的 github.event.* 导致脚本注入
GHA-040workflow_configlowjob 未设置 timeout-minutes
GHA-201supply_chain_advancedhighAction 固定到未固定的分支引用(TeamPCP 级别:@main/@master)
GHA-202supply_chain_advancedhighAction 固定到可变标签 — 建议固定到 SHA
GHA-203supply_chain_advancedcriticalpull_request_target + 检出 PR head SHA/ref(codecov/tj-actions 利用路径)
GHA-204supply_chain_advancedhigh在 run: 中通过 github.event.* 用户可控字段导致脚本注入
GHA-205supply_chain_advancedmediumAction 来自未列入允许名单的所有者(不可信第三方)
GHA-206supply_chain_advancedhigh顶层 permissions: write-all 或 contents: write 未按 job 限定权限范围
GHA-207supply_chain_advancedmedium在 run: 块中通过 echo / cat 记录密钥
GHA-208supply_chain_advancedlowAction 使用已知的弃用标签

定价

事件美元
任何 audit / check_* 工具调用$0.02
list_checks 发现调用$0.005

从 Claude Desktop 连接

{
  "mcpServers": {
    "gha-audit": {
      "transport": "streamable-http",
      "url": "https://YOUR-ACTOR-URL.apify.actor/mcp"
    }
  }
}

Unbearable Labs 的姊妹 MCP

暂未涵盖的内容

  • 可复用工作流审计(多文件解析)
  • CodeQL 级别的数据流跟踪
  • Marketplace 上架 action 的信誉评分

源代码 / 联系方式

源代码:github.com/UnbearableDev/github-actions-audit。 问题与想法:[email protected]。


📬 由 Unbearable Labs 的 Noel 构建。欢迎订阅简报,获取更多 MCP 服务与审计技巧:https://unbearabletechtips.beehiiv.com

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。