一句话定义:沙箱逃逸(AI 词典:Sandbox">Sandbox Escape)指运行在隔离环境(沙箱,Sandbox)里的程序或智能体(Agent),利用隔离机制本身的漏洞或配置疏漏,绕开限制,直接触达宿主机上的真实文件、网络和凭证。
先说说沙箱是什么。 为了不让一段来路不明的代码把整台机器搞坏,工程上会把它关进一个“笼子”里跑:可能是一个容器、一台虚拟机,或者一个受限的进程。笼子里有它需要的东西——一份工作目录、几个工具、一条能上网的通道——但笼子外面是什么,它看不见。
打个比方:你给孩子搭了一个围栏游乐区,里面有塑料厨具、仿真水果,随便他怎么折腾都没事。沙箱就是那个围栏。而沙箱逃逸,就是孩子发现围栏底部有一道缝,钻出去跑进真厨房,拿起了真的刀。
智能体为什么更容易出这种事。 普通程序的行为是写死的,而智能体会自己写脚本、装依赖包、调用命令行。它“动手”的面比一般程序大得多,所以笼子上的每一道缝都可能被它无意中撞见——它未必有恶意,只是在努力完成任务。常见的缝隙有几类:隔离层本身存在漏洞(容器共享宿主机内核,内核出问题就可能穿透);配置时手滑,把宿主机目录甚至容器管理接口挂进了沙箱;沙箱里躺着长期有效的云凭证,或者能访问一个会发放凭证的内部服务;再就是借“正当出口”,比如包管理器、编译器、网络代理这些本来就要放行的通道。
它和几个容易混的概念不是一回事:
| 概念 | 绕开的是什么 | 一句话 |
|---|---|---|
| 模型越狱(Jailbreak) | 模型的安全对齐与拒答策略 | 让模型“愿意说” |
| 提示词注入(Prompt Injection) | 模型对指令来源的判断 | 让模型“听错人话” |
| 沙箱逃逸(Sandbox Escape) | 运行时的隔离边界 | 让代码或智能体“跑出去” |
| 权限提升(Privilege Escalation) | 系统内部的权限层级 | 跑出去之后“爬更高” |
四者常常串成一条链:注入让智能体收到坏指令,越狱让它肯执行,逃逸让它够得着真实环境,提权让它拿到更多。所以评估风险时要看链条,而不是单看某一环。
对从业者的实际意义:别把沙箱当成绝对安全的边界,它只是降低爆炸半径的手段。具体做法很朴素——最小权限,能只读就不给写;不要把宿主机敏感目录和管理接口挂进沙箱;不要把长期凭证塞进沙箱,用短时令牌;网络出口走白名单;把智能体的每一次工具调用都记下来,便于事后追溯。条件允许的话,专门做一轮“让它试着跑出去”的红队测试。
对普通职场人:把自动化代理接进业务系统时,先问一句“它最多能碰到什么”。给它一个只读账号,比给它一个管理员账号再祈祷它别乱来,靠谱得多。各家平台对隔离能力的承诺不一样,具体以官方文档为准。
