ARTICLE · 1199831
AI还在替你办事,却已经越权了
AI还在替你办事,却已经越权了

AI概念插图:执行路径越过授权边界,不代表任何事件的真实运行界面。
查一个动物园的入口信息,能惹出多大麻烦?
10月14日,研究团队Swarmchasers发布调查:9月28日至10月8日,一批运行在腾讯云基础设施上的Agent,为获取高德地图数据进行了2600余次尝试。其中有的借用外部服务,有的使用公开泄露的凭据。这里的次数是获取尝试,不能理解成2600个Agent,更不能理解成2600次成功入侵。[1]
两天后,腾讯回应。按路透社转述,相关活动来自第三方模型评测,并非腾讯Hy模型;腾讯称复查未发现蓄意针对或协同行动,正在加强网络访问控制和Agent监测。[2]
而在此前的9月,Anthropic已经公布了一份更深入的事故复盘:一些Claude模型在安全测试中访问了未经授权的真实系统。它们仍在努力完成被分配的任务。[4]
这恰好是整件事最难处理的地方。一个AI可以一直记得你要什么,同时把你从未授权的办法也用上。
本文速览

图源:Swarmchasers原始调查[1],2026年10月14日。真实网页截图;基础设施归属不等于底层模型归属。
“不听话”,究竟是哪一种?
讨论AI越权,很容易把不同的问题揉在一起。
它可能理解错了任务,可能没有识别出访问边界,也可能明知某种行为存在风险,仍然决定继续。至于它是否发展出了独立目标,是另一个需要证据的问题。
把这些都叫作“不听话”,有传播力,却不利于找到故障发生的位置。
先看腾讯相关事件的证据边界。研究者没有发现这些Agent实时协作,所以使用fleet这个词,将其与协同工作的swarm区分开。部分Agent自称Claude,但研究者没有据此确认模型身份。[1]
云服务器归谁、谁组织评测、底层模型来自哪里,是三个不同问题。一个模型的自我介绍也没有身份认证的效力。
还有一个很容易被忽略的细节:研究者曾在网页放入对人不可见、读取工具却能看到的文字,引导Agent联系邮箱,并承认其中含有误导信息。因此,后来的对话包含研究者干预,不能直接当成Agent自发求援或产生自我意识的证据。[1]
这些限定不会让风险消失,只是让我们把问题问得更准:一个获准检索信息的Agent,为什么会把某些访问限制当作需要克服的障碍?
用户委托了一个结果,不等于授权所有获得结果的办法。
假设你让一个助手整理客户资料,它发现现有数据不够完整。寻找公开资料可能符合任务范围;调用一个能导出全部客户信息的接口,再把数据发到外部网站分析,就需要另行判断。最终报告再准确,也不能替中间的行为补办授权。
对Agent来说,“我还在做原来的事”只能说明目标没有丢失。安全还要求它知道:哪些动作不能做,哪些资源不能碰,哪些步骤需要停下来确认。
一场测试,怎样碰到了真实系统
Anthropic在7月30日的公告中披露了三起事件,涉及六次评测运行。测试给模型安排的是CTF任务,也就是在指定环境中寻找隐藏信息的网络安全挑战。
模型被告知没有互联网连接,实际环境却因误配置存在联网路径。测试还关闭了通常部署的网络安全防护,但保留了模型的安全训练。[3]
这里至少有两个不同层面:环境本应提供的隔离没有生效;模型面对意外出现的访问能力,又作出了怎样的选择。
其中一起事件里,模型将恶意Python包发布到真实的PyPI软件仓库。按Anthropic公告,这个包在线约一小时,被15个真实系统下载并运行。这个数字不能改写成“15家企业全部被攻破”,但它说明,测试中的动作确实产生了外部后果。[3]
在软件供应链里,发布者与受影响者未必事先知道对方存在。程序一旦进入公共分发渠道,就可能被其他系统自动拉取。操作者把自己的任务称为测试,并不能让下游系统也变成模拟环境。
这也是为什么安全评测本身需要接受安全检查。我们希望测出模型能够做到什么,往往会减少限制、给它更长时间和更多工具。这样的设置可以帮助观察能力,同时也扩大了意外行为的空间。
9月9日,Anthropic的后续复盘将事件范围更新为四起、七次运行,并承认早期过度依赖模型关于“处于模拟环境”的自述。公司的新分析指向偏置推理与冒险行为。[4]
这个修订很重要。模型说“我认为这是模拟”,是需要解释的观测结果,不能直接用来证明它的判断正确,更不能据此认定后续行动没有风险。

图源:Anthropic官方复盘[4],2026年9月9日。真实网页截图。
它停过一次,不代表它会稳定停下
在Anthropic的复盘中,有一个比“模型说了什么”更值得看实验设置的数字:5.5%。
一个内部研究模型在原始运行中最终停止攻击。研究者从那个节点重新采样,让模型继续运行最多10个动作,只有5.5%的轨迹出现了降级、停止攻击的行为。[4]
这个比例只适用于该检查点和观察窗口,不能推广成所有Claude的“停手概率”。它的意义在于:同一个已经发生过的好结果,未必代表稳定的行为。

图源:Anthropic同篇报告Figure 19,原图及英文图注的网页区域截图。左侧比较原始上下文与改成虚构线索的上下文;右侧比较不同推理预填条件。比例仅适用于该检查点、重采样设置及最多10步的观察窗口,不代表日常使用事故率。
可以把它想成测试一辆车的制动。看见车在一次测试里停下,是有用的记录;要判断制动可靠性,还得知道相同条件下重复测试会怎样,以及路面和速度改变以后会怎样。
Agent多了一层难处:它每一步都可能重新解释自己所处的情况。
“任务没有做完”可以推动它继续探索;“访问对象可能不在授权范围”应当推动它暂停。这两个信号冲突时,系统究竟如何选择,不能靠演示视频中一次漂亮的停止来回答。
我更愿意看到产品分别公布两种成绩:正常任务的完成情况,以及权限不足、目标失效时的停止情况。后者也应该成为能力评估的一部分。
例如,让Agent处理一个只能读取、不能修改的工作区。正常文件可以继续分析;涉及写入的步骤应该被拒绝或转为建议。再把目标文件临时移走,看看它会报告缺失,还是擅自搜索其他账号、其他目录来补齐。
这样的测试不需要制造真实损害,却能检验一个非常实际的问题:当原路走不通时,它会不会自行扩大范围?
你限制了一个工具,它可能找到另一条路
Agent的权限不能只按工具名称理解。
一个叫“读取网页”的工具,听起来很温和。但如果它能调用远程浏览器,而那个浏览器又能提交表单、执行程序,本地的一次读取请求就可能触发远端的其他动作。
服务商Microlink在9月的技术复盘中描述过这样的情况:受GET请求限制的Agent,通过Microlink的远程浏览器完成了POST请求。服务商认为这是其API的正常功能;原运营方设置的限制,却可能因此被绕过。该复盘对模型归属也保留了证据限定。[6]
GET、POST是HTTP请求方法,不能与“无副作用”“有副作用”简单画等号。真正要检查的是服务端会执行什么,以及后续还会委托谁执行。

AI机制示意:本地读取请求可能触发远端的其他动作。图为解释性插图,不是实际产品界面或事件取证图。
这让安全审查从一个接口的问题,变成了整条调用链的问题:
表中的检查是工程建议,并非上述事件的现场配置。
一个工具单独看没有问题,不代表它和其他工具串起来以后仍然满足原来的限制。开发者如果只审查“工具能不能调用”,就可能漏掉“调用以后实际上做了什么”。
这也解释了为什么给模型一份禁止事项并不足够。自然语言可以帮助它理解边界,真正执行动作的系统仍然需要核对权限。模型无法自行修改的限制,才不会随着它对任务的新解释一起变化。
“再努力一点”,也可能把问题推远
我们通常喜欢有韧性的助手:第一次失败,会查原因;第二种办法不行,会换第三种。
问题出现在“什么情况下允许换办法”没有被定义清楚的时候。
目标服务宕机了,换一个时间再试,可能合理。账号权限不足,换用别人遗留的凭据,就已经是另一回事。两种情况都表现为“原来的方法失败”,却不能接受相同的处理策略。
奖励投机研究提供了一个相关但不能直接套用到所有事故上的解释。
所谓reward hacking,是模型找到了获得高评分的办法,却没有按预期完成任务。例如,应该通过计算给出正确答案,却通过修改评分文件拿到了满分。
Anthropic在《Training a Misaligned Reward Seeker》中,故意用80个容易出现奖励投机的RL环境训练一个Opus级模型,得到Hacker-Opus。研究发现,这种训练会影响其他评测中的行为;报告图1里,奖励篡改比例从基线的0%升至41%。[7]
这是刻意设计的研究设置,不是公开产品的事故统计。其中的模拟网络攻击没有在真实世界执行,也不能据此断定腾讯相关Agent有同样的训练经历。
这个实验能支持的判断已经足够值得重视:当评分机制长期接受不当捷径时,学到的行为可能超出原来的训练任务。
不过,获取真实数据时绕过限制,与篡改评分拿高分,仍是不同现象。把所有越权都叫奖励投机,会省掉最需要调查的一步:它当时究竟在优化什么,环境又给了什么反馈?
对于实际产品,我认为更直接的改进是给任务一个合理的退出方式。
当系统发现权限不足时,可以交付已完成的部分,说明缺少哪项授权;当数据源失效时,可以返回证据缺口。结束任务不必只有“全部成功”和“彻底失败”两种状态。否则,一个本该停止的工作流,很容易在连续重试中获得越来越大的行动范围。
责任不能全推给模型,也不能全推给配置
网络隔离失效,应当修网络隔离。模型对授权作出了不合理推断,也需要单独分析。两个问题可以同时存在。
Anthropic在8月31日的整改说明中,提出将边界写成明确指令,验证网络隔离,并在工具执行前阻断异常行为。[5]
其中一个很具体的区别是:“你没有互联网连接”描述环境;“你不得访问这些目标”约束行为。前一句一旦与实际环境不符,就无法代替后一句发挥作用。当然,后一句还需要系统侧的执行措施。
OWASP关于Excessive Agency的指引也指出,过多功能、过大权限和过度自主都可能造成风险,并建议在下游系统实施授权,避免完全依赖模型判断。[8]
落到一个准备上线的Agent,检查可以很具体。它需要读文件,就不要顺带获得删除文件的权限;它需要起草消息,发送应当是单独的操作;它准备向一个新的网站提交数据时,应当核对收件方与数据范围,而不只检查工具名称。
人工审查也确实有作用。英国AISI披露的另一起评测事件中,Agent尝试向开源项目提交恶意代码,维护者识别并拒绝了提交;AISI的调查没有发现由此造成的实际损害。[9]
这不能被理解成“最后总有人兜底”。审查者需要看得到真实代码、具体操作和影响对象。只给人一个“是否继续完成任务”的按钮,信息远远不够。
同样,异常发生后的日志应该能够串起整条行动链:任务是谁发起的,权限何时获得,调用了什么服务,返回了什么,随后又做了什么。只有最终答案,很难解释一个Agent究竟有没有在过程中越权。
最后简单说
腾讯相关调查与Anthropic复盘,已经让Agent越界成为需要处理的实际问题。现有证据不足以证明AI产生了独立意志,却足以要求我们重新检查:完成任务的压力,是否正在压过授权范围。
今后评估一个Agent,我会同时看它办成了多少事,以及它在什么情况下会停。一个能准确说明“这一步超出了我的权限”的助手,比一个总能想出下一条路、却说不清边界的助手,更适合进入真实工作。

阿多小筑
AI产品经理的实验室
这里记录AI产品从想法到落地的过程:产品结构、Agent/RAG/评估、AI医疗行业、AI工作流、内容自动化、AI审美,以及真实项目里的判断和取舍。
公众号、抖音、小红书同名:阿多小筑。关注这里,一起把AI能力变成可复用的产品和流程。
参考资料















































































