当大语言模型从聊天助手变成能自主行动的智能体,安全问题的形状变了。过去关心的是模型"会说什么":会不会生成有害内容、会不会泄露敏感信息、会不会被越狱提示绕过。今天的智能体可以自主选择技能、调用工具、读写文件、访问数据库、操作网页与终端,甚至把一次任务里的经验写入长期记忆,用来影响下一次决策。
北京大学知识计算实验室(KCL)与腾讯微信安全技术团队联合发布的综述论文《Pandora's Toolbox: A Survey of Generalist Agent Security from the Lifecycle Perspective》,试图给这个变化中的问题重新划边界。论文的切入点很直接:现有研究通常按模型、记忆、工具、环境等组件划分安全问题,这有助于定位局部风险,却回答不了一个更关键的问题——同一个风险如何在不同阶段之间传播?
四段生命周期
论文提出的统一分析框架沿"来源、编排、执行、持久反馈"展开。
来源阶段关心的是能力从哪来。智能体加载的技能包、插件、外部工具描述,本身就是攻击面。一段看似正常的技能描述进入系统后,可能在后续环节持续发挥作用。
编排阶段是决策发生的地方。智能体要在多个候选技能之间选择、组合工具、规划步骤,如果选择逻辑被影响,危险动作可能在很晚才浮现。
执行阶段对应真实世界的副作用。工具调用一旦落地,文件被写、数据库被改、网页被抓、终端命令被执行,损失就发生了。
持久反馈阶段是智能体相对传统软件最特殊的一段。任务经验、污染内容、可复用技能与项目工件会被写入长期记忆,风险因此可以跨会话存活,甚至在后续工作流里持续放大。
论文用一个例子把四段串起来:一个伪装成"酒店比价助手"的恶意技能,可能在编排阶段诱导智能体选中伪造的预订接口,在执行阶段获取用户的行程与支付信息,并把该接口写入长期记忆;即使当前任务已经结束,这个风险仍可能在后续差旅任务中被反复触发。这类风险的特点是不追求即时破坏,而是先埋点、再等触发。
为什么组件视角不够用
按组件划分的盲区在于,它假设风险是局部的。但智能体的实际运行是链式的:技能描述影响编排决策,编排决策决定工具调用,工具调用产生观测,观测又被写回记忆影响下一轮编排。任何一个环节的污染都可能在后继环节被放大,也可能在很长时间里保持沉默。生命周期视角的价值,是把"风险如何流动"和"风险停在哪里"分开看——前者解释了为什么单点加固总是滞后,后者给出了防御应该布在哪几个断点上。
综述同时梳理了攻击方法、评测基准与防御技术三条线。评测这块的困难在于,智能体的行为空间远大于对话模型的输出空间,静态测试集很难覆盖工具组合与状态累积带来的长尾;防御这块则普遍指向分层:能力准入、运行时监测、权限最小化、以及独立于智能体自我报告的证据留存。论文还公开了配套的论文清单仓库,方便研究者按生命周期阶段检索。
谁该读这份综述
对做智能体产品的团队,这份综述的现实意义是给出了一份检查清单:技能从哪来、谁审过;编排逻辑有没有被外部输入影响的通道;工具权限能不能按任务收敛;长期记忆写入前有没有做来源标记与污染检测;出问题后能不能复原到已知安全状态。这五个问题对应四段生命周期,缺一段就会留下跨会话的隐患。
对安全研究者,它的价值在于把分散在模型安全、工具安全、记忆安全三条线上的工作,放进同一个坐标系。智能体安全不会因为某一个模型变强而自动解决,它更像是系统工程问题:能力越强,越需要外部的约束结构与可验证的证据链。这份综述做的,是把"潘多拉工具箱"里的东西逐件摊开,先让人看清有哪些,再谈怎么关。