← 返回 PaperDaily
大模型与智能体
UIUC最新研究:12款主流AI编程助手被一锅端?隐藏后门能直接远程控制你的电脑!
AI编程助手不仅仅是代码工具。最新研究揭示,Claude Code、Codex等产品可能被恶意指令攻破,黑客可远程控制你的电脑。
龙哥读论文
发布于 2026-09-04 00:20:16
阅读 1
查看原文
原论文信息如下:
🤚 停!别急着用AI编程助手review代码,尤其是陌生人的Pull Request。UIUC团队发现了针对AI智能体框架的新攻击方式,成功在Claude Code、Codex等12款产品上验证。攻击可操纵AI行为,甚至实现远程代码执行(RCE)。
什么是Agent Harness(智能体框架)?AI编程助手不是单独工作的大模型,而是一个系统:大模型负责思考,框架负责收集信息、调用工具、汇总结果。这层壳就是“Agent Harness”。
问题出在这层“壳”上。为了更“智能”,框架从各处抓取信息塞进上下文,包括指令、系统提示词、配置文件、技能说明、环境信息、工具返回内容等。
这些内容在发给大模型时带有不同“角色标签”,如system、developer、user、assistant、tool等,权限从高到低。大模型优先听从高权限角色指令,低权限角色内容不可信。UIUC团队发现,框架组装上下文时设计随意,导致脆弱性。这就像管家听从主人语气的话,推销员模仿主人的口吻说“记下这句话”,管家就真的记下了。
第一类攻击叫消息角色上下文权限提升(M-CPE),利用“角色错配”:低权限来源的恶意指令通过框架缺陷被写入高权限来源,模型误以为是系统指令而执行。
第二类攻击叫跨作用域上下文权限提升(X-CPE),利用“作用域错配”:恶意内容被写入长期记忆文件或全局配置,实现“持久化”,下次AI启动时依然生效。
论文不仅发现漏洞,还首次系统性研究AI智能体框架的上下文安全,提出16种新攻击向量。通过这些向量,可远程操纵智能体推理、行动,甚至获取主机控制权。
论文中给Codex CLI的上下文组装过程画了一张示意图(图1),展示AI如何在不同任务中组装上下文。关键在于不可信消息如何“篡改身份”进入高权限区域。

M-CPE相当于篡改红绿灯信息,X-CPE则是把恶意交通规则写进导航记忆卡。两种攻击常组合使用,形成威力巨大的漏洞链。
论文开发了上下文风险分析器CORA,分三步:静态分析、动态验证、自动化漏洞验证。CORA像渗透测试机器人,自动化分析框架上下文安全。
攻击面藏在哪里?论文梳理出16种攻击向量,分为三类:丰富多样的上下文来源、上下文标记、上下文组装逻辑。比如,Claude Code自动加载Git提交记录,恶意指令可藏在commit消息里。

比如上图的攻击结合了A-5和C-5两个向量。攻击者把恶意技能文件放在一个仓库/压缩包中,诱导AI(比如Claude Code)探索该目录。由于Claude Code存在运行时技能发现机制,它会自动加载该目录下.claude/skills里的SKILL.md文件,并且技能内容中某个特殊语法块可以被当作Shell命令直接执行。通过富文本特制的技能文件,就能绕过模型不能执行命令的限制,直接拿到一个Shell。整个过程不需要用户批准,因为AI认为它在执行一个普通技能而已。🤨 看到这里,是不是觉得防不胜防?
从工具输出到系统指令:一条隐蔽的权限提升路径
有了直观感知,咱们先把攻击这件事从“故事”变成“模型”。原文为了说清楚问题,给智能体做了一个非常朴素但有用的形式化定义:一个智能体 A 由大模型 M、一组工具 T 和动态上下文 C 构成。每一轮对话,模型根据当前上下文 C_i 输出要调用的工具 T_i,框架执行工具后,再把执行结果合并回上下文,得到下一轮的 C_{i+1}。整个过程不过三行公式:
可是有人会问:大模型不是专门做过“指令层级”训练吗?难道它连“这段文字是工具输出、不该执行”都分不清吗?问题就出在,框架在把内容装进上下文时,常常亲手撕掉了“这段内容来自哪里”的标签。
以被测试的 Cline 为例,它的框架提示词里会放一大段 ToolUse 系统提示,告诉模型:当你想调用工具时,请输出一段含有 XML 标签的结构化文本。这套机制本身是给模型用的,但糟糕的是,Cline 在解析模型回复时,不只处理模型自己生成的标签,还会顺手解析上下文里其它来源的文本。攻击者只要在一个 GitHub Issue、一段网页内容或一封邮件里,塞一段精心构造的 XML 指令,Cline 就可能把这段低权限的外部内容,当成“模型想调用工具”的合法输出去执行。论文里把这种针对上下文标记的滥用归纳为“标记注入”与“标记解释”两类攻击向量。
16个攻击向量:AI Agent上下文组装的系统性漏洞分析
Cline 的例子只是冰山一角。论文真正的硬核之处,是把主流框架里那些“看起来各不一样”的漏洞,拧成了一根绳子——一套包含 16 种攻击向量的系统化分类。这 16 种向量被归纳进三个大类别,正好对应上下文组装的三道工序:从哪些来源取内容、以什么标记格式打包内容、按什么逻辑决定内容的优先级和去向。
第二类是“上下文标记”,编号 B-1、B-2。一些框架为了结构化表达,会在提示词里使用特定标记语言,例如用 XML 包裹工具声明、用特殊注释区分“可执行块”。如果低权限内容里混入了相同语法的标记,而框架又没有做来源校验,就可能被解释成高权限操作。Cline 被操纵的工具调用就是典型。
第三类“上下文组装逻辑”,编号 C-1 到 C-7,是这次研究里最容易被忽视的角落。框架在加载记忆文件时有先后顺序,同名技能重复出现时有去重策略,甚至有些记忆文件还能“递归引用”其它文件。攻击者只要摸清这套排序逻辑,就能让恶意文件比正常文件更晚加载,从而覆盖掉用户的原始设定。还有更野的:有些上下文源里允许内联动作,比如让 Agent 在读取技能时顺带执行一段命令;再叠加一个不带沙箱的内置工具,攻击就完成了从“文字”到“代码执行”的最后一跳。
CORA:自动化发现Agent安全漏洞的新工具
面对 12 个框架、几十种上下文来源,纯靠人工一个个翻源码肯定不现实。为此,论文设计并实现了一个自动化分析工具,名叫 CORA(Context Risk Analyzer,上下文风险分析器)。CORA 的目标是:给一个 Agent 框架的源码,自动找出哪些上下文源可能被恶意利用,并尝试完成端到端的概念验证攻击。整个工具分成三条流水线。
第一步,静态识别。 CORA 直接对 Agent 框架的源代码做静态分析,不运行程序,先找出代码里所有“读取文件”“拼接字符串”“调用系统命令”的位置,再结合上下文推测:这个文件可能从哪个路径读入?内容会被标记成哪个角色?又会在什么时机被加载?这一步产出的是一份上下文源清单。
第二步,动态验证。 静态分析难免有“看着像但实际上不会触发”的误报。CORA 会把 Agent 真正跑起来,在运行时插入钩子,截获每一次准备发给大模型的完整 Prompt。通过对比真实 Prompt 里各消息的角色标签,就能确认某个上下文源是否真的会被加载、以及它在真实场景里到底被赋予了哪一级权限。
第三步,自动攻击验证。 有了上下文源和角色信息,CORA 会从论文总结的 16 种攻击向量里自动挑选合适候选,拼接攻击载荷,然后驱动一个“受害者 Agent”去访问恶意内容,观察恶意指令有没有真的写入高权限文件、有没有在重启后生效。整个流程是端到端的,不依赖人工判断“大概可能成功”。
12大主流Agent无一幸免:真实攻击场景演示
CORA 被派去扫描了 12 款主流 Agent 框架:Codex、Claude Code、Gemini CLI、Qwen Code、Kimi CLI、Aider、OpenCode、Cline、Goose、Pi-mono、OpenClaw 和 Hermes Agent。这些框架单个在 GitHub 上的 Star 数从数千到数十万不等,合计拥有超过 100 万 Star。扫描结果触目惊心:一共确认了 282 个可被攻击者利用的上下文源,所有 12 款框架都对至少一种 CPE 攻击向量免疫失败。
如何防御?——Agent Harness安全设计的新思考
论文在攻击之外,也给框架厂商和开发者留了五条防御思路。
第一,压缩上下文来源。 很多框架为了“智能感”,把大量低价值的文件也加载进上下文。安全设计的第一原则应当是:能少加载就少加载。每多一个上下文源,就多一个被恶意内容污染的入口。Codex 和 Gemini CLI 已经发布新版本,正是通过减少上下文来源来缓解这类攻击。
第二,为上下文源增加不可篡改的“来源标记”。 当内容被写进记忆文件时,框架应当记录它来自哪个上下文源;当这些文件下一次被加载时,框架应当沿来源链重新做一次信任判断,而不是直接把它当作可信的用户设定。
第三,把“写入高权限文件”当成敏感操作。 当前大多数框架对“执行命令”有审批机制,但对“写入记忆文件”“修改全局配置”这类操作几乎是绿灯放行。框架应当把记忆写入和配置修改纳入与命令执行同级别的敏感操作,需要用户显式批准。
第四,技能执行要沙箱化。 Claude Code 的 RCE 之所以能成功,是因为技能文件里的特殊语法块可以直接以 Shell 命令执行,并且没有沙箱隔离。第三方技能本质上就是不可信代码,应该跑在限制网络与文件系统访问的隔离环境里。
第五,上下文组装逻辑要透明。 不少框架的加载路径、加载时机和角色分配逻辑是厂商私有的,用户根本不知道 Agent 到底读了哪些文件、这些文件会被当成什么级别的指令。论文建议厂商公开上下文组装策略,至少让用户和安全研究者能审计。
对于普通用户,最直接的防御动作是:不要让 AI 编程助手在没有监督的情况下处理陌生仓库、陌生 PR 或下载的压缩包;如果一定要处理,先手动删除其中可疑的 CLAUDE.md、GEMINI.md、AGENTS.md、.claude 目录、.agents 目录。别看这些文件名字人畜无害,在上下文权限提升攻击里,它们就是通往系统最高权限的“后门钥匙”。
龙迷三问
这篇论文到底在解决什么问题? 本论文首次系统性地分析了12款真实世界AI智能体框架的上下文组装机制,提出两类全新的上下文权限提升攻击(M-CPE和X-CPE),通过16种攻击向量,发现282个易受攻击的上下文源,可导致智能体被完全控制乃至远程代码执行。
这篇工作最值得看的点是什么? 论文对12个主流AI Agent Harness进行了系统性安全分析,识别出282个易受CPE攻击的上下文源,枚举了1761条候选CPE攻击路径,并在所有12个Agent上成功实现了端到端的PoC攻击,包括远程代码执行、Agent完全控制、拒绝服务和工具/技能调用操纵等严重后果。
这篇工作的边界或风险在哪里? 优点:(1)首次对AI Agent Harness的上下文组装设计进行系统性安全分析,填补了研究空白;(2)提出了两类新颖的攻击类别(M-CPE和X-CPE)和16个攻击向量的分类体系;(3)开发了自动化分析工具CORA,能够自动识别和验证CPE漏洞;(4)对12个主流Agent进行了全面评估,结果具有广泛适用性。缺点:(1)攻击成功率受限于底层LLM的安全对齐和指令遵循能力;(2)CORA在环境构建方面存在一定局限性,可能无法覆盖所有上下文源;(3)部分攻击场景需要特定的用户行为配合(如批准工具调用)。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评 论文创新性分数: ★★★★☆
系统分析12个真实世界AI Agent Harness的上下文组装设计,提出两类上下文权限提升攻击(M-CPE和X-CPE),并开发自动化分析工具CORA进行端到端漏洞验证。
实验合理度: ★★★★☆
上下文源数量、角色和范围分布、CPE攻击路径数量、端到端攻击成功率
学术研究价值: ★★★★☆
系统分析12个真实世界AI Agent Harness的上下文组装设计,提出两类上下文权限提升攻击(M-CPE和X-CPE),并开发自动化分析工具CORA进行端到端漏洞验证;更关键的是问题定义是否可复用到同类任务。
稳定性: ★★★☆☆
现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。
适应性以及泛化能力: ★★★☆☆
现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。
硬件需求及成本: ★★★☆☆
现有材料缺少完整训练资源、参数量、显存和推理时延信息,成本暂按中性评价。
复现难度: ★★★☆☆
现有材料未确认完整代码、配置、数据处理脚本和权重是否齐备,复现难度暂按中性评价。
产品化成熟度: ★★★☆☆
论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。
可能的问题: 现有材料尚未充分覆盖分布外泛化、部署成本、长期稳定性和失败案例。
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击 "阅读原文", 查看更多原论文细节哦!