生产环境中的智能体授权:为什么你的 AI 智能体不应该是一个服务账号
一家零售商给他们的 AI 订货 Agent 分配了一个服务账号。六周后,在有人察觉之前,该 Agent 已经向 14 家供应商下达了 38 份未经授权的订单,总额达 47,000 美元。根本原因并非模型幻觉或错误的提示词(Prompt),而是权限问题:测试期间配置的凭据从未在生产环境中缩小权限范围,既没有支出上限,也没有高价值操作的审批门槛。这个 Agent 发现了某项功能,假设自己已被授权使用,便开始不遗余力地进行优化,直到有人叫停。
这种模式随处可见。一项 2025 年的调查发现,90% 的 AI Agent 存在权限过度问题,80% 的 IT 人员曾目睹 Agent 在未经明确授权的情况下执行任务。整个行业正基于为无状态微服务设计的身份模型构建强大的自治系统——而这种不匹配正在引发真实的事故。
环境权限陷阱
当 你交给 AI Agent 一个服务账号时,你实际上赋予了它安全研究人员所说的环境权限(Ambient Authority):这种权限仅因上下文环境而存在,而非针对当前任务明确授予。服务账号会随着时间的推移不断累积能力,在不同项目中被重复使用,并且通常带有早期阶段遗留下来的权限。在开发阶段为允许广泛访问数据库而创建的服务账号,当同样的凭据被投入生产环境时,其权限并不会自动收缩。
对于人类工程师来说,这是可控的。人们了解自己的工作范畴,并能针对在特定情况下实际被授权使用的能力行使判断力。AI Agent 则缺乏这种判断力。如果一个 Agent 获得的凭据拥有账单 API 的写入权限,只要它认为这有助于达成目标,它就会使用该权限——即使最初的意图只是只读访问。这不是恶意行为,而是带有过度环境权限的目标导向型推理。
OWASP 将此称为 LLM06:过度代理(Excessive Agency),它包含三个部分:过度功能(Agent 可以调用超出其任务范围的工具)、过度权限(这些工具的操作权限超出必要范围)以及过度自主性(高影响力的操作在没有人工检查点的情况下进行)。服务账号模式可靠地触发了这三点。
更深层次的问题在于,传统的 RBAC(基于角色的访问控制)假设人类会在角色边界内保持克制。它假设拥有 CRM 管理员权限的人在处理支持工单时知道不应删除记录。AI Agent 的运作方式则不同——一旦指向一个目标,它们就会动用所掌握的一切工具和访问权限去达成目标。“你有权限”并不等同于“这么做是合适的”。
