无守护进程的内核沙箱用于本地 AI 编码代理
vetto,由Shleder创建,是一个无守护进程的沙箱,限制AI编码代理并防止在开发者机器上意外执行代码。该工具在代理活动周围强制实施内核级隔离,并提供基于策略的文件系统、网络和资源访问控制。它的目标是软件开发人员、安全研究人员以及运行自主编码代理的组织,这些组织需要一个本地安全层来降低来自提示注入和不受控制执行的风险。
你实际上可以用它做什么任务?
该工具旨在包含与主机交互的自主工作流,特别是遵循模型上下文协议 (MCP)或类似接口的命令行代理。用例包括运行代码生成代理、自动重构工具和脚本助手,同时防止意外写入、秘密外泄或未请求的网络调用。Vetto 适用于生成代码在本地机器上执行并需要安全边界的开发阶段。
内核级保护在实践中有多可靠?
Vetto 使用操作系统原语强制执行策略:在 Linux 上使用Landlock、命名空间和 seccomp-BPF;在 macOS 上与Seatbelt集成。设计强调失败关闭的强制执行模型和低运行时开销,通过在内核级别施加限制,而不是依赖于长时间运行的容器守护进程。Windows 支持被描述为实验性,并映射到 AppContainer 风格的机制。
它接受什么政策控制和输入?
政策配置是基于文件和声明式的,使用 TOML 进行细粒度规则。政策语言涵盖文件系统根、针对敏感数据的拒绝路径、特定领域的网络允许列表或完全禁用网络,以及执行约束,如超时和进程限制。这些输入使团队能够限制 I/O、阻止秘密位置,并在代理执行之前限制代理的运行时权限。
将其添加到开发者工作流中是否实际?
该工具通过标准开发者渠道安装,例如 npm 全局包或 macOS 上的 Homebrew tap,并且不需要 Docker 或根权限来运行。这减少了本地开发的基础设施更改。采用它需要编写和测试 TOML 策略以及对操作系统沙箱原语的某些熟悉程度,使其最适合对命令行工具和政策编写感到舒适的团队。
谁应该采用它,应该注意什么?
该工具是一个务实的选择,适用于运行代理工具的开发者和组织,例如 Claude Code、Cursor 和 Aider,并且在 AI 开发者社区中被认可为解决代理风险的工具。实用建议:首先在非敏感项目上测试政策文件,并对高风险或生产运行保持手动代码审查,以捕捉沙盒未覆盖的行为。