关键信息总结 漏洞概述 漏洞名称: GitHub MCP Exploited: Accessing private repositories via MCP 影响范围: GitHub Actions 中的 MCP (Multi-Cloud Provider) 服务,允许攻击者访问私有仓库数据。 发现者: Invariant 的安全分析师。 攻击场景 前提条件: - 使用 GitHub Actions 和 Cloud Build,具有对目标仓库的读取权限。 - 存在 Action,用于下载、安装和配置 gcloud CLI。 - 存在 Docker 镜像,带有特定的执行权限和环境变量。 攻击流程: - 攻击者利用 Action 下载并运行恶意脚本。 - 恶意脚本通过 MCP 服务获取目标仓库的敏感信息。 攻击演示 用户信息泄露: - 攻击者可以获取用户的私人信息,包括但不限于: - 用户名 - 邮箱地址 - 公钥指纹 - SSH 密钥 攻击代码示例: 检测有毒 Agent 流量 检测方法: - 使用 Invariant 的安全分析器检测与 MCP 相关的网络流量。 - 分析网络流量中的异常模式和行为,识别潜在的攻击活动。 范围和缓解措施 范围: - 此漏洞不仅限于 GitHub Actions,还可能影响其他使用类似实现的系统。 缓解措施: 1. 实施严格的权限控制: - 对所有 MCP 调用进行细粒度的权限检查。 - 禁止未授权的代理调用任何受保护的资源。 2. 持续的安全监控: - 实施持续的安全监控,及时发现和响应潜在的安全威胁。 结论 主要发现: - 通过精心设计的攻击,攻击者可以利用 MCP 服务访问私有仓库数据。 - 攻击者可以获取用户的敏感信息,包括用户名、邮箱地址、公钥指纹和 SSH 密钥。 建议: - 强烈建议所有使用 GitHub Actions 和类似系统的组织采取必要的安全措施,防止此类攻击的发生。