附录 A 速记
面试 / 评审 / 决策前的 5 分钟快速回顾。按主题分类,每条都是「一句话能说清」的版本。
A.1 定位
Section titled “A.1 定位”- 沙箱对 Agent 是执行运行时,不只是安全笼子。
- 它同时是「笼子」和「手脚」:约束是赋能的前提。
- 定义:远程、可编程、一次性 / 可持久的计算环境,经 API / MCP 暴露。
- 沙箱管边界,不管意图。
A.2 为什么需要
Section titled “A.2 为什么需要”- 六个刚需:执行不可信代码、有状态、可回滚、可并行、可观测、可回收。
- 前一个是安全诉求,后五个是功能诉求,缺一不可。
- 代码由模型运行时生成、无法提前审计 → 沙箱从可选变必需。
A.3 能力与架构
Section titled “A.3 能力与架构”- 最小接口集合:
create / exec / read_file / write_file / destroy。 - 架构 = 控制面(无状态、调度、鉴权、配额)+ 数据面(有状态、执行、隔离)。
- 控制面永不进入执行上下文。
- 会话粘性靠
sandbox_id → node映射;冷启动靠 warm pool。
A.4 选型
Section titled “A.4 选型”- 隔离强度排序:Docker / bwrap < gVisor < microVM < 完整 VM;WASM 是另一条轻量路线。
- 口诀:可信代码 → Docker;不可信 / 多租户 → microVM 或 gVisor;轻量函数 → WASM;完整电脑 → 完整 VM。
- 隔离强度与兼容性通常反向相关。
- 选型三问:托管还是自建?隔离要多强?要 GPU 吗?
A.5 安全
Section titled “A.5 安全”- 头号风险是 prompt injection 导致的数据外泄,不是沙箱逃逸。
- 最重要的三个开关:默认断网、不放长期凭据、短生命周期。
- 间接注入(藏在网页 / 文档里的指令)是 Agent 时代的新威胁。
- 出网必须走白名单代理,用域名而非 IP,DNS 也受控。
A.6 落地
Section titled “A.6 落地”- 接入选 MCP / SDK,生命周期管理选快照 + 分叉。
- 判断是否需要沙箱:出现「任意代码 / 任意 shell / 不可信输入驱动执行」就上。
- 用 L0–L3 分级,避免全站一刀切最强隔离。
- 先托管跑通,抽象出接口层,再视规模换自建数据面。
A.7 一句话版本
Section titled “A.7 一句话版本”给 Agent 一台一次性的、默认断网的、用完即销毁的电脑。
A.8 30 秒决策流
Section titled “A.8 30 秒决策流”要跑任意代码吗? ── 否 → 普通 tool,别上沙箱 │ 是输入不可信 / 多租户吗? ── 否 → Docker + 断网 │ 是需要 GPU / 完整 OS 吗? ── 是 → 完整 VM │ 否→ Firecracker microVM + 白名单代理 + 短生命周期