MXC 是一类「沙箱化代码执行系统」(sandboxed code execution system)的简称——大模型(LLM)写好一段代码后,不让它在你自己的机器上撒欢,而是丢进一个被圈死的笼子里跑完,再把结果端出来。这个词在不同项目里指代的具体实现并不统一,遇到某家产品自称的 MXC,能力边界请以其官方页面为准。
为什么不能裸跑
模型写的代码有两个特点:一是"看起来对",二是"你不知道它从哪来"。它可能来自你输入的提示词,也可能来自被网页、文档、数据库夹带的恶意指令(prompt injection,提示注入)。裸跑意味着这段代码继承了你的一切:你的家目录、你的 SSH 密钥、环境变量里的 API key、以及你能连上的内网数据库。
打个比方:沙箱就像银行柜台的防弹玻璃和递钞槽。客户(模型代码)可以递进一张纸条、拿到一笔钱,但摸不到柜员,也进不了金库。
隔离边界划在哪
- 文件系统:只能看到挂载进来的一个临时目录,宿主目录不可见,任务结束即销毁。
- 进程与内核:容器(container)共享宿主内核,靠命名空间、seccomp 一类机制收窄系统调用;虚拟机(VM)或微虚拟机则给一整个独立内核,隔离更硬、启动更慢。
- 网络:默认全禁,或只放行白名单域名;禁止访问内网网段和云厂商的元数据地址,免得一次 SSRF 就把临时凭据摸走。
- 资源:CPU 时长、内存上限、磁盘配额、墙钟超时、进程数上限,防止死循环和挖矿把机器吃干净。
- 身份:用一次性凭据或只读凭据,而不是主账号的长期密钥。
和相邻概念的区别
| 形态 | 主要防的是 | 强度 |
|---|---|---|
| 裸跑子进程 | 什么都不防 | 无 |
| 语言级沙箱(受限求值、WASM 等) | 同进程内的越权 | 中 |
| 容器沙箱 | 文件、网络、资源越界 | 中高 |
| 微虚拟机 / 虚拟机 | 内核级逃逸 | 高 |
对从业者意味着什么
做 Agent、数据分析助手、代码解释器类产品,沙箱不是加分项而是底线。工程上通常再加三条:执行前做静态检查,危险调用直接拒;执行中留完整审计日志;执行后回收整个环境。对普通职场人来说,看到某个工具说"能帮你跑代码",值得多问一句:它在哪儿跑?跑完留下了什么?
一句话:MXC 的价值不在于让代码跑得更快,而在于让代码跑不出去。
