Py学习  »  Git

注意:一种针对使用 GitHub 官方 MCP 服务器代理的新攻-20250527121818

黄建同学 • 2 月前 • 89 次点击  

2025-05-27 12:18

注意:一种针对使用 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软件#
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/182589
 
89 次点击