Agent 沙箱与运行时隔离 · 第 1 章 隔离模型选型


Agent 沙箱与运行时隔离 · 第 1 章 隔离模型选型

章节摘要:「上沙箱」不是一个动作,而是一道选择题:进程级(seccomp / 能力裁剪)、容器(Docker,与宿主共享内核,靠加固收敛攻击面)、微 VM(gVisor 用户态内核或 Firecracker 独立内核,把内核漏洞也挡在门外)。三级之间是隔离强度、性能开销与运维复杂度的三角权衡:进程级最轻但边界最软;容器是性价比默认项,但共享内核意味着 runc 一类逃逸漏洞就是它的天花板;微 VM 最硬,代价是兼容性与运维面。本章先用一张对照表把三级放到同一把尺子下(攻击面、开销、复杂度、适用场景各有实测与官方数据支撑),再给出按攻击面选级的决策树——读代码型、写文件型、任意执行型 Agent 各有其默认答案,数据敏感度与多租户则会触发加档。读完本章,你该能写下自己项目的隔离级别决定及理由。

学习目标

  • 用「与宿主内核的距离」解释三级隔离的本质差异。
  • 说出容器默认已有的两道软边界(seccomp、能力裁剪)及其失效条件。
  • 区分 gVisor(runsc 用户态内核拦截系统调用)与 Firecracker(每 VM 一个独立内核)的技术路线。
  • 用三级对照表从攻击面、开销、运维复杂度、适用场景四个维度做比较。
  • 用决策树为读代码型 / 写文件型 / 任意执行型 Agent 选定隔离级别。
  • 掌握加档规则:数据敏感度提升、多租户、外部输入比例高时各加几级。
  • 记住三个数字锚点:runsc 启动约 50~100 毫秒(社区资料)、Firecracker 启动不超过 125 毫秒与每 VM 内存小于 5 MiB(官方数据)。

核心概念速览

隔离强度(与宿主内核的距离)从近到远: 进程级 容器(Docker) 微 VM ┌──────────┐ ┌────────────────────┐ ┌──────────────────────┐ │ 你的进程 │ │ 容器进程 │ │ 容器/进程 │ │ seccomp │ │ 默认 seccomp+能力裁剪 │ │ runsc:用户态内核 Sentry│ │ 能力裁剪 │ │ (仍是宿主内核) │ │ Firecracker:独立内核 │ ├──────────┤ ├────────────────────┤ ├──────────────────────┤ │ 宿主内核 │ │ 宿主内核(共享) │ │ 隔离层(不直接触宿主内核)│ └──────────┘ └────────────────────┘ └──────────────────────┘ 边界软 默认项:性价比高 边界硬:内核漏洞也挡 开销最小 开销小 开销与运维成本最高 ​

一句话金句:隔离级别不是越高越好,而是「刚好盖住攻击面」最好。

(文字流程图)垫层越厚边界越硬:策略卡(进程级)──▶ 共享内核上的约定(容器)──▶ 拦截转发(runsc)──▶ 独立内核(Firecracker)。

子章节导航

  • 第 1.1 节《进程、容器与微 VM:三级实操对比》:三级各自的最小实操示例、能挡什么、挡不住什么,最后汇总成一张三级对照表。
  • 第 1.2 节《按攻击面选级别》:两个提问(能力面 + 敏感度)加一棵决策树,给三类 Agent 各配一个默认级别与加档规则。

子章节之间的逻辑关系

┌────────────────────────┐ ┌────────────────────────┐ │ 1.1 三级实操对比 │ │ 1.2 按攻击面选级别 │ │ 回答「三级各是什么、 │ ────▶ │ 回答「我该用哪一级」 │ │ 多硬、多贵」 │ │ 决策树 + 加档/降档规则 │ │ 供给知识 │ │ 做出决定 │ └────────────────────────┘ └───────────┬────────────┘ │ 决定隔离级别 ▼ 第 2 章 从零搭一个 Agent 沙箱 (选定级别的完整落地) ​

前置知识与后续延伸

  • 前置:第 0.1 节的四类攻击面(文件系统逃逸、网络外联、内核漏洞、资源耗尽)——本章对照表的列名正来自它;第 0.2 节的练习目录与环境自检。
  • 延伸阅读:《Harness 工程:从零打造智能体运行环境》第 6 章《沙箱与执行隔离》——隔离原理的 harness 视角单章;本章侧重选型的工程判断,两章互补。
  • 后续:第 2 章《从零搭一个 Agent 沙箱》——把你选定的级别搭出来:Docker 四道边界起步,按需升级 runsc 或 Firecracker。

作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U