Open Agent Primitives 发布:在自有集群安全运行企业 AI 智能体
一种运行企业AI代理的安全方式。 在您自己的集群中、基于您选择的模型运行企业代理的构建模块。AI永远不会决定自己被允许做什么。OAP会在每个操作运行前进行检查。 $ mage desktop:all $ open build/desktop/out/oap.app # a local VM with a menubar app. No Kubernetes needed. 观看一个示例:reviewbot以只读方式审查拉取请求并记录一次Check Run。 在您信任一个代理去执行实际工作之前,您需要回答四个问题。 1. 它能触及什么?问题 2. 是谁说它可以的?授权 3. 如果某个工具结果告诉它去做别的事怎么办?注入 4. 如果某个部分被攻破,会暴露什么?隔离 OAP在平台中、在代理行动之前回答全部四个问题。了解如何做到 问题 您的代理能触及它的凭据所能触及的一切。 一个仓库的令牌通常能触及每一个仓库。代理会继承这一切。 模型无法可靠地区分指令和数据,因此它的判断不能成为边界。更好的提示词仍然只是一条指令。 所以OAP自己执行每一条规则,在每个操作运行之前,在任何提示词都无法改变它的地方。 问题 典型平台 OAP 代理能触及什么 其凭据允许的任何内容 恰好是您授予的内容 谁决定某个操作被允许 模型,在当下 平台,在调用之前 会话中途注入的指令 可以重定向代理 无法扩大其被授权的范围 工具凭据 对模型和每个工具可见 仅为需要它们的工具注入,从不向模型展示 限制MCP服务器 需要狭窄的上游令牌 由您声明,按调用执行 撤销访问 轮换凭据、重新部署 一次权限图调用 审计日志 仅追加,由存储强制执行 已签名、链式、可离线验证 原语 每个代理都必须解决的六项关切。 原语是代理所依赖的基本构建模块,无论它们做什么。OAP为每一个都提供了可工作的实现。 1. #1 定义 代理定义 AgentClass是一个可审查、带版本的模板。每个AgentSession都有自己的隔离运行时、预算和审计轨迹,并在工作完成后被拆除。 2. #2 约束 安全工具 工具是一份声明式契约,在编写时检查一次,在运行时再检查一次。调用在加固的沙箱中执行,参数不做shell插值。 3. #3 代理 身份与凭据 代理以自身身份或代表某人行事。它获得凭据的使用权而不被给予凭据:代理将凭据注入需要它的工具中,模型永远看不到它。 4. #4 决策 授权 每个操作在运行时都会被检查:这个代理,或它所代表的人,能否对这个资源做这件事?代理只提问;它从不回答。 5. #5 承载 渠道与连续性 代理在Slack、浏览器、CLI和GitHub中工作。每条消息和每次批准点击都会在生效前对照发送者进行检查。 6. #6 记忆 记忆与知识 一个存储保存代理学到的东西以及它所做事情的签名记录。每次读取都会逐项对照提问者进行检查。 OAP原语 六个原语 滚动查看6张卡片 是什么让它安全 六个领域的控制。 平台执行每一项控制。任何提示词或工具输出都无法影响执行。 每个操作都被授权 - 按操作检查。工具调用、记忆、查找和交互都经过同一个权限图。 - 操作级规则。一个代理可以对一个团队只读,对另一个团队读写。 - 目录同步。来自Slack、GitHub和1Password的组使权限与您的组织保持同步。 - 多人会话。加入、指挥和敏感工具都可以要求批准。 授权身份模式多人 注入的指令无法扩大访问 - 计划门控。由人批准代理的计划,之后的每个操作都会对照该计划进行检查。 - 槽位。一个会话承诺一个资源,不能漂移到另一个。 - 模型无法改写的批准。平台根据调用本身描述该操作。 - 工具规格。使读写集成变为只读,而无需只读令牌。 计划门控工具规格 数据只到达其受众 - 泄漏追踪。数据被标记其来源,并对照将接收它的人进行检查。 - 槽位作用域记忆。一个客户的上下文永远不会到达另一个客户的会话。 - 机密擦除。模型看到的是代替该值的不透明句柄。 信息泄漏记忆授权 默认最小权限 - 选择加入的能力。在有人添加之前,不授予任何工具或能力。 - 隔离沙箱。凭据仅为需要它们的工具注入,模型永远看不到它们。 - 收窄委托。子代理请求自己的权限,而不是继承您的权限。 沙箱执行子代理 控制与监督 - 继承策略。集群、命名空间和类默认值,代理无法选择退出。 - 撤销。移除一个关系,下一个操作就会被拒绝,无需轮换凭据或重新部署。 - 可验证审计。已签名、哈希链式条目,使用oap audit verify离线检查。 - 固定与预算。已批准的版本、支出上限和断路器。 审计日志撤销固定 平台中的隔离 - 净化输出。每种内容类型都有自己的净化器,渲染输出在严格CSP下运行。 - 分离的Pod。Runner、operator和净化器在分离的Pod中运行,工具沙箱可以在集群提供的地方运行在微型虚拟机上。 - 作用域凭据。每个组件都有自己的总线凭据,会话的Pod只能在该会话的渠道上发布。 - 可审查的包。每个代理作为一个OCI包交付,您可以像任何工件一样对其进行门控。 工件安全打包 计划门控和泄漏追踪按代理类选择加入。网络策略默认开启。 Agent Builder 通过与代理对话来构建代理。 Agent Builder是一个创建其他代理的OAP代理。用平实的语言描述您的需求,然后实时测试它。 1. 描述 说明它的用途 Agent Builder挑选工具、连接账户,并设定新代理可以做什么。 2. 测试 在工作坊中试用 草稿在隔离环境中运行,无法触及您的实时代理。 3. 交付 移交一个包 您会得到一个可移植的.oap包,供管理员审查和安装。 默认关闭。您通过指定谁可以使用它来开启它,它会遵循上述每一项控制。 其他一切 平台的其余部分,已包含。 您期望从任何代理平台获得的能力。 您选择的模型 Anthropic、OpenAI 或 OpenRouter,可按部署切换。 您的基础设施 笔记本电脑、本地集群、GKE、EKS、AKS 或自管理 Kubernetes。 渠道 Slack、浏览器、CLI 和 GitHub,外加签名 webhook 和定时运行。传输层可插拔,因此您可以添加自己的传输方式。 记忆与知识图谱 结构化召回、排序搜索和图查询。 内置且可替换 运行器、授权、审批、沙箱、凭据、记忆和审计均为内置。模型提供商、沙箱后端、记忆存储、渠道和制品存储通过接口接入,因此您可以使用已有的运行环境。 由您掌控 OAP 在您运营的集群内运行。您的团队负责其网络、访问和升级。 安全态势 覆盖 OWASP Agentic Top 10。 OAP 如何对应 OWASP Agentic Applications Top 10 中的各项风险,并同时列出剩余缺口。每一项都链接到其完整说明。 4 项实质性覆盖 · 6 项进行中 项目 风险 覆盖情况 尚未完成 ASI01 Agent 目标劫持 进行中 目标锁定和计划偏离检测尚未构建。 ASI02 工具误用与利用 实质性 目前出站流量在 L3/L4 层强制执行,容量预算目前按调用计且为可选启用。 ASI03 身份与权限滥用 实质性 Sidecar 凭据在 Pod 启动时固定,目前撤销最多只送达一次。 ASI04 Agentic 供应链 进行中 哈希可固定内容,但尚不能固定来源。描述符签名和 SBOM 或 AIBOM 尚未具备。 ASI05 意外代码执行 实质性 目前隔离按会话进行:同一会话内的工具调用共享 UID、/proc、/tmp 和 /work。 ASI06 记忆与上下文投毒 进行中 写入尚未进行内容校验,隔离、衰减和回滚尚未构建。 ASI07 不安全的 Agent 间通信 进行中 目前委托仅限于单个集群内;面向集群外 Agent 的协议尚未具备。 ASI08 级联故障 进行中 熔断器按工具和按来源工作;跨领域熔断器尚未具备。 ASI09 人-Agent 信任利用 实质性 计划偏离交叉校验和 UI 中基于置信度加权的提示尚未构建。 ASI10 失控 Agent 进行中 工具清单已强制执行但尚未签名:它可防篡改检测,但尚不能防篡改。 我们如何确认这些关卡仍然有效 每次合并都会运行全会话场景、黄金授权轨迹和真实会话回放。一个停止工作的权限检查会导致构建失败。 基于 OWASP GenAI Security Project 的 OWASP Top 10 for Agentic Applications (2026),依据 CC BY-SA 4.0 许可。本评估与 OWASP 无关联,也未获其认可。 纵深防御 每一层都假定其他层可能失效。 要滥用 Agent,攻击者必须通过已批准的方案、锁定的槽位、每次调用上的检查、工具规范和沙箱。模型永远看不到凭据。
