AI Agent越来越能干,但它到底能碰什么,一直没人说得清。Claude Code、Codex这类工具会装包、调API、用凭证,可它们被授予的权限——绑定挂载、宽泛的token、打开的防火墙规则——通常散落在shell历史、控制台和人的记忆里,而不是一份可以审查的产物。
Docker认为,这正是OCI当初被创造出来要防止的碎片化。如果每个运行时厂商都自己发明一套答案,Agent的权限就会像当年的容器格式一样,各说各话。于是它把Sandbox Kit Specification带到了CNCF,目标很直接:让一个AI Agent能访问什么,变得和Agent本身一样可移植。
![]()
一份Apache 2.0的规范,现在到了v3
这份规范打包的东西并不复杂:一个Agent、它的工具,以及一份带类型的清单——里面列明它请求访问的主机、凭证和卷。所有这些,被塞进一个普通的OCI镜像里。Docker在9月24日的WeAreDevelopers上宣布了这一动作。
v3版本有个关键变化:Kit不再是独立的产物类型。它没有自定义的媒体类型,也没有sidecar文件。整个manifest只有一个声明:vnd.docker.sandbox.kit.descriptor。
这意味着什么?一个Kit可以用docker buildx build构建,用docker pull拉取,还能被扫描、签名,或者用在FROM里。锁定digest,就等于同时锁定了内容和权限。现有的镜像仓库、扫描器、签名工具不用改就能处理Kit。
权限是声明出来的,不是默认给的
Kit里的声明是带类型、带版本的能力,比如com.docker.sandbox/network-policy@2和com.docker.sandbox/credential@1。规范里的GitHub CLI示例展示了这套逻辑怎么跑:Kit允许访问api.github.com,但拒绝/repos/**上的DELETE操作——因为拒绝优先。
凭证还能走代理管理。一个符合规范的运行时会往发往指定域名的请求里注入真实token,而沙箱内部只存在一个哨兵值。真实凭证从不进入沙箱。
这里有一条容易被忽略的边界:Kit只是提出权限请求,决定权在宿主机。没有符合规范的运行时,那个注解就是死的。如果某个必需的请求无法被满足,启动会被直接拒绝。
Docker Sandboxes是第一个符合规范的运行时,它在microVM里跑Agent,每个都有自己的内核。
启动时,一个工作负载Kit加任意数量的mixin
一次启动由一个工作负载Kit提供根文件系统,再叠加任意数量的mixin覆盖层。Mixins的排序不看flag顺序,而是按provides/requires依赖图来定。如果某个requires没被满足,或者两个Kit提供了同一个名字,解析就会失败。
重叠的声明会做调和:网络规则取并集,不兼容的则直接报错。
每个descriptor还会归约成一组标准化的授权。一个能拦截更新的运行时可以记录这组授权,并阻止任何扩大它的版本——包括那种删掉一条拒绝规则的版本。Docker说,规范附带了两套一致性测试套件,一套针对Kit产物,一套针对运行时。
正反两方:标准化的价值,和还没证明的部分
支持的一方看重的是可移植性。Docker说,它是和AWS、Box、Datadog、Dynatrace、JFrog、NanoClaw、OpenClaw、Palo Alto Networks、Snyk等一起构建Kit的。它还把这次捐赠类比成当年捐出镜像格式和runc、最终催生OCI的那一步。
CNCF CTO Chris Aniszczyk对这次动作表示欢迎:
“标准是让一个生态快速前进而不碎片化的东西,很少有公司比Docker更懂这一点。通过把Sandbox Kits作为标准OCI镜像交付,Docker给了行业一种开放、可重复的方式,把一个AI Agent、它的工具和它的护栏打包成一个产物。”
谨慎的一方盯的是落地。规范里说得很清楚:强制完全取决于运行时。由于Docker Sandboxes目前是唯一符合规范的实现,跨不同运行时的可移植性还没有被证明。
另外,descriptor的语法和每个能力的语义都是新的,需要学习。现有工具能处理Kit,不代表工程师能立刻看懂里面写了什么。
还有一个悬而未决的问题:这些帖子没有说明规范是否已被接纳入某个CNCF项目,也没说会进入哪个成熟度级别。在治理方式改变之前,Docker会继续维护这份规范。
想上手,从这两个地方开始
项目托管在docker/sandbox-kit-spec仓库。示例可以用sbx CLI测试,比如sbx run ./hello --kit ./gh。
Docker也鼓励反馈:任何目前无法表达的kit或运行时职责,都可以提出来。对一个想把Agent权限变成可审查产物的规范来说,哪些东西还装不进去,可能比已经装进去的更重要。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.