沙箱执行:隔离风险
沙箱(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 执行代码与工具时的基础防线,但需与最小权限和补丁管理配合。
参考与延伸阅读
- OWASP LLM Top 10(LLM06 Excessive Agency 过度代理)。已核验。https://owasp.org/www-project-top-10-for-large-language-model-applications/
- Google SAIF(安全 AI 框架,含隔离与执行边界)。已核验。https://saf.dev/
本文累计阅读 — 次