MXC(Microsoft eXecution Container)是微软开源的一款轻量级、策略驱动的代码执行隔离框架,专为运行不可信代码而生——比如大模型生成的脚本、AI Agent 调用的外部工具、浏览器扩展的本地后端、或用户上传的自动化插件。它不依赖单一技术路线,而是根据操作系统智能选择最合适的底层隔离机制(从进程级沙箱到微型虚拟机),再通过统一的 JSON 配置和 TypeScript SDK 对开发者暴露一致接口。一句话说:你写一次策略,MXC 自动在 Windows、Linux、macOS 上用最适合的方式把它安全跑起来。
核心功能
- 真正的跨平台沙箱抽象:一套配置文件,自动适配 Windows Sandbox、Linux 的 Bubblewrap/LXC、macOS 的 Seatbelt、WSL2 容器(WSLC)、甚至基于 NanVix 的 MicroVM——无需为不同系统重复开发隔离逻辑
- 声明式安全策略驱动:通过简洁的 JSON Schema 定义文件读写路径(支持只读/读写/拒绝三级控制)、网络访问开关、环境变量白名单、CPU/内存限制等,策略即代码,可版本化、可审计、可复用
- 多层级隔离后端灵活切换:开发者可在开发阶段用轻量的 ProcessContainer 快速验证,在生产环境一键切换至更强隔离的 Windows Sandbox 或 MicroVM,策略不变,安全性跃升
- 面向 AI 原生场景深度优化:原生支持执行 LLM 输出的 Python/Shell 代码片段、调用本地工具函数(如截图、查天气)、运行小型插件服务,内置超时、错误捕获与资源回收机制
- TypeScript SDK 开箱即用:提供 npm 包 @microsoft/mxc-sdk,3 行代码即可启动受控执行,支持 Promise 异步等待结果、流式日志监听、退出码解析,完美融入前端/Node.js/AI 工程栈
- 渐进式安全演进设计:当前版本明确标注为“早期预览”,默认策略偏宽松以方便集成测试;但架构已预留策略校验、签名验证、可信镜像仓库等企业级能力扩展点
适合哪些人用
如果你正在构建以下任一类型的产品或系统,MXC 值得立刻关注:AI 应用平台(如自研 Copilot 类产品)的插件运行时;需要执行用户提交脚本的低代码/自动化平台(如内部 RPA 工具);浏览器扩展中需调用本地程序的安全桥接层;科研计算环境中对第三方算法模块的可控执行;或是任何希望摆脱“chmod +x 就敢执行”的粗放模式,转向策略化、可审计、跨平台代码隔离的 Rust/TS 工程师。
快速上手
目前 MXC 提供两种接入方式:(1)命令行工具:下载预编译二进制(GitHub Releases 页面提供 Windows/Linux/macOS 版本),直接运行 mxc run --config policy.json script.py;(2)TypeScript 集成:安装 SDK:npm install @microsoft/mxc-sdk,然后在代码中调用:import { execute } from '@microsoft/mxc-sdk'; const result = await execute({ config: { filesystem: { readOnly: ['/etc'] } }, command: ['python', 'tool.py'] });。详细示例与策略 Schema 文档见项目 README 中的 “Getting Started” 章节。
项目信息
microsoft/mxc
GitHub
Policy-driven, layered isolation and containment
673
今日 +64 stars today
Stars
26
Forks
Rust
MIT
编程语言:Rust|Star 数:673|开源协议:MIT|GitHub 项目地址
这是微软少有的、将底层沙箱能力真正解耦并开放给社区的基础设施项目——不卖云服务,不绑 Azure,只交付可嵌入、可审计、可演进的隔离内核。


