Skip to content

治理边界与当前限制

English | 中文

04GOVERNANCE BOUNDARIES

审批、沙箱和审计不是同一个安全按钮

治理首先要说清每层控制阻止什么、记录什么、不能阻止什么。把几个机制统称为“安全”会掩盖真正的上线条件。

预防

工具策略、审批和执行限制在动作前收紧权限。

隔离

本地同世界约束与远程执行环境具有不同信任前提。

追责

会话事件保存事实,但不替代身份、保留和合规制度。

六层治理模型

企业部署需要把身份、Agent 组装、工具决策、执行环境、凭据和会话证据连起来。每层只承担自己的职责;后面的审计不能补救前面的越权执行。

01
身份与租户
02
Agent preset
03
工具策略与审批
04
执行环境
05
凭据提供方
06
会话事件日志
07
运营审计
企业治理的六层控制与审计路径
当前 Harness 提供什么部署方仍需提供什么
身份与租户会话、Agent、工具和 opaque id 的运行身份企业 SSO、租户目录、角色和人员离职流程
Agent 组装preset、profile、bundle 与作用域服务解析谁能创建、修改、审核和发布组装
工具决策参数 schema、guard、审批、超时与结果事件领域授权、动作分级、审批人和例外政策
执行环境文件效果策略、本地沙箱提供方与 E2B POC网络、进程、设备、容器和平台安全基线
凭据引用与值分离、按操作解析、可描述但不返回值KMS/keyring、轮换、审计和应急吊销
会话证据仅追加事件、持久化、投影与格式拒绝保留期、访问控制、脱敏、导出和监管解释

审批:决定这次动作能不能做

审批服务围绕工具请求产生 approval/askedapproval/decided 审计对,并支持每会话 asknever 策略。ask 只有在存在答复方并返回允许时执行;缺少答复、答复异常或策略为 never 都会拒绝。机制位于审批服务

审批的边界很清楚:它处理“这次工具调用是否获得人或策略授权”,不负责约束工具函数内部可以访问什么,也不证明批准人具备业务系统中的最终权限。领域工具还要把调用方身份和业务授权传给真实系统。

文件策略与本地沙箱:限制文件效果

SandboxMode 表达 read-onlyworkspace-writedanger-full-access 等文件效果策略。本地后端与宿主共享文件系统和内核,Linux/macOS/Windows 提供方使用不同机制;请求无法按指定模式执行时应失败关闭,不允许偷偷裸跑。语义见沙箱服务本地提供方

这项 seam 不表达网络、进程、syscall、设备或凭据限制。Windows ACL 后端只约束写入并报告部分执行,调用方可读文件和网络连接不在同一机制内。把 read-only 理解成“整台机器只读且断网”是不正确的。

远程执行:替换整个执行世界

E2B 组合把文件系统和子进程提供方放进远程 Linux sandbox,为进程与文件提供与 Host 分离的执行环境。它不会迁移 Harness 进程、模型调用、会话状态、skill、协议状态或 SDK 缓冲;这些仍在 Host。当前实现明确标记为实验性 POC,详情见E2B 组合

远程执行比本地文件策略更接近环境隔离,但仍需核查镜像、网络、secret 注入、沙箱回收、分区恢复和提供方日志。当前 E2B POC 不支持把 secret 放入 sandbox 默认环境变量,也不提供 Windows 或网络分区保真层。

动态代码:用于受信扩展,不是恶意代码安全边界

Code runtime、动态 workflow 与自修改 Cordis 工具使用 worker 或 node:vm 隔离事件循环、限制默认全局或塑造 API。它们的信任姿态与 Bash 接近;可逃逸脚本可能获得进程权限。代码运行时明确写作“containment, not a security boundary”,动态 Cordis 插件还能通过获准服务影响真实运行时。

因此,只有当模型与脚本处于受信边界内时才使用这些能力。运行第三方或对抗性代码需要独立进程、容器、microVM 或远程执行提供方,并限制凭据与网络。证据见worker-thread code runtimeworkflow worker动态 Cordis 工具

会话日志:提供事实,不自动提供合规

会话日志保存模型可见消息、工具事实、策略变化和生命周期事件;持久化与投影使刷新、恢复和多界面回放读取同一序列。追加位置拒绝非无损 JSON,加载位置拒绝未知必需事件和不支持格式,避免静默误读。

日志并不自动回答“谁依法可以查看”“保存多久”“哪些字段必须脱敏”“怎样导出给审计员”。这些属于部署存储、企业身份、数据分类和监管制度。Harness 提供的是构建审计链的技术事实层。

当前限制清单

主题当前事实上线含义
本地 sandbox与宿主共享文件系统和内核,只表达文件效果需要独立网络、进程和设备控制
Windows ACL写限制为部分执行,Everyone 权限可能保留高敏场景不能把它当完整 OS 隔离
E2B实验性 POC,执行世界之外的状态留在 Host先验证生命周期、secret 和故障恢复
动态 workflow无 journal 或 resume,重启不能续跑长任务要能重做或交给持久工作流系统
worker/vmAPI 塑形和事件循环隔离,不防恶意代码不可信代码必须使用更强隔离
ACP新会话、基线文本、已提交 assistant 文本不能把它当完整 Web 会话协议
subagent 审批委派子会话固定为 never超出既有权限的工作必须返回父 Agent 处理

上线评审时应直接问的问题

谁决定某个 Agent 拥有哪些工具?

把 preset、profile 和 bundle 的作者、审核人、发布人分开,并记录每个环境实际装载的组合。只审查提示词不能覆盖插件权限。

一次批准到底允许什么?

审批文案应包括动作、对象、影响范围和一次性语义。业务系统仍要校验调用方身份与幂等键。

文件 sandbox 之外还能访问什么?

按平台核查网络、进程可见性、环境变量、设备和调用方本来可读的文件;这些不属于通用 SandboxMode 的策略词汇。

崩溃后哪些工作能恢复?

会话和 continuable subagent 有持久路径;动态 workflow 与普通后台 job 不应被假定为跨进程恢复。

日志里有没有不该长期保存的内容?

对用户材料、工具参数、结果和诊断做数据分类,再设置存储保留、访问和脱敏策略。可回放不等于可以无限期保存。

治理结论

把能力集缩小、把高风险动作前置拦截、把事实完整记录

生产治理依赖三件事同时成立:Agent 只获得任务所需能力;不可逆动作在执行前被策略或人工控制;发生过的事实能由受控主体复查。任何一项缺失都不能靠另一项代替。

证据状态:除特别标注外,本页基于当前源码已确认。上线建议需要结合目标企业的身份、网络、数据分类和监管制度。