智能体爆炸半径:在生产事故发生前界定最坏情况的影响范围
九秒。这是一个 Cursor AI 智能体在尝试修复凭证不匹配问题时,删除整个生产数据库(包括所有卷级备份)所花费的时间。该智能体持有删除权限,而实际上任何合法任务都不需要这个权限。由于没有人在部署前界定爆炸半径,破坏是全面的。
这不是模型失败的故事,而是权限范围的故事。模型做了它认为应该做的事情。工程团队只是从未问过:如果这个智能体推理出错,它最坏能做什么?
这个问题——在部署前系统性地回答——就是爆炸半径分析。
智能体的爆炸半径是什么
在基础设施领域,爆炸半径描述了故障可以传播的范围。一个配置错误的负载均衡器,根据其权限和依赖关系,可能导致一个服务宕机,也可能导致其背后的所有服务宕机。你通过限制访问范围、添加熔断器、设计故障域来控制爆炸半径。
智能体引入了一个新维度:推理驱动的升级。配置错误的负载均衡器以机械方式失败。配置错误的智能体通过错误推理失败——而错误推理更难以界定。一个既能读数据库又能写数据库的智能体,有时会在本该使用读权限时使用了写权限。一个同时拥有 shell 访问和文件系统访问权限的智能体,可能以无人预料的方式组合这些工具。一个在推理凭证不匹配时,可能认为删除能解决歧义。
传统 SRE 爆炸半径分析会问:如果这个组件失败,哪些其他系统会失败? 智能体爆炸半径分析则问:鉴于智能体当前持有的工具和权限,它能采取的最坏行动是什么? 前者关于机械传播,后者关于权限面以及智能体能推理进入的可达状态空间。
在上线前完成这项分析不是安全演练,而是工程演练。持续这样做的团队,与通过事故来发现边界的团队相比,能以更小的失败面交付产品。
权限面审计
起点是完整盘点智能体实际能做什么——不是产品规格书上说它能做什么,而是它有权访问哪些工具,以及每个工具在最大范围内能执行什么。
对智能体工具集中的每个工具,问三个问题:
如果用错误参数调用,这个工具能造成的最大损害是什么? 接受通配符的"搜索文档"工具可能返回整个文档库。"发送通知"工具可能没有频率限制。"管理日历"工具除读取权限外可能还有删除权限。你不需要假设智能体会恶意调用这些工具——你需要假设它在边缘情况 下会错误地调用它们,因为它会的。
这个工具的最坏情况可逆吗? 读取错误记录是可恢复的。删除它们则不是。发送错误邮件不是。发布到外部服务不是。扣款不是。将每个工具分类为可逆或不可逆,因为这个区别决定了失败是事件还是灾难。
这个智能体真的需要这个工具吗? 最有效的爆炸半径缩减不是更好的护栏——而是删除智能体不需要的权限。一个被构建为汇总支持工单的智能体不需要文件系统写入权限。一个被构建为起草邮件的智能体在进入受监督的部署阶段之前不需要发送权限。OWASP 过度代理类别(现在是 LLM Top 10 中的一个命名风险)的标准表述是:智能体通常获得比必要更多的权限,因为授予访问权比仔细限定范围更容易。
将结果记录为工具权限矩阵:工具名称、最坏情况操作、可逆性、必要性。任何标记为"不可逆"且"不明确必要"的工具应在智能体上线前删除。
风险分类矩阵
审计完成后,剩余工具需要按运行时所需的控制级别分类。业界已收敛到四层结构:
自动(绿色)。 只读查询、内部查找、日志记录、向操作用户发送通知。这些爆炸半径有限,可以无需审批自动执行。
异步审批(黄色)。 对非关键内部数据的读写操作。智能体可以继续,但操作会被记录,留有足够上下文供人工在数小时内审查和撤销。不需要在途中审批,但审计跟踪是强制要求。
实时门控(橙色)。 外部 API 调用、任何对生产数据库的写入、金融操作、跨系统状态变更。智能体准备好操作并在执行前提交给人工确认。关键模式是干运行模式——智能体解释它将要做什么而不实际执行。人工审查的是计划,而不是后果。
硬禁用(红色)。 生产系统上的破坏性操作、凭证管理、任何写入审计日志的操作、在合规框架下需要二次授权的操作。要么在基础设施层完全阻止,要么在智能体继续执行前需要多方审批。
常见的失败模式是将这个矩阵视为政策文件而非执行计划。系统提示中说"删除前始终请示"并不能阻止删除——它创建了一个推理期望,在异常输入下模型可能无法遵守。橙色和红色层需要在工具链层执行,而不是模型层。这意味着你的智能体基础设施在执行前拦截工具调用,根据风险层级进行验证,然后继续、门控或阻止——独立于模型的决定。
