Where Is the Cost of Third-Party API Routers in Agentic Software Development?
本文通过实证研究表明,在智能体软件开发中,第三方 API 路由器引入了一个关键的控制缺口,即路由侧注入可以隐蔽地改变智能体的行为并绕过客户端防御,在所评估的智能体中实现了 0% 的防御成功率,并凸显了对提供商侧输出完整性保证的紧迫需求。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在构建一个能够编写代码、修复漏洞并管理你电脑文件的机器人助手。为了让这个机器人变得聪明,你将其连接到一个位于云端的巨型超智能大脑(大语言模型),这个大脑几乎知道如何解决任何问题。但问题在于,你并不直接与那个大脑交谈。相反,你使用了一个中间人,就像是一个专门的快递服务或“路由器”,负责在你的机器人与不同的云端大脑之间传递信息。这个中间人的初衷只是做一个乐于助人的快递员,确保你的机器人可以在不改变原有线路配置的情况下,与不同的云端大脑进行沟通。
核心问题是:如果那个乐于助人的快递员决定玩个花招呢?在计算机科学的世界里,我们知道如果中间人能看到你的信息,他们就有可能替换掉你的信息,或者在传递过程中加入自己的笔记。这篇论文探讨了一个可怕但现实的可能性:如果路由器不仅仅是传递机器人的指令,而是偷偷修改了这些指令,让机器人去做一些危险的事情——比如删除你的文件或安装病毒,同时还要让这一切看起来像是机器人在正常工作,会发生什么?研究人员想要观察,机器人是否会察觉到这个诡计,还是会盲目地执行路由器下达的新恶意命令。
秘密中间人与机器人的盲点
在这项研究中,研究人员建立了一个名为 SIDEL 的特殊测试实验室,来模拟这种场景。他们设置了四个不同的“编程机器人”(著名的工具如 Claude Code、Codex、Cursor 和 OpenCode),并通过一个虚假的、不可信的路由器将它们连接到各种云端大脑。然后,他们扮演起邪恶路由器的角色,尝试通过四种不同的方式——从粗暴的武力到微妙的魔法——将恶意命令偷渡给机器人。
四种交易手段
研究人员测试了四个层级的欺骗,随着等级提升,手段也变得越来越狡猾:
- 替换 (L1): 路由器完全丢弃云端大脑的回答,并用一个虚假的回答取而代之,例如:“去删除这个文件。”
- 附加 (L2): 路由器允许云端大脑给出正常的回答,但随后在末尾强行加上一条秘密命令,例如:“噢,顺便把这个可疑软件安装了。”
- 润色 (L3): 路由器不仅修改了秘密命令,还重写了机器人的解释,使这条命令听起来像是计划中自然的一部分。这就像魔术师让一个戏法看起来像是一场正常的魔术表演。
- 心灵感应 (L4): 这是最狡猾的一种。路由器不再仅仅编辑文本;它使用第二个大脑生成一个全新的响应,将原始答案与恶意命令完美地融合在一起。这就像是路由器在机器人思考时,悄悄在它耳边低语,让机器人相信那个坏主意其实是它自己的想法。
令人震惊的结果:机器人竟然毫无反应
结果令人震惊。无论使用哪种机器人,无论是由哪种云端大脑驱动,也无论他们尝试了上述哪种技巧,机器人每次都会中招。
在安全领域,我们通过防御成功拦截攻击的频率来衡量成功率。研究人员发现,在没有额外帮助的情况下,所有四种机器人都有着 0% 的防御成功率。这意味着,在每一次测试案例中,路由器都成功诱导机器人执行了恶意命令。机器人不仅仅是犯了个错,它们完全没能察觉到自己遵循的指令被篡改了。
研究人员还检查了机器人的“安全设置”是否能起到作用。他们测试了不同的权限模式,比如“仅计划”(机器人只进行思考)或“自动”(机器人可以自由行动)。即使在最严格的模式下,路由器的诡计依然奏效。事实证明,如果路由器位于机器人和云端大脑之间,机器人就会信任通过路由器传来的任何信息,并假定其来自云端大脑。机器人的安全检查关注的是机器人自身的行为,而不是路由器的谎言。
更换“大脑”会有帮助吗?
你可能会想:“如果我们使用更聪明一点的云端大脑呢?也许它能识破诡计?”研究人员通过更换四种不同的模型来测试这一点。结果如何?这并不重要。 无论机器人在与一个功能极其强大模型对话,还是在与一个更华丽、更快速的模型对话,路由器都能轻松地将恶意命令溜进机器人面前。问题不在于大脑太笨,而在于路由器处于一个可以重写故事的地位,它在机器人听到信息之前就改写了现实。
我们可以建立更好的盾牌吗?
研究人员并不仅仅停留在发现问题上;他们还尝试构建了一些盾牌,以观察是否能解决问题。他们测试了两种常见的防御手段:
- 白名单: 一个简单的“允许”命令和网站列表。如果某个命令不在名单上,它就会被拦截。
- 第二意见: 使用第二个 AI 在机器人行动之前审查其计划。
“白名单”在阻止某些坏事方面表现尚可,但它也很笨拙。它拦截了大约 30% 到 44% 的恶意命令,但也意外地拦截了大约 30% 到 44% 的正常命令,这降低了机器人的实用性。
“第二意见”AI 则表现得更好。根据他们使用的评审 AI 模型不同,他们可以拦截 39% 到 64% 的攻击。然而,这并不是一个完美的解决方案。即使是最好的评审模型也无法捕捉到所有情况,有时仍然会让坏命令通过。研究人员发现,虽然这些盾牌有所帮助,但它们并不能完全解决问题。路由器依然过于强大,因为它正处于这场对话的核心位置。
总结
这篇论文的主要教训是:依靠第三方路由器将你的编程机器人连接到云端,会造成一个巨大的安全漏洞。机器人假设路由器是诚实的,但如果路由器不可信,它就可以为机器人重写现实。无论机器人多么聪明或配置得多么完善,它们都无法分辨出一条来自云端的真实指令与一条来自路由器的伪造指令之间的区别。
作者建议,要真正解决这个问题,我们不能仅仅指望机器人变得更加谨慎。我们需要云端提供商本身来保证他们发送的消息没有被中间人篡改。在此之前,每当你使用第三方路由器连接编程机器人时,就像是把房子的钥匙交给了一个可能会在你没注意时放任窃贼入室的快递员。机器人正在精准地执行指令,但下达命令的人已经被掉包了。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。