AI 编程与智能体工程 · 第 9 期 · 第二季开篇

沙箱不是"加个容器"·进程/容器/微VM怎么选

隔离级别 · isolation tiers

进程隔离≈裸奔,容器≈纸糊,微VM 才算真隔离——但启动慢 10 倍、贵 10 倍。隔离级别按威胁选:跑自己写的测试用进程,跑用户上传的代码用微VM。别拿坦克买菜,也别骑自行车打仗。
⏱ 约 9 分钟 🎯 让 Agent 跑不可信代码的工程师 📦 源:agent-harness §6

01三种隔离,三种"漏风"程度

"加个容器就安全了"是今年最常见的错觉。容器共享主机内核——一次内核提权,全部容器沦陷。真正的隔离是有层级的,越往下越硬,也越贵。

给 Agent 跑代码,常见三档:

容器的墙是画上去的,
微VM 的墙是砌上去的。
灏天文库 · AI 编程与智能体工程 P.27

02隔离模型选择器:按威胁选级别

下面给一个威胁场景,你选隔离级别,看选得准不准——是刚好、过度(浪费钱)还是不足(埋雷)。

🛡️ 隔离级别选择器
读威胁场景,选一个隔离级别,提交看判定。
← 选一个隔离级别后提交

03一张表看清三档代价

选隔离级别本质是在风险 × 成本里找平衡。下面这张表把三档的启动时间、开销、逃逸难度、适用场景摆在一起:

维度进程容器微VM
启动时间~10ms~200ms~1s
额外开销≈0低中(独立内核)
逃逸难度低(共享内核)中(共享内核)高(需破 hypervisor)
并发密度极高高中
典型用途跑自家测试CI、已知半可信代码用户上传代码、不可信 Agent

关键判据只有一条:代码是谁写的、可不可信。自己写的、CI 跑的,进程/容器够;用户上传的、Agent 自动生成的、要联网的,上微VM。

隔离不是越强越好,
是越匹配威胁越好。
灏天文库 · AI 编程与智能体工程 P.28

04带走这套清单

✅ 隔离级别 6 条可执行规则

  1. 先问"代码谁写的":自己/CI 跑的用进程或容器,用户上传或 Agent 自动生成的上微VM。
  2. 进程隔离配 seccomp + 只读根目录 + 降权用户,别裸 fork 就完事。
  3. 容器用 distroless 基镜像 + 只读文件系统 + drop ALL capabilities,按需加。
  4. 微VM 选 Firecracker(轻、快)或 Kata(兼容性好),单任务单 VM,用完即焚。
  5. 所有级别都要加:网络出口白名单、CPU/内存/时间三限、磁盘配额。
  6. 定期跑逃逸演练(如 CVE 复现),别等真被打穿才发现墙是画的。
别拿坦克买菜,
也别骑自行车打仗。
灏天文库 · AI 编程与智能体工程 P.29