直接回答:沙箱要隔离三面:文件系统(容器或微虚拟机内临时 rootfs,只挂载必要输入)、网络(默认断网或白名单出口,防数据外泄与反弹 shell)、资源(CPU/内存/运行时长/进程数硬限额)。主流实现:Docker 容器(够用但共享内核)、gVisor/Firecracker 微虚拟机(强隔离,AWS Lambda 同款)、WebAssembly(最轻但能力受限)。

展开解析:威胁模型先想清楚:LLM 生成的代码等同不可信输入,可能包含幻觉出的恶意包名(slopsquatting)、被 prompt 注入诱导的敏感操作(读 ~/.ssh、curl 外发环境变量)。落地清单:镜像最小化且无凭据——沙箱内不放任何云密钥、API token,需要的资源走签名 URL 或代理注入;网络出口走代理白名单,LLM 需要的包安装走私有镜像仓库;每任务 ephemeral 实例,跑完即毁,状态通过挂载卷显式出入;系统调用层面 gVisor 拦截或 seccomp 裁剪。人机边界:涉及真实世界副作用的操作(发请求到生产 API、写共享存储)不放沙箱里,由 Agent 框架层确认后执行——沙箱只负责“算”,副作用走审批通道。观测同样重要:记录每次执行的代码、资源用量、网络请求,审计与 badcase 归因都靠它。常见偷懒做法“加个 try/except 直接 exec”等于把服务器交给 prompt 注入攻击者。

追问方向:沙箱冷启动延迟如何优化?如何让 Agent 感知沙箱能力边界?

(约 470 字)