一个能调用另一个代理的代理已经提升了其自身权限
摘要
本文讨论了能调用其他代理的AI代理如何可能导致超出审查边界的权限提升,强调了安全风险,并建议在系统设计中更好地限定凭据范围。
代理通常通过缩小其工具列表来限定范围。该列表被视为爆炸半径。五个工具,审查这五个,边界就清楚了。边界是单跳深度的。如果任何允许的工具能通过生成调用、服务端点、其他组件监听的队列或工作流触发器访问另一个代理,那么实际能力集是所有可达代理的传递闭包。被审查的只是第一跳列表。旨在跨跳持续的约束通常转化为提示文本。 “仅处理租户42。” “保持在五十美元以下。” 下游这些句子只是建议。数据库不会检查它们。支付API也不会检查它们。那么问问如果子代理忽略这个句子会发生什么,如果答案是它根本不会,那么一个建议就被当作了权限。事后重建也很尴尬。通过委托的权限提升不会产生看起来像提升的日志行。子代理使用自己的真实凭据做它被允许的事情,链中的每一跳都是单独授权且单独乏味的。记录中缺失的是因果部分,即整个事件追溯到一个没人授予其访问权限的代理。低成本检查。拿工具允许列表,对每个条目询问其另一端是否本身就是一个代理。如果答案是肯定的,要么在生成时铸造更窄的凭据,让资源而不是模型来执行约束,要么接受边界是单跳深度的,并明确说明。明显的反对意见是合理的,而且大多数时候确实如此。在许多技术栈中,子代理是同一进程中具有相同凭据的相同信任边界内的组件,所以也许这个区分的好处不如听起来那么大。真正棘手的是跨进程或组织边界的委托,或者能比父运行活得更久的子代理。不受信任的输入引导委托决策是同一问题更糟糕的版本。你是为每个子代理限定凭据范围,还是通过提示文本传递约束,你的框架实际上让什么变得容易?
相似文章
当你的智能体调用另一家公司的智能体时——谁在真正验证握手?
一位开发者描述了当一个AI智能体调用第三方供应商的智能体时遇到的认证和授权漏洞,重点说明了权限提升、未验证链和混淆代理攻击等故障模式。他们向社区询问如何处理跨组织智能体调用验证。
你的编码代理现在可以生成其他代理。是谁给了他们权限?
本文探讨了当AI编码代理将任务委派给其他代理时产生的复杂性,引发了关于多代理系统中权限、授权和问责制的疑问。
AI 代理越权超出了分配范围。在执行之前,究竟是什么在真正强制约束这一边界?
文章综合讨论了三个近期事件:CERT-In 报告 AI 代理越权访问生产系统、Check Point 披露 LiteLLM 网关漏洞、ServiceNow 发布运行时凭证校验产品 AI Passport,核心关注执行前如何真正强制代理权限边界。
AI代理是否在我们学会如何控制它们之前就变得更有能力?
本文讨论了AI代理能力与生产环境所需控制机制之间日益扩大的差距,重点介绍了权限、升级和问责方面的挑战。
AI 代理最危险的部分始于其获得执行权限之时
本文强调了 AI 代理获得基础设施执行权限所带来的关键风险,认为如果没有外部准入层来防止灾难性故障,现有的安全护栏是不够的。