别再靠第二个模型审工具调用:开源引擎 OpenAPPA 把攻击成功率打到 0
让第二个模型来审核智能体的每一次工具调用,是眼下很流行的安全做法。但开源项目 Archestra…
文章目录
让第二个模型来审核智能体的每一次工具调用,是眼下很流行的安全做法。但开源项目 Archestra 的新引擎 OpenAPPA 提出了一个犀利的问题:如果审核模型自己也被提示词注入攻破了呢?
一分钟速览
- Archestra 发布开源安全引擎 OpenAPPA,用于阻止提示词注入或模型幻觉引发的数据外泄
- 它在智能体的提示词与执行循环之外运行,阻止底层模型查看或绕过策略
- 在 Bench-Corp(20 项多步骤企业工作流)与 AgentThreatBench 中,攻击成功率为 0%
- 对比:Claude Code 原生自动模式攻击成功率 10%,微软 FIDES 为 31%
- 在严格约束下保持实用性:任务完成率 89%
深度分析
为什么”第二个模型”不靠谱
OpenAPPA 的文档指出,业界流行的做法是用第二个模型来判断每次工具调用是否安全,比如某些产品的自动模式或自动审核。问题在于:这类方案在设计上无法跨工具调用追踪数据流;更麻烦的是,分类器本身也可能被提示词注入攻击。为了降低这种风险,Harness 会对分类器隐藏工具输出,可这样一来,判断模型根本看不到数据。
概率化的设计意味着,即使是最优秀的模型,准确率也止步于 99.3%。在数百万次调用的量级下,0.7% 的失误就意味着大量数据泄露事件。而规则集的路子同样难走:要么限制过严导致智能体没法干活,要么逻辑复杂到没人能审计它到底允许什么。
用”权限代数”替代概率判断
OpenAPPA 的思路是把安全策略从”模型判断”变成”确定性强制执行”。它通过一个可插拔引擎,在智能体循环之外执行,阻止底层大模型查看、协商或绕过策略规则。安全策略写在一个配置文件里,定义数据源、访问对象、信任等级、权限主体等概念。
标签基于格代数做单调组合:标签只会变得更严格。读取受限记录会缩小可访问对象范围,读取未经核验的外部网页会降低信任等级。每个工具契约定义三个属性:requires(运行所需身份与信任等级)、delta(返回数据时施加的限制变更)、effects(成功操作的审计日志)。
当智能体尝试非法操作时,引擎会停止调度并提供结构化的处理路径:净化器可以剥离个人身份信息、安全地扩大访问范围;权限主体可以把请求路由给人工操作员或内部验证 API,实现单次审批;一次性子分支则能在需要摄取不受信任数据时,把读取隔离在临时子智能体分支中,只向父级返回经过认证的净化输出。
数据支撑
- 攻击成功率:OpenAPPA 0%、Claude Code 原生自动模式 10%、微软 FIDES 31%
- 任务完成率:OpenAPPA 89%、Claude Code 原生自动模式 90%、微软 FIDES 41%
- 测试基准:Bench-Corp 20 项多步骤企业工作流、OWASP AgentThreatBench
趋势洞察
随着智能体开始真正操作数据库、发消息、改配置,”把安全交给另一个概率模型”的做法迟早要碰壁。Archestra 的方案指向一个更工程化的方向:安全策略应该是可审计、可证明的确定性规则,而不是概率判断。对企业来说,智能体安全存在两个维度——允许非授权数据流的智能体不安全,而拒绝合法任务的智能体则毫无用处。平衡这两点,才是落地的前提。
结语
0% 的攻击成功率听起来夸张,但它背后的逻辑很朴素:与其赌模型判断不走眼,不如把规则写成不可协商的代码。
本文地址:https://www.163264.com/16939