0.2 学习路线与环境


0.2 学习路线与环境

本节摘要:本节把「怎么读这本书」和「动手前要准备什么」一次讲完。路线 A 是半天最小可用线:第 0 章到第 1 章选型,第 2.1 节 Docker 落地,第 3.1 节加 allowlist,产出一个能用的读 / 写型沙箱;路线 B 是全书纵深线,一直打到微 VM、执行网关、审计回放与供应链红队。环境侧只需要三样:能跑 Docker 的 Linux 环境、Python 3.10 以上、一个练习目录;gVisor 与 Firecracker 环节额外要求 Linux 内核与 KVM,本节说明如何在 Windows / macOS 上用虚拟机补齐。章末是全书约定与声明,读代码前请务必过一遍。

学习目标

  • 选定适合自己的学习路线(A 最小可用 / B 纵深全量)。
  • 完成 Docker 与 Python 环境自检,跑通第一条加固容器命令。
  • 建立 gVisor / Firecracker 环节的环境预期(Linux 主机、KVM)。
  • 记住全书四条硬约定:数字标属性、命令以官方文档为准、攻防限授权环境、代码可拷即用。

一、两条学习路线

路线 适合谁 路径 耗时(示意) 产出
A · 最小可用线 现在就要给 Agent 套个笼子 0.1 → 1.2 → 2.1 → 3.1 半天 一个带 allowlist 的加固容器沙箱
B · 纵深全量线 在搭 Agent 平台 / 编码智能体 0~6 章顺序读,代码全跑 两到三天 沙箱 + 网关 + 审计 + 供应链治理闭环

路线 A 是路线 B 的严格前缀:走到 3.1 之后,任何时候都可以无缝续读路线 B 的剩余部分。

路线A(最小可用) 路线B(纵深全量) 0.1 信任边界 第 0 章 导览 │ │ ▼ ▼ 1.2 按攻击面选级别 第 1 章 隔离模型选型(1.1 + 1.2) │ │ ▼ ▼ 2.1 Docker 落地(拷 Dockerfile 即跑) 第 2 章 搭建(2.1 → 2.2 → 2.3) │ │ ▼ ▼ 3.1 allowlist 与审批门落位 第 3 章 权限与审计(3.1 + 3.2) │ ▼ 第 4~6 章 供应链治理 / 运行时防护 / 红队自测 ​

💡 建议:即使走路线 A,也请把第 2.3 节《执行网关与工具代理》的开头「为什么不让 Agent 直接碰 Docker」读完——它改变你对「谁持有执行权」的理解,只要十分钟。

二、环境准备与自检

三样必备。

第一,Docker(Desktop 或 Engine 均可,版本近两年内即可)。自检:

# env_check.sh —— 环境自检:Docker 与 Python 就绪确认 docker --version docker run --rm hello-world # 能拉镜像并输出 Hello from Docker! 即就绪 python3 --version # 3.10+ ​

三条命令全部通过即环境就绪;若 hello-world 拉取失败,先解决镜像源与网络问题再继续,不要带病进入第 2 章。

第二,Python 3.10 以上(第 2、3 章的 wrapper、网关与审计器都是标准库实现,无需第三方依赖)。

第三,练习目录约定。全书代码默认以下布局,例子里的相对路径都以此为准:

agent-sandbox-lab/ ├─ Dockerfile # 第 2.1 节的沙箱镜像 ├─ sandbox_run.py # 第 2.1 节的执行包装器 ├─ gateway.py # 第 2.3 节的执行网关 ├─ auditor.py # 第 3.2 节的审计器 ├─ workspace/ # 唯一暴露给沙箱的可写目录(Agent 的「桌面」) └─ audit/ # JSONL 审计日志落盘处 ​

💡 workspace 是「Agent 的桌面」:宁可它乱,也别让 Agent 写到别处——全书所有可写路径都收敛于此,这是验证配置是否正确的第一条肉眼判据。

gVisor 与 Firecracker 的额外要求(第 2.2 节用)。 runsc 需要 Linux 宿主内核(Windows / macOS 的 Docker Desktop 不能直接替换 runtime);Firecracker 依赖 KVM。若你的主力机是 Windows 或 macOS,准备任一即可:一台 Linux 虚拟机 / 云主机(2 vCPU、4 GB 内存即可,示意配置)、WSL2 里启用嵌套虚拟化跑 Linux 引擎(进阶)、或先用云上 gVisor 托管服务对照理解。路线 A 不需要这些。

⚠️ 别用生产机做第 6 章红队自测的靶机——哪怕你有信心,演练剧本里的失败实验(fork 炸弹、逃逸尝试)也应该发生在可以随时销毁的环境里。

三、全书约定与声明

  • 语言与术语:全简体中文,技术名词保留英文(sandbox、allowlist、runsc、microVM)。引用其他教程一律纯文字书名,如《Harness 工程:从零打造智能体运行环境》第 5 章。
  • 数字属性:每个数字标注来源属性——官方(厂商 / 项目文档)、实测(本书环境)、社区(社区资料,量级参考)、示意(教学示意值)。例:Firecracker 启动不超过 125 毫秒(官方数据)。
  • 命令纪律:Docker / gVisor / Firecracker 的命令以官方文档为准;正文标注「写法示意」处,表示参数结构正确、个别细节(版本、路径、平台差异)请对照官方文档微调。不虚构精确参数。
  • 事实纪律:供应链案例引用 CVE-2026-100602(官方记录);「824 个恶意 Skill / 5 个市场」为单一来源数字,仅供参考。
  • 安全声明:本书所有攻防内容仅用于自有、授权环境的学习与加固;对真实系统实施未授权测试是违法行为。
  • 示例命名:代码中的 run_id、decision、command 等字段名与第 3.2 节审计 schema 一致,跨章代码可直接拼装。
  • 勘误习惯:Docker / gVisor / Firecracker 演进较快,遇到命令不生效,先查官方文档与变更日志,再怀疑本书笔误。
  • 代码许可:书中代码与配置可自由使用与改造,无附加条件。

本节要点回顾

  • 路线 A(0.1 → 1.2 → 2.1 → 3.1)半天出可用沙箱;路线 B 顺序读完全书,两天到三天打通闭环。
  • 环境三件套:Docker、Python 3.10+、固定练习目录布局;gVisor / Firecracker 需要额外准备 Linux 主机(KVM)。
  • 四条硬约定:数字标属性、命令以官方文档为准、攻防限授权环境、代码可拷即用。

环境就绪,概念已立。下一章进入正题:把「沙箱」这个词拆开——进程级、容器、微 VM 三级隔离各有多硬、多贵、多难运维,以及如何按你的 Agent 攻击面选定级别。


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