AI编码助手最危险的时刻,可能不是它写错了一行代码,而是它把本来没有权限的内容,悄悄变成了“用户已经授权”的命令。新研究对六类主流编码Agent进行了测试,设计的13种攻击全部成功,工具到用户层的指令提权成功率达到97.3%,工具到系统层也达到80.3%。攻击者并不一定要直接攻破模型,只要利用SubAgent委派、工具返回值和消息层级之间的缝隙,就可能绕过模型判断和权限审查。
这件事把AI安全从“模型会不会说危险的话”推进到了更具体的工程问题:一个能读代码、执行命令、访问网络和修改文件的Agent,到底是谁在下命令?命令经过了几层转发?系统有没有记录每一步身份变化?当企业把AI接入研发、客服、数据分析和运维流程后,真正需要防范的已经不是单次回答失误,而是权限在自动化链路中被重新解释。
漏洞藏在委派链路
传统权限模型通常会把用户、程序和工具分成清晰的层级。用户发起请求,应用校验权限,工具按授权范围执行,日志记录调用结果。AI Agent把流程变成了动态协作:主Agent可以创建SubAgent,SubAgent可以调用搜索、终端、浏览器或代码执行工具,工具又会把外部内容返回给模型。每多一层转发,就多一处消息身份可能被混淆的地方。
研究中提到的指令提权,本质上是让低权限内容伪装成高权限消息。一个看似普通的工具结果,可能包含要求继续执行的指令;SubAgent再把这段内容包装后交给主Agent,主Agent如果无法区分“数据”和“命令”,就可能把不可信文本当成用户意图。此时即使模型本身具备安全规则,应用层的消息拼接也可能先把边界破坏掉。
为什么模型审查也没挡住
很多系统把安全寄托在两道门上:第一道由模型判断请求是否合理,第二道由权限模块判断工具能否执行。问题在于,如果攻击发生在两道门之间,模型看到的已经是被重新包装后的内容,权限模块看到的又可能只是主Agent的合法身份。两套机制各自看起来都在工作,组合起来却没有真正验证指令来源。
这也是为什么“模型拒绝过危险请求”不能证明Agent安全。拒绝能力针对的是输入内容,而真实系统还要判断调用者身份、任务范围、资源对象、执行环境和操作后果。读取公开代码、修改测试文件和删除生产数据库,文字上都可能包含“执行命令”,但风险完全不同。安全策略必须从关键词拦截转向身份、意图和资源的联合判断。
企业部署时,至少要把消息分成四类:用户目标、Agent计划、工具数据和工具动作。四类内容不能只靠提示词里的几句说明区分,而应在程序结构中使用不同字段、不同权限和不同审计规则。任何外部网页、仓库文件、邮件正文和搜索结果,都应该默认是不可信数据,不能因为它被某个SubAgent转述过,就自动升级为可执行命令。
AI编程要保留人工闸门
AI编码助手最容易获得高权限,因为它的价值正是替开发者浏览仓库、运行测试、安装依赖和修改文件。但“能完成任务”与“可以不经确认地完成所有动作”不是一回事。删除文件、写入密钥、修改持续集成配置、上传代码、改变生产环境变量,都应该设置清晰的人工确认点,而不是让模型自行判断“这一步应该没问题”。
更稳妥的做法是把权限拆成短时、短路径、可撤销的授权。Agent只拿到完成当前任务所需的目录和命令白名单,SubAgent不继承主Agent的全部权限,网络访问按域名或接口限制,敏感操作必须重新向用户展示目标、参数和影响范围。对于测试环境,也要避免把真实生产凭据直接交给实验性Agent,因为测试代码往往更容易接触不可信输入。
开发者还应保留完整的任务轨迹:谁创建了哪个Agent,哪个Agent调用了什么工具,工具返回了什么数据,最终是谁触发了写入或提交。日志不只是发生事故后的取证材料,也是发现异常自动化行为的必要信号。如果一个SubAgent突然请求与任务无关的网络地址,或者连续尝试绕过命令限制,系统应立即暂停链路,而不是等最终结果出现后再追查。

真实应用正在放大风险
AI安全问题并不只属于代码编辑器。金融AI年度创新大赛吸引了5027支队伍和近2万名选手,赛题覆盖真实业务场景,并开放百万级金融智能数据集。这样的应用说明AI正在接触更复杂的数据和决策流程:它不仅要生成分析报告,还可能参与风控、客服、投研和业务审核。数据权限、模型输出和人工复核之间如果没有清晰边界,自动化效率越高,错误传播速度也越快。
科研Agent也在向“自己试错”发展。ScienceDiscovery用树搜索驱动科研代码迭代,两个小时完成236版尝试,并在积分器和符号回归任务中取得明显进展。让Agent自动写代码、跑实验、比较结果,确实能降低探索成本,但系统必须验证实验环境、依赖来源、结果文件和评估指标。否则一个错误假设可能被自动循环放大,最终产生看似严谨、实际无法复现的结论。
西湖大学发布的Code World Model则把代码、规则和视频模型结合起来,让智能体预测动态环境的变化。这类系统未来可用于游戏生成、机器人训练和自动驾驶模拟,也意味着Agent会逐渐从“处理文档”进入“影响环境”。一旦操作对象从文件变成设备、车辆或生产流程,权限控制就必须从软件账号扩展到现实世界的安全边界。
部署Agent要先做四项检查
第一项是检查身份传播。每次Agent委派都要明确记录原始用户、主Agent、SubAgent和工具调用者,不能让下游只看到一个笼统的“系统消息”。如果身份无法追溯,就不应允许该链路执行写入、外发或权限变更动作。
第二项是检查输入隔离。网页、邮件、代码注释、文档和搜索结果都可能携带提示注入内容,系统应把它们当作数据处理,并在进入决策环节前做清洗、标记和来源保留。第三项是检查最小权限,让每个Agent只能访问当前任务必需的资源。第四项是检查高风险动作的确认、回滚和告警,确保系统即使判断错误,也不会一步越过不可逆的边界。
如果企业需要在云端承载模型接口、任务队列、审计日志和隔离执行环境,可以使用速维云云服务器搭建中间层,把Agent运行环境与业务数据库、生产网络分开。重点不是简单购买更大的服务器,而是把密钥管理、网络白名单、备份、日志留存和权限分层一起设计,给自动化系统留下可控的安全边界。
安全标准要跟着能力升级
AI Agent的能力越强,安全评估就越不能只看模型基准分和任务完成率。企业应增加越权调用、提示注入、工具伪装、SubAgent串联、敏感数据外泄和异常恢复等测试,并且在真实业务流程中进行持续验证。一次通过评测不代表长期安全,因为工具、插件、模型版本和外部数据都会变化。
这次13类攻击全部突破的结果,提醒行业不要把Agent当成“会聊天的软件”。它更像一个拥有临时员工权限、可以自行组织工作并连接外部系统的自动化组织。模型负责理解,编排层负责分工,工具层负责执行,权限与审计层负责约束。只有四层同时设计,AI才能从演示里的聪明,变成生产环境中可放心使用的可靠能力。






暂无评论内容