安全攻防
morning
Archestra 发布 OpenAPPA,用于防范提示词注入或模型幻觉引发的数据外泄
2026-10-15
1 阅读
约10分钟阅读
作者:Bruno Couriol
字号:
Archestra 发布 OpenAPPA ",这是一款开源的安全引擎,旨在阻止由提示词注入或模型幻觉引发的数据外泄。OpenAPPA 在智能体的提示词与执行循环之外运行。其配置定义了数据源、 访问对象 "、 信任等级 "、 权限主体 "等概念,以及与之相关的确定性安全强制执行规则。团队在安全基准测试 Bench-Corp "(20 项多步骤企业工作流)和 AgentThreatBench " 中测得攻击成功率为 0, https://code.claude.com/docs/en/auto-mode-config " 的攻击成功率为 10%, 微软 FIDES " 为 31%。 OpenAPPA 的文档解释了为什么随机方法在自动化策略强制执行中会失败: 业界应对审批疲劳的办法是用第二个模型来判断每次工具调用:Claude Code 的自动模式、Codex 的自动审核,以及其他 自动模式 "。从设计上看,它们无法跨工具调用追踪数据流。由于分类器本身可能遭受提示词注入,Harness 会对分类器隐藏工具输出,因此判断模型根本看不到数据。由于这种概率化的设计,即使是最优秀的模型也止步于 99.3% ":在数百万次调用场景中,0.7% 的概率就意味着大量的数据泄露事件。规则集最终要么限制过严导致智能体无法正常工作,要么逻辑过于复杂,没人能审计它到底允许哪些操作。 一方面,智能体很擅长绕开简单但常用的防护手段,例如工具白名单/黑名单:被禁止的 rm -rf 命令可能会被等效的 Python 脚本替代。另一方面,为防范激进的智能体而不断扩充黑名单、采用过度严苛的策略会降低可用性(例如,智能体虽然没有泄露数据,但受限制而无法成功完成任务)。OpenAPPA 的 GitHub 仓库提醒开发者: 智能体安全存在两个维度:允许非授权数据流的智能体是不安全的,而拒绝合法任务的智能体则毫无用处。 Archestra 希望通过其提出的智能体权限策略代数(Agentic Permissions Policy Algebra,APPA)来解决严格强制执行与运营实用性之间的矛盾,相关内容在论文中进行了阐述,论文作者为 Arseny Kravchenko "、 Vadim Liventsev "、 Innokentii Konstantinov "、 Ildar Iskhakov " 和 Matvey Kukuy ",论文地址:[ https://arxiv.org/abs/2607.24625 "]( https://arxiv.org/abs/2607.24625)。 " OpenAPPA 通过一个可插拔引擎实现了这个方案,引擎在智能体循环之外执行,阻止底层大语言模型查看、协商或绕过策略规则。安全策略采用单个 配置文件的形式,详细定义了数据源、 访问对象 "、 信任等级 "、 权限主体 "。 OpenAPPA 会同时标记并监控访问对象(被授权的数据消费方集合)与信任等级(数据可信核验程度)。标签基于格代数实现单调组合:标签只会变得更加严格;读取受限记录会缩小可访问对象范围;读取未经核验的外部网页会降低信任等级。 每个工具契约定义了三个主要运行属性:requires(运行该工具所需的访问对象身份与信任等级)、delta(工具返回数据时施加的限制变更)、effects(成功操作的审计日志)。 下面这个例子通过 get_ticket_from_crm 读取工单,会将这条执行链路的访问对象限制为 internal(内部)。后续调用 process_internal_data,就要求访问对象必须属于 internal。 [[policy.tool]] name = "get_ticket_from_crm" delta = { audience = ["internal"] } [[policy.tool]] name = "publish_update" requires = { audience = { contains = ["public"] } } [[policy.tool]] name = "process_internal_data" requires = { audience = { within = ["internal"] } } 下面这个例子,read_web_page 工具返回的结果会被标记为 suspicious(可疑)。OpenAPPA 在收到 read_web_page 的返回结果后会阻止执行 apply_db_migration,因为该操作要求数据必须为 trusted(可信)。 [policy] version = 2 trust_chain = ["suspicious", "trusted"] [[policy.tool]] name = "read_web_page" delta = { trust = "suspicious" } [[policy.tool]] name = "apply_db_migration" requires = { trust = "trusted" } OpenAPPA 还有显式的恢复语义。当智能体尝试非法操作时,引擎会停止调度并提供结构化的处理路径。*净化器(Sanitizers)*可以修改有效载荷,例如剥离个人身份信息,安全地扩大可访问对象范围。*权限主体(Authorities)*将请求路由给人工操作员或内部验证 API,实现单次操作审批。*一次性子分支(Disposable Child Branches)*支持按需隔离:当智能体必须摄取不受信任的数据时,引擎会在一个临时的子智能体分支中隔离读取操作,仅向父级返回经过模式认证的净化后的输出。 Bench-Corp 和 OWASP AgentThreatBench "基准测试表明,OpenAPPA 在严格的安全约束下保持了高实用性,攻击成功率为 0%,任务完成率为 89%。Claude Code 的原生自动模式攻击成功率 10%,任务完成率 90%。微软 FIDES 的攻击成功率 31%,任务完成率仅 41%。研究团队报告称,消融实验验证了恢复策略的价值:当完全禁用补救方案后,任务完成率下降至 35.0%。 Bench-Corp 和 AgentThreatBench 用于测试 显式策略违规 ":敏感数据共享、提示词注入、审批与执行顺序、租户隔离。Bench-Corp 是一个高度专用化的企业助手测试基准,用于评估安全策略在复杂多步骤企业工作流中的表现。 AgentThreatBench " 将 OWASP 2026 智能体应用十大安全风险 "转化为可执行的测试任务。该基准最近已合并进入 英国人工智能安全研究所官方 仓库 "。AgentThreatBench 采用双指标评分体系,同时评估可用性与安全性。OpenAPPA 在该基准上取得满分安全成绩,攻击全部失败。 OpenAPPA 目前处于预览阶段。形式化代数和恢复保证已发布在 arXiv(APPA:面向真实世界 LLM 智能体的可恢复信息流控制) "上。读者可以阅读该论文和官方文档,两者都包含大量额外的技术细节、随附插图和实验结果。 查看英文原文: h
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱