Plimsoll Vibe 项目

它告诉你:这次跑代码,墙有多厚。

项目简介

Plimsoll 是一个为运行 AI 智能体写入的不可信代码而设计的自托管沙盒服务。它最有意思的一点是:每次运行结果都会告诉调用方这次隔离墙有多厚,并且调用方可以强制要求最低隔离等级——如果沙盒不够强,请求直接拒绝,不执行任何代码。

名字取自「Plimsoll line」(船舶载重线),就像船身上的吃水线让任何人能一眼看出船的载重上限,Plimsoll 让任何人能一眼看出一次代码运行的隔离强度——以四个明确等级呈现:process、container、kernel、vm,从弱到强。

核心功能

  • 声明式隔离等级:每次结果里都带着 Isolation 字段,告诉你实际跑在哪个等级
  • 最低等级门禁:请求里可以写 MinimumIsolation: IsolationVM,不够就直接 ErrInsufficientIsolation 拒绝,没有代码被执行
  • 四档隔离层级:process(最轻)→ container → kernel → vm(最重),按需选档
  • 代码考试功能:内置的 trial runner 能在沙盒里对 agent 写的代码跑场景测试,场景文件在 agent 程序启动前就删除
  • 可重放证据:每次运行返回 SHA-256 hash(请求 hash + 结果 hash),客户端能重算验证结果没被改
  • 远程签名链:plimsoll-attest 子命令为已校验结果签名,可以回放整次运行
  • 官方 Go 客户端:Go SDK 在拿到结果后会再次核对隔离等级是否被满足

特色优势

  • 「墙的厚度」是一等公民:不像传统沙盒只说"运行了",Plimsoll 永远告诉你用了什么等级、够不够你要求
  • 拒绝失败 = 没运行:ErrInsufficientIsolation 是显式信号,审计和回滚友好
  • 可证明可重放:SHA-256 双向校验 + 签名 + 回放工具,运行结果可被独立验证
  • 零拷贝集成:官方 Go client 内置 tier 校验,无需调用方自己写
  • 跨语言友好:Go SDK + 标准 provider 接口,任何语言都能接入
  • 不只是 containment:内置考试机制,可以对 agent 写的代码跑功能性测试而不是只把它关起来

快速上手

Go SDK 调用示例:

res, err := provider.Sandbox.RunJavaScript(ctx, sandbox.Request{
    Code: "console.log(6 * 7)",
    MinimumIsolation: sandbox.IsolationVM, // 等级不够 = 不跑
})
// res.Isolation 直接告诉你实际用了哪一档墙

完整复现 example:

make docker-images
go run ./examples/oracle

这个 example 会跑三次沙盒:两次用通过的 controller,一次用 agent 的初版(两个增益符号错了,会失败),结果直接可浏览器回放。

适用人群

  • 在生产环境运行 AI 智能体生成代码的工程团队
  • 做 AI 评测、agent benchmark 的研究人员
  • 想给 agent 配可验证沙盒的 DevOps / Platform Engineer
  • 关注 LLM agent 输出可审计性的安全团队
  • 对「代码隔离的证据链」有合规要求的项目

技术实现

Plimsoll 用 Go 实现,daemon 形式运行;通过 Linux gVisor(kernel tier)和 KVM(vm tier)实现强隔离。审计工作流(audit.yml 和 gvisor.yml)在每次 commit 自动跑。Trial runner 机制允许把 agent 的程序当作黑盒喂给预先准备好的测试场景,每个场景的文件在程序启动前就被删除,场景不能被偷看。

详细安装与运行说明见 GitHub README 与 官方文档站点。

官方链接

  • GitHub:
  • 示例回放:
  • Go pkg:

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论