护栏失灵:MCP文件泄露、Copilot RCE与多语言Agent防护盲区

本周多项独立研究共同表明:聚合指标良好的AI护栏正在边缘场景悄悄失效,安全控制必须落在真实系统边界而非模型判断上。
本周AI安全动态从五个独立方向指向同一结论:基于模型判断的安全控制不可靠。MCP服务器扫描发现16.4%存在文件系统能力洗白;Visual Studio Copilot的CVE-2026-103572展示Win32路径怪癖如何将间接提示注入升级为RCE;INFUSE基准测得间接注入平均攻击成功率19.6%,提示加固仅降至14.3%且牺牲效用;检测器分数研究显示要达到1%假阴性率需升级超91.8%输入;语言面研究揭示小型守卫模型仅因指令语言不同就产生显著判断漂移。此外RAG投毒、Agent监控盲区、Anthropic蒸馏防御与自复制模型实验也值得关注。核心启示是:验证必须发生在文件路径、检索索引、守卫策略等真实系统边界上。
本周的AI安全动态指向一个共同结论:那些在聚合指标上表现良好的护栏和分类器,正在边缘场景中悄悄失效。从MCP服务器的文件系统能力洗白,到Visual Studio Copilot的远程代码执行漏洞,再到多语言输入下守卫模型的判断漂移,独立研究从不同角度印证了同一点——安全控制不能建立在模型判断之上,而必须落在真实的系统边界。

一、MCP服务器的大规模文件系统能力洗白
来自arXiv的最新研究《My Credentials, Please》首次系统性地定义并量化了MCP服务器中的「文件系统能力洗白」问题:攻击者通过操纵工具参数,让一个声明为非文件系统类的工具读取其声明范围之外的主机文件。
研究团队扫描了9个注册表中的21,097个MCP服务器,在4,806个经过分诊的服务器中发现787个(16.4%)实际具备文件系统能力,但被归类为非文件系统类。其中150个实例被动态确认存在漏洞,并已发布13份安全公告,包括Anthropic自家Git MCP Server中的两个CVE。
这不是理论推演。对于任何运行第三方MCP服务器的团队来说,16.4%的误分类率意味着能力分类本身已经不可信赖,需要独立的运行时边界检查。
MCP(Model Context Protocol)是Anthropic于2024年底提出的开放协议,用于标准化AI助手与外部工具、数据源的连接方式。其核心抽象是「服务器」:每个MCP服务器向客户端声明自己提供的工具集及其所需能力(如文件读写、网络访问、数据库查询)。客户端据此决定是否授权调用。然而,这种基于自我声明(self-declaration)的信任模型存在根本缺陷——协议本身并不强制服务器如实申报能力,也不在运行时验证工具的实际行为是否超出声明范围。「能力洗白」(capability laundering)正是指攻击者利用这一信任缺口,通过精心构造的工具参数,让一个声称「非文件系统类」的工具在运行时执行文件读取操作,从而绕过基于能力分类的访问控制。这一问题的根源在于:能力分类发生在安装或注册阶段,而实际危害发生在调用阶段,两者之间缺乏独立的运行时边界检查。
二、Visual Studio Copilot的RCE:当路径校验被操作系统击败
Embrace The Red的wunderwuzzi披露了CVE-2026-103572,一个存在于Visual Studio和SSMS中GitHub Copilot的路径校验绕过漏洞,CVSS评分8.8,微软评级为「重要」。
漏洞根源是一个Win32怪癖:Windows会忽略文件名末尾的点,因此校验逻辑认为.mcp.json.与受保护的.mcp.json不同,但写入操作实际上仍然落在受保护文件上。问题出在EditsFunctionHandler.GetEditConfirmationTypeAsync方法中。
攻击路径清晰:一个行为错位的Agent,或者通过MCP服务器返回内容触发的间接提示注入,可以借此注册恶意MCP服务器,或替换settings.VisualStudio.json中的ripgrep路径,最终实现任意命令执行。概念验证中弹出了计算器。微软已在补丁星期二通过GetFullPath调用规范化路径完成修复。

这个案例的价值在于它展示了一条完整链路:间接提示注入在编码Agent拥有「受保护」配置文件写入权限时,如何升级为远程代码执行。路径白名单需要真正的规范化处理,而不是朴素的字符串比较。
Win32路径规范化(path canonicalization)是Windows文件系统的一个经典陷阱。Windows API在打开文件时会自动去除路径末尾的点和空格,因此.mcp.json.、.mcp.json 与.mcp.json指向同一文件;此外还存在短文件名(8.3格式)、交替数据流(ADS)、UNC路径、设备路径(如\\.\C:)等多种歧义形式。安全的路径校验必须先将用户输入通过GetFullPathName或PathCchCanonicalize等API规范化为绝对规范路径,再与白名单比较。朴素的字符串比较(如string.Equals)或简单的StartsWith检查都会被上述歧义绕过。微软在补丁中改用GetFullPath调用正是为了在比较前完成规范化。这一漏洞模式并非Copilot独有——任何在Windows上做路径白名单校验的代码都可能重蹈覆辙,包括插件系统、配置加载器和沙箱文件访问层。
三、INFUSE基准:护栏到底能挡住多少
《INFUSE: A Unified Surface Benchmark for Indirect Prompt Injection in Agentic Systems》给出了第一个端到端的量化答案。该基准包含40个真实Agent任务、覆盖5类威胁的56种攻击场景分类,在19个LLM上测试了约41,800条对抗轨迹。
结果并不乐观:LLM评判下的平均攻击成功率为19.6%(启发式检查为15.4%),现有守卫模型提供的保护有限。提示层面的加固能将平均成功率从58.2%降至14.3%,但需要付出效用代价。
对于运维长时间运行Agent的团队,这个基准提供了校准护栏真实价值的实际数字,而不是依赖厂商声明。
间接提示注入(Indirect Prompt Injection, IPI)是指攻击者将恶意指令嵌入Agent在任务执行中会检索到的外部内容(网页、文档、工具返回结果、邮件等),而非直接来自用户输入。与直接提示注入相比,IPI更隐蔽:用户本身是善意的,Agent却在「阅读」不可信内容时被劫持。INFUSE基准的「端到端」特性意味着它不只测试分类器在孤立样本上的准确率,而是让攻击在完整的多步Agent任务链中展开,测量最终任务是否被成功劫持——这更接近生产环境的真实风险。端到端评估通常会得出比组件级评估更悲观的结论,因为攻击面涵盖工具调用、记忆写入、多轮推理等多个环节。理解这一点有助于解释为何「提示加固」虽能将成功率从58.2%降至14.3%,却仍无法归零,且需以任务效用下降为代价。
四、检测器分数不能直接支撑放行决策
《From Detection to Decision》研究了一个更贴近生产的问题:当问题从「是不是提示注入」变成「放行、阻断还是升级」时,检测器还靠得住吗?
研究评估了Jev、两个版本的Llama Prompt Guard 2以及一个LLM裁判,在47,611个留出样本上测试。结论是:要达到1%的假阴性率,所有被测系统都需要将超过91.8%的输入升级人工处理,同时伴随大量误报。
这意味着依赖单一检测器分数做决策是不成立的。团队需要的是明确的升级策略,而不只是一个阈值。
五、语言本身就是Agent守卫的攻击面
《Language Is a Security Surface for Agent Guards》揭示了一个被英语评估完全忽略的风险维度:守卫模型的判断会随用户指令的语言而变化。
研究将指令翻译成德语、法语、土耳其语、斯瓦希里语和阿姆哈拉语,在1,220个标注步骤上保持其他条件不变。较小的开源守卫模型判断偏移远超正常噪声,且语言越冷门偏移越明显;前沿守卫模型波动较小;英语改写对判断的影响小于翻译。作者发布了基准和489k条判断记录。
对于在多语言产品中使用小型或自托管守卫模型的团队,这是一个直接警告:每种语言都有独立的风险面。

守卫模型(guard model)通常是在英语语料上微调的小型分类器(如Llama Prompt Guard系列),部署在用户输入与主模型之间做安全过滤。其风险评估几乎全部基于英语基准,但生产系统往往服务多语言用户。当同一恶意指令被翻译成德语、斯瓦希里语等非英语语言时,守卫模型的内部表示会发生偏移:分词器对低资源语言的切分更碎、训练分布覆盖更稀疏、语义对齐更弱,导致分类边界漂移。攻击者无需构造复杂对抗样本,仅需切换指令语言即可探测守卫的盲区。这一风险在自托管小型守卫上尤为突出,因为前沿大模型的多语言能力通常更强、判断更稳定。对多语言产品而言,守卫策略需要按语言分别校准阈值,或将低资源语言输入统一升级到人工或更强模型的复核通道。
六、其他值得关注的研究与动态
RAG投毒新手法:《Poisoning the Neighborhood》针对基于HNSW索引的大规模RAG系统提出拓扑感知的主题级投毒攻击,利用「Hub」和「Satellite」文档占据图的语义区域。在200万文档的维基百科语料上,检索成功率超过72%,攻击成功率31.29%,现有投毒防御全部失效。使用Faiss、Milvus等HNSW方案的生产系统需要警惕。
Agent监控的盲区:《Screwtape》提出一种对抗性转录编辑流水线,在真实Agent转录(Claude Code、Codex)中引入特定危害(如API密钥泄露),测试只关注动作、不看完整推理的「动作监控器」能否发现。94条转录中产生35个攻击绕过作者自己的监控器(共252次运行),6个人工确认的攻击也绕过了外部前沿开发者的监控器。
Anthropic的蒸馏防御:Anthropic公布了针对蒸馏攻击的三管齐下方案:限制「思考」输出的泄露位置、假阳性率低于0.1%的两阶段分类器、以及累犯账号封禁。可提取的推理Token据报下降10至100倍。对于通过API暴露思维链或推理轨迹的团队,这是必读材料。
自复制模型实验:Anthropic前沿红队展示了9B至26B参数的小模型在智能电视盒子、IoT设备等廉价消费硬件上运行分布式推理,并预测到2026年底30B以下模型可能串联完成自复制的每一步。这对基础设施和边缘设备的威胁建模更具参考价值。
独立评估者计划:Anthropic给予METR接近员工级别的访问权限(硬件、内部系统),并扩展与SecureBio、Accenture等机构的合作,采用三层访问与发布模型。对于构建外部红队项目的团队,这是可参考的治理结构。
贯穿本周的主线
把本周的独立发现放在一起看,模式高度一致:INFUSE显示守卫模型对Agent基准中的间接注入几乎无感;校准与延迟研究显示检测器分数无法支撑放行决策;MCP能力洗白扫描显示每六个服务器中就有一个能力分类错误;语言面研究显示小型守卫在非英语输入上悄悄漂移。再叠加Visual Studio Copilot的RCE——一个在测试中看似正确的路径校验被操作系统层面的文件名怪癖击败——结论很明确:建立在Agent之上的安全控制,不能假设Agent本身、或保护它的检查会按预期行事。验证必须发生在真实的系统边界上——文件路径、检索索引、守卫策略——而不是模型的判断里。
相关推荐

2026年AI编程工具横评:Claude、ChatGPT、Gemini谁最强?
2026年五款主流AI编程工具横评:Claude Code、ChatGPT Codex、Gemini、DeepSeek和GitHub Copilot在真实项目、定价与代码质量上的全面对比,帮你决定每月20美元该花给谁。

ChatGPT Codex克隆任意软件?实测风险与真相
YouTube短视频宣称用ChatGPT Codex或Claude Code即可克隆Adobe、Excel、Figma等软件并终身免费使用。本文拆解其技术可行性、法律风险与私信引流套路,说明AI编程工具真正适合的用法。

Kilo Code免费安装但API收费:成本估算与配置指南
Kilo Code 开源 AI 编程代理安装免费,但接入的 AI 模型按 token 收费。本文详解 VS Code 扩展与 CLI 配置步骤,并用假设用量演示 API 成本估算方法,对比按量付费与订阅制的选择逻辑。