当前位置: 首页 > news >正文

Anthropic官方Git MCP服务器曝三重漏洞:提示注入即可实现文件读写与远程代码执行

Anthropic维护的Model Context Protocol (MCP)官方Git服务器mcp-server-git被发现存在三个安全漏洞。攻击者可通过提示注入(Prompt Injection)在特定条件下读取或删除任意文件,甚至实现远程代码执行(RCE)。

Cyata研究员Yarden Porat在报告中指出:“这些漏洞可被提示注入利用。攻击者只需影响AI助手读取的内容(如恶意README文件、被篡改的问题描述或被入侵的网页),无需直接访问受害者系统,即可武器化这些漏洞。”

(上图:Model Context Protocol (MCP) 架构示意图,展示AI模型如何通过MCP客户端与MCP服务器交互,调用外部工具如Git仓库。)

mcp-server-git是一个Python软件包兼MCP服务器,提供一组内置工具,允许大型语言模型(LLM)以编程方式读取、搜索和操作Git仓库。该工具被广泛视为参考实现,常被开发者复用。

三个具体漏洞详情

这些漏洞已在2025年6月负责任披露后,通过以下版本修复:

  • CVE-2025-68143(CVSS 8.8 [v3] / 6.5 [v4])git_init工具在创建仓库时未验证文件系统路径,导致路径遍历漏洞。攻击者可将任意目录转为Git仓库。(2025.9.25版本修复)
  • CVE-2025-68144(CVSS 8.1 [v3] / 6.4 [v4])git_diffgit_checkout函数将用户控制的参数直接传递给Git CLI命令,导致参数注入漏洞。攻击者可通过未净化输入覆盖或清空任意文件。(2025.12.18版本修复)
  • CVE-2025-68145(CVSS 7.1 [v3] / 6.3 [v4]) 使用 --repository 标志限制操作到特定仓库路径时,缺少路径验证,导致另一处路径遍历漏洞。(2025.12.18版本修复

(上图:路径遍历(Path Traversal)攻击原理示意图,展示攻击者如何通过 ../ 等方式绕过目录限制,访问任意文件。)

攻击链:与Filesystem MCP服务器结合实现RCE

Cyata记录的攻击场景显示,这三个漏洞可与Filesystem MCP服务器串联使用,形成完整攻击链:

  1. 使用 git_init 在可写目录创建Git仓库。
  2. 通过Filesystem MCP服务器写入带有clean过滤器的恶意 .git/config 文件。
  3. 编写 .gitattributes 文件,将过滤器应用于特定文件。
  4. 编写包含恶意载荷的shell脚本。
  5. 创建触发过滤器的文件。
  6. 调用 git_add 执行clean过滤器,从而运行恶意载荷。

整个过程可通过间接提示注入触发:AI助手读取恶意内容后,自主调用相关Git工具,最终实现远程代码执行。

(上图:提示注入攻击在MCP/Git环境中的典型流程示意图,展示恶意内容如何通过AI助手调用工具,导致数据泄露或代码执行。)

修复措施与官方响应

作为响应,Anthropic已:

  • 移除存在风险的 git_init 工具;
  • 增加额外路径验证,防止路径遍历原语。

建议所有使用mcp-server-git的用户立即更新至2025.12.18或更高版本,以获得最佳防护。

Cyata首席执行官兼联合创始人Shahar Tal表示:“这是标准的Git MCP服务器参考实现,开发者预期会复用。如果安全边界在参考实现中都遭到破坏,就表明整个MCP生态系统需要更深入的审查。这些不是边缘案例,而是开箱即用的漏洞。”

对MCP生态与Agentic AI的启示

MCP(Model Context Protocol)旨在让AI Agent安全、标准化地访问外部工具和数据源,但此次事件暴露了参考实现的安全隐患。当AI工具链(如Git + Filesystem MCP)组合使用时,单个组件的弱点可能被放大为系统性风险。

企业与开发者建议

  • 立即更新所有MCP相关服务器至最新版本。
  • 对MCP工具实施严格的输入验证、路径沙箱和命令净化。
  • 采用零信任原则,限制AI Agent的工具调用权限,并监控异常Git操作。
  • 在生产环境中避免直接使用未经验证的参考实现,优先进行安全审计。
  • 建立提示注入防御机制,包括运行时语义分析和操作审计。
http://www.jsqmd.com/news/599059/

相关文章:

  • Cosmos-Reason1-7B实操手册:GPU显存监控脚本+自动清理占用进程Shell工具
  • NVIDIA 提出 PivotRL:不做整段长轨迹 RL,也能把 Agent 后训练做得又快又稳
  • (-aAa-) Linux,预制二进制文件 的 3 种安装方法 (***)
  • CLIP-GmP-ViT-L-14真实效果:多语言文本+图像跨模态检索演示
  • 别再只会Ctrl+C/V了!用WPS JS宏实现单元格的“智能复制”,效率翻倍
  • Whisper-large-v3在智能办公中的应用:会议记录自动化系统
  • MongoBleed(CVE-2025-14847):影响超8万台MongoDB服务器的高危内存泄露漏洞已在野活跃利用
  • 3步掌握3dsconv:从格式转换到自动化管理
  • 垂直行业落地:医疗场景下的 Agent 诊断辅助系统架构拆解
  • Bootstrap5 轮播详解
  • 用Proteus 8.10和AD21复刻一个51单片机光照报警器(附完整代码和避坑指南)
  • Jina AI 搜索底座模型生产部署:从选型到优化的全链路实战
  • C++ RAII 模式的工程价值
  • Linux系统编程 - 线程thread
  • C++的std--strong_ordering三路比较结果与排序算法的稳定性保证
  • 老旧Mac升级指南:使用OpenCore Legacy Patcher实现系统兼容性突破
  • k8s底层 containerd 容器,而非docker
  • 告别虚拟机!用 MSYS2 在 Windows 原生环境搭建 MRtrix3 神经影像处理工作流
  • Python 3 JSON:深度解析与应用指南
  • AI辅助养龙虾:利用快马DeepSeek模型构建生长预测与疾病预警系统
  • 【视频异常检测】STPrompt:当视觉语言模型遇见时空提示,弱监督下的异常定位新范式
  • python terraform
  • Uniapp适配HarmonyOS5实战:从环境配置到条件编译避坑全攻略
  • authentik开源身份认证与管理平台-与 Grafana 集成(12)
  • 避坑指南:ArcGIS道路交叉点分析常见3大错误(附正确工具箱调用方法)
  • 微信聊天记录数据备份与分析工具全攻略:本地存储与隐私保护指南
  • Bandizip 口碑极佳的压缩解压工具
  • Flutter 状态管理:Provider, Bloc, GetX 对比
  • GIS小白必看:5分钟搞定1:100万中国植被数据下载与ArcGIS加载
  • python ansible