Agent 沙箱与运行时隔离 · 第 2 章 从零搭一个 Agent 沙箱


Agent 沙箱与运行时隔离 · 第 2 章 从零搭一个 Agent 沙箱

章节摘要:本章是全书的技术核心,把第 1 章选定的级别变成能跑的东西。2.1 节用一份 Dockerfile 加一组运行参数搭出加固容器的四道边界——只读根文件系统、断网、能力全裁、资源限额,工作区是唯一可写挂载,并给出可拷即用的执行包装器 sandbox_run.py,附四组「红队小实验」验证边界真实生效。2.2 节处理容器的结构性短板「共享内核」:runsc 以用户态内核拦截系统调用(Docker 换 runtime 即接入),Firecracker 以每 VM 独立内核做到最硬隔离,E2B 展示这条路线的产品化形态。2.3 节解决「执行权归谁」:Agent 不直接碰 Docker,命令经执行网关做白名单校验与结果截断,再进沙箱执行回传——三层防线中的规则层由此有了物理载体。读完本章,你手里有一个三层齐备的最小 Agent 执行底座。

学习目标

  • 用 Docker 落地文件系统、网络、能力、资源四道边界,并能逐参数说出理由。
  • 用 sandbox_run.py 包装沙箱执行:超时、审计、退出码透传一应俱全。
  • 用四组红队小实验验证边界(写根、联网、fork 炸弹、越权)真实生效。
  • 完成 runsc 的接入验证(Linux 环境),理解 Firecracker 的适用场景与运维代价。
  • 搭出 Agent → 网关 → 沙箱三段式架构,理解网关的白名单与回传截断职责。
  • 意识到共享内核风险的真实案例(runc 历史 CVE)与对应决策。
  • 理解「网关只判断、沙箱只执行」的职责分离为什么是审计完整性的前提。
  • 掌握 2.1 验证实验的设计思路,能为自己新增第五、第六组实验。

核心概念速览

本章产出的三段式执行底座(后续章节都在它上面加固) Agent(模型/编排) 执行网关(2.3) 沙箱(2.1 / 2.2) ┌──────────────┐ JSON 请求 ┌─────────────────┐ 调用 ┌──────────────────┐ │ 决定要执行的 │ ──────────▶ │ 白名单校验 │ ─────▶ │ 加固容器或微 VM │ │ 命令(不可信) │ │ 路径作用域检查 │ │ ┌──────────────┐ │ │ │ ◀────────── │ 结果截断/回传 │ ◀───── │ │只读根·断网· │ │ │ │ JSON 回执 │ 审计事件落盘 │ 结果 │ │裁能力·限资源 │ │ └──────────────┘ └─────────────────┘ │ │唯一可写=工作区│ │ └─┴──────────────┴─┘ ​

一句话金句:边界的有效性不写在配置里,写在「试图越狱的实验全部失败」里。

(文字流程图)命令以参数数组流动:Agent ──▶ 网关(只判断)──▶ 沙箱(只执行)──▶ 截断回传与审计落盘。

子章节导航

  • 第 2.1 节《Docker 方案落地:文件系统与网络边界》:Dockerfile、运行参数逐项拆解、sandbox_run.py 包装器、四组验证实验。
  • 第 2.2 节《加固:gVisor 与微 VM》:共享内核风险与 runc 历史 CVE、runsc 接入、Firecracker 场景与 E2B 产品化参照。
  • 第 2.3 节《执行网关与工具代理》:三段式架构、gateway.py 最小实现、把网关接成 Agent 工具。

三节必须按序读:2.1 的产物(sandbox_run.py)是 2.3 网关的执行后端,2.2 的 runtime 选择会写进 2.1 的运行配置。

子章节之间的逻辑关系

┌───────────────┐ 升级隔离层 ┌───────────────┐ 收拢执行权 ┌───────────────┐ │ 2.1 Docker 落地│ ─────────────▶ │ 2.2 gVisor/微VM│ ─────────────▶ │ 2.3 执行网关 │ │ 四道边界+包装器 │ 内核漏洞兜底 │ runsc/Firecracker│ Agent不再直接 │ │ 白名单+回传 │ │ (沙箱本体) │ │ (沙箱加固) │ 碰 Docker │ (规则层载体) │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ 产物:sandbox_run.py │ 产物:runtime 选择 │ 产物:gateway.py └────────────────────────────────┴────────────────────────────────┘ ▼ 第 3 章 权限与审计(在网关上细化 allowlist 与审计) ​

前置知识与后续延伸

  • 前置:第 1.2 节的隔离级别决定(本章按「加固容器起步、按需升级」组织,两种选择都有完整路径);第 0.2 节的练习目录布局;第 0.1 节的四类攻击面——本章每道边界都标注它对应的攻击面。
  • 延伸阅读:《Harness 工程:从零打造智能体运行环境》第 6 章《沙箱与执行隔离》——本章实操对应的原理层;E2B 官方文档可作微 VM 产品化参照。
  • 后续:第 3 章《权限与审计》——网关里的白名单升格为完整策略体系(allowlist + 路径作用域 + 审批门),审计日志具备回放与防篡改能力。

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