注意:一种针对使用 GitHub 官方 MCP 服务器代理的新攻击,可能泄露私有存储库数据。
Invariant Labs 最近披露了一项严重的安全漏洞,影响了 GitHub 的官方 MCP(Model Context Protocol)服务器。
该漏洞允许攻击者通过恶意的 GitHub Issue 劫持用户的 AI 代理,从而访问并泄露私人仓库中的敏感数据。 这类攻击被称为“有毒代理流程”(Toxic Agent Flow),是通过间接提示注入(Indirect Prompt Injection)引发的。
🧨 攻击原理
1. 环境设定:
用户使用 MCP 客户端(如 Claude Desktop)连接到 GitHub MCP 服务器。
用户拥有两个仓库:
<user>/public-repo:公开仓库,允许任何人提交 Issue。
<user>/private-repo:私人仓库,包含敏感或专有数据。
2. 攻击者操作:
在公开仓库中创建一个包含恶意提示的 Issue。
当用户请求代理查看公开仓库的 Issue 时,代理会读取该 Issue 并被恶意提示劫持。
3. 数据泄露过程:
被劫持的代理访问私人仓库,提取敏感信息。
代理将这些信息提交为公开仓库的 Pull Request,任何人都可以访问。
这种攻击利用了代理在处理外部输入时缺乏适当的验证和隔离机制,导致敏感数据被泄露。
🛡️ 缓解措施
由于该漏洞源于代理系统的架构设计,GitHub 无法通过服务器端修复来解决。 因此,建议采取以下缓解策略:
1. 实施数据流控制规则:
限制代理在处理外部输入时的行为,防止其访问未经授权的资源。
使用工具如 Invariant Guardrails 来定义和执行这些规则。
2. 使用安全扫描工具:
部署 MCP-Scan 工具,对 MCP 服务器进行静态和动态扫描,检测潜在的安全漏洞。
该工具可以识别提示注入、工具投毒和跨源升级等攻击。
3. 限制代理权限:
避免为代理配置“始终允许”权限,确保用户对每次操作进行确认。
定期审查和更新代理的权限设置,最小化潜在风险。
4. 增强用户警觉性:
教育用户识别和防范提示注入攻击。
鼓励用户在处理外部输入时保持谨慎,避免无意中触发恶意操作。
更多:invariantlabs.ai/blog/mcp-github-vulnerability
#微博兴趣创作计划##ai软件#
Invariant Labs 最近披露了一项严重的安全漏洞,影响了 GitHub 的官方 MCP(Model Context Protocol)服务器。
该漏洞允许攻击者通过恶意的 GitHub Issue 劫持用户的 AI 代理,从而访问并泄露私人仓库中的敏感数据。 这类攻击被称为“有毒代理流程”(Toxic Agent Flow),是通过间接提示注入(Indirect Prompt Injection)引发的。
🧨 攻击原理
1. 环境设定:
用户使用 MCP 客户端(如 Claude Desktop)连接到 GitHub MCP 服务器。
用户拥有两个仓库:
<user>/public-repo:公开仓库,允许任何人提交 Issue。
<user>/private-repo:私人仓库,包含敏感或专有数据。
2. 攻击者操作:
在公开仓库中创建一个包含恶意提示的 Issue。
当用户请求代理查看公开仓库的 Issue 时,代理会读取该 Issue 并被恶意提示劫持。
3. 数据泄露过程:
被劫持的代理访问私人仓库,提取敏感信息。
代理将这些信息提交为公开仓库的 Pull Request,任何人都可以访问。
这种攻击利用了代理在处理外部输入时缺乏适当的验证和隔离机制,导致敏感数据被泄露。
🛡️ 缓解措施
由于该漏洞源于代理系统的架构设计,GitHub 无法通过服务器端修复来解决。 因此,建议采取以下缓解策略:
1. 实施数据流控制规则:
限制代理在处理外部输入时的行为,防止其访问未经授权的资源。
使用工具如 Invariant Guardrails 来定义和执行这些规则。
2. 使用安全扫描工具:
部署 MCP-Scan 工具,对 MCP 服务器进行静态和动态扫描,检测潜在的安全漏洞。
该工具可以识别提示注入、工具投毒和跨源升级等攻击。
3. 限制代理权限:
避免为代理配置“始终允许”权限,确保用户对每次操作进行确认。
定期审查和更新代理的权限设置,最小化潜在风险。
4. 增强用户警觉性:
教育用户识别和防范提示注入攻击。
鼓励用户在处理外部输入时保持谨慎,避免无意中触发恶意操作。
更多:invariantlabs.ai/blog/mcp-github-vulnerability
#微博兴趣创作计划##ai软件#