微软周二正式发布补丁,修复其个人版AI助手Copilot中一个被称为"CoSnitch"的严重安全漏洞。此距微软确认该漏洞已过去近八个月。该漏洞的根本成因在于大语言模型无法区分查询数据与执行指令。
CoSnitch漏洞由安全公司Varonis发现,这也是Varonis今年向微软报告的第三个Copilot漏洞,此前已相继披露了通过重复查询绕过Copilot防护机制的"Reprompt"漏洞,以及将Microsoft 365 Copilot企业版变为"静默数据窃取工具"的"SearchLeak"漏洞。三个漏洞共享同一利用模式:只需点击一个看似正常的链接即可触发攻击。
Varonis在其周二发布的详细技术博客中指出,CoSnitch漏洞综合利用了三项Copilot缺陷:
自动提示执行
"?q= URL参数配合一个未公开参数,可使攻击者提供的提示词在页面加载时立即执行,无需点击、无需确认、无需用户任何操作,一个链接即可完成。"
数据外泄至外部服务器
"注入的提示词可查询受害者连接的应用(如Gmail、Drive、日历或OneDrive),将结果编码为URL,并利用Copilot内置的URL请求功能将数据发送至攻击者控制的webhook端点。"
通过网页摘要实现持久性记忆污染
"经过特殊构造的网页一旦被Copilot摘要处理,攻击者指令便会被注入受害者的永久记忆库。该注入在密码更改、会话撤销乃至设备重新注册后依然存在,永久驻留。"
然而,CoSnitch漏洞最引人注目之处,在于其发现方式——Copilot本质上是自己泄露了漏洞所在。
Varonis在博客中写道:"我们提示Copilot解释为什么自动执行是不可能的,它每次拒绝都附带技术理由,这些理由反过来勾勒出了系统架构。"Varonis随后"将每次拒绝重新包装成追问,每一次回答都进一步缩小了攻击面。Copilot在一次拒绝过程中主动披露了一个未公开的URL参数,包括其历史行为及所有已设置的防护措施。我们完全按照描述构造了URL,无需用户任何点击或确认,提示词便自动成功执行。Copilot不是被攻破的,而是被'套话'了。"
微软通过邮件确认了漏洞及修复情况,表示"客户已受到保护,无需采取任何操作",并通过微软安全响应中心(MSRC)将该漏洞定级为"严重"。
然而,微软声明中有一处表述并不准确——其称"使用Microsoft 365 Copilot的企业客户不受影响"。分析人士指出,在复杂的企业环境中,员工个人账户所安装的消费版Copilot客户端普遍存在,这意味着个人版漏洞完全可能波及企业版用户。
这一问题因微软正在推进Copilot统一化计划(代号"Copilot Fusion")而愈发复杂。相关产品合并细节上月开始泄露。这意味着企业安全负责人必须关注个人版Copilot中的漏洞是否会被带入合并后的新产品。
在修复时间线上,Varonis于去年12月31日报告了CoSnitch漏洞,微软于今年2月1日修补了其中的自动执行能力,但直至本周二才完成全部修复工作。
Varonis高级安全研究员Lior Adar表示,2月份的补丁"显著降低了其他漏洞的威胁等级"。其同事、Varonis云安全研究团队负责人Chen Levy Ben Aroy则补充道:"大语言模型是一个全新的漏洞领域。"
Info-Tech研究集团副总裁、资深分析师Mark Tauschek对Varonis通过诱导Copilot自我披露漏洞的研究方法给予高度评价。
"这是一种非常复杂的组合手段,融合了针对大语言模型的社会工程学、多种越狱技术以及提示词注入攻击,其能力令人警惕,"他表示,"多种攻击向量的组合是最令人震惊之处。单独来看,这些方法都曾出现过,但三者同时用于一个漏洞利用,至少在公开披露层面,我认为是首次。"
Tauschek表示,企业安全负责人可能需要采取紧急行动:"就像上世纪90年代末和本世纪初宏病毒肆虐时一样,彻底阻断的唯一方式就是关闭功能。那时是禁用宏,现在是禁用Copilot。当然有很多缓解措施可以将风险降至极低,但那并不等于零风险。重要的是,这仅仅是个开始。"
纽约科技咨询公司Tribeca Softtech首席战略官Aman Mahapatra指出了一个更深层的结构性问题:主要AI公司的商业利益驱动,使得从根本上修复此类漏洞几乎无解。
他认为,任何能彻底堵住此类攻击的防护措施都会削弱产品能力,因为被利用的功能,恰恰是微软作为Copilot核心卖点对外宣传的特性。"修复方案与产品功能之间存在根本矛盾,这意味着漏洞不会被彻底修补,而只会被持续缓解。长达八个月的修复周期,正是厂商在每次修复中反复权衡安全义务与产品路线图时的真实写照。"
Mahapatra还指出:"这是企业安全负责人必须深刻理解的规律:在智能体系统中,恶意操作与合法操作在行为上完全一致,区别仅在于意图。这从根本上瓦解了企业安全体系二十年来所依赖的特征检测与异常检测模型。CoSnitch固然严重,但其本质特征在于:系统没有任何故障。三个链式漏洞——自动触发提示词的URL参数、滥用OAuth连接器读取完整Gmail内容而非元数据、以及通过网页摘要实现持久记忆污染——每一个都是Copilot在按设计运行。"
他进一步强调,第三个漏洞分量最重:"记忆污染这一环节被严重低估,却是最为危险的。攻击者只需让受害者用Copilot摘要一个经过特殊构造的网页,便可将攻击指令写入Copilot的持久记忆,而这一记忆在密码更改、会话撤销及设备重新注册后依然存在。标准的安全事件响应流程对此无济于事。一旦完成初次写入,攻击者甚至不需要维持任何持久基础设施,因为受害者未来的每一次会话都将在攻击者控制的上下文中运行,而这一切仅被记录在几乎无人打开过的记忆设置界面中。"
LexisNexis风险解决方案集团首席信息安全官Flavio Villanustre则指出了一个影响所有智能体和生成式AI部署的更宏观问题:"此次攻击中提示词注入部分的成因,在于大语言模型无法区分数据(来自外部网页的不可信数据流)与指令(攻击者嵌入该数据流中的恶意内容)。这再次说明,我们需要一种新的大语言模型架构,将数据与指令彻底分离,才能从根本上保障系统安全。而这一点,迄今为止没有任何AI厂商——包括微软在内——真正着手解决。"
Q&A
Q1:CoSnitch漏洞是如何被发现的?
A:CoSnitch漏洞由安全公司Varonis发现,发现过程十分特殊。研究人员通过不断向Copilot提问为何"自动执行不可能",利用其每次拒绝时给出的技术解释来逐步还原系统架构,最终诱导Copilot主动披露了一个未公开的URL参数。研究人员按照Copilot自己的描述构造了攻击链,成功实现了无需用户操作的自动提示词执行。简而言之,是Copilot自己"说漏嘴"暴露了漏洞所在。
Q2:CoSnitch漏洞的记忆污染攻击为什么难以清除?
A:记忆污染攻击之所以危险,在于攻击者的指令一旦写入Copilot的持久记忆库,就会在密码更改、会话撤销和设备重新注册后依然存在。企业常规的安全事件响应流程(如改密码、注销登录)对此完全无效。攻击者完成初次写入后无需维持任何持续的攻击基础设施,受害者此后的每次Copilot会话都会在攻击者控制的上下文中运行,而受害者几乎不会主动查看记忆设置页面,难以察觉。
Q3:企业用户应该如何应对Copilot存在的此类安全漏洞?
A:针对此类漏洞,专家建议分层应对:短期内,若风险承受能力低,可考虑暂时禁用Copilot功能(类比当年禁用Office宏的做法);同时,企业安全负责人需意识到个人版Copilot也可能影响企业环境,不能只关注企业版。从长远看,由于此类漏洞的根源在于大语言模型无法区分数据与指令,业界期待从架构层面将二者分离,但目前尚无厂商实现这一根本性改变。微软已发布补丁,企业用户无需手动操作即可受到保护。
热门跟贴