沙箱执行:隔离风险

沙箱(sandbox)是在受限、隔离的环境中运行不可信代码或工具调用的技术,使程序即使出错或被诱导作恶,也无法越界访问宿主机的文件、网络与其他进程。对会调用代码解释器或外部工具的 Agent 而言,沙箱是基础的纵深防御手段。

是什么

沙箱通过操作系统级隔离(容器、命名空间、seccomp)、资源限额(CPU、内存、网络)与系统调用过滤,给执行单元划出「围栏」。模型生成的代码只在围栏内运行,越权操作会被拒绝或截断。

# 用容器做最小权限沙箱示例
docker run --rm \
  --network none \
  --memory 256m \
  --cap-drop ALL \
  python:3.12 \
  python run_model_code.py

为什么重要

当 AI 能执行代码或调用 API 时,错误的指令或恶意提示注入都可能变成真实的破坏动作。沙箱把「模型可能出错」这一事实,限制在可承受的损失范围内。

怎么做

对模型生成的代码一律在沙箱中运行;禁止或严格白名单化网络与文件系统访问;设置超时与资源上限;记录沙箱内的所有调用以便审计。

注意点

沙箱不是万能。容器逃逸、内核漏洞仍可能突破隔离,故需配合最小权限与持续打补丁。不要因有沙箱就放松输入校验。

小结

沙箱以隔离与限额把不可信执行关进围栏,是 Agent 执行代码与工具时的基础防线,但需与最小权限和补丁管理配合。

参考与延伸阅读

本文累计阅读