第 6 章:认识几个代表项目
Docker:学习执行边界的起点
Docker 文档解释了内核隔离、守护进程权限、capabilities 和其他安全机制。[1] 对初学者,它适合用来观察目录挂载、只读文件系统、断网和资源限制。
Docker daemon 通常具备很高权限。不要把 /var/run/docker.sock 挂载给不可信程序,这可能赋予它控制其他容器甚至影响宿主机的能力。rootless 模式能降低部分守护进程和容器权限风险,但有平台与功能条件,也不是所有风险的替代方案。[10]
gVisor 与 Firecracker:认识不同隔离路线
gVisor 适合研究应用系统调用如何与宿主机隔开;Firecracker 适合研究精简虚拟机及其宿主机部署要求。[5][6] 初学者现在只需要理解它们的边界差别,无须立刻搭建。
测试时应使用真实工作负载:需要的系统调用是否支持、文件操作是否正常、启动时间是否符合要求、资源成本是否可接受。不能用一句“更轻量”代替测量。
E2B:通过接口使用环境
E2B 的文档提供围绕沙箱创建、代码执行和环境使用的入口。[7] 托管方式减少基础设施工作,但你仍然要决定传哪些文件、是否需要网络、如何保护密钥,以及何时销毁环境。
本书不固定 SDK 调用代码,避免你因接口升级卡在安装步骤。真正接入时,请从当时的官方快速开始核对包名、参数、区域、配额和费用。
Kubernetes SIGs agent-sandbox:调度与管理
kubernetes-sigs/agent-sandbox 是 Kubernetes 生态中的项目,围绕智能体沙箱的声明式管理等问题展开。[8] 它与“所有智能体沙箱”这个通用概念不是同一个意思。
Kubernetes 可以管理资源生命周期,但调度层本身不自动证明运行时隔离强度。你仍要核对实际运行时、网络策略是否生效、存储和身份配置。先会单机实验,再研究集群,更容易分清每一层负责什么。
应用集成的参考
Anthropic 的工程文章讨论了 Claude Code 中的沙箱机制,强调文件系统与网络隔离等方面。[4] 它是理解“把边界集成进智能体产品”的案例,不能直接当作其他工具或操作系统的默认行为说明。