MCP 代理可丢弃代码沙箱
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/give-mcp-agents-disposable-code-execution-sandboxes-with-opensandbox-mcp-skillhub。
技能介绍
要解决的问题:让代理安全运行不受信代码
MCP 代理在编码、数据分析、自动化脚本等场景里,经常需要执行模型自己生成的代码。直接在宿主机上跑 python 或 sh 脚本风险很高:一次误操作或恶意输出,就可能污染开发环境、泄露凭证。问题在于,代理本身很难判断一段代码是否可信,而自建沙箱意味着要自己搭 Docker、管生命周期、写 SDK 胶水层,接入成本并不低。
这个技能做了什么
它把 OpenSandbox 的沙箱能力以 MCP 技能的形式暴露给支持 MCP 的客户端(如 Claude Code、Cursor),核心是三件事:
- 创建沙箱:基于 Docker 或 Kubernetes 运行时,按需拉起一次性执行环境;
- 执行命令:在沙箱内运行任意支持语言的脚本,任务结束后整箱丢弃,不留残留;
- 文件操作:在沙箱与外部之间移动文件,适合产物回传或输入注入。
底层 OpenSandbox 提供多语言 SDK(Python、Java/Kotlin、JavaScript/TypeScript、C#/.NET、Go)和统一的沙箱 API,并附带 osb CLI 覆盖常见工作流:建箱、跑命令、传文件、查诊断信息、管理运行时出口策略(egress policy)。
关键步骤
- 客户端通过 MCP 发起请求,技能调用 OpenSandbox API,在 Docker 或 Kubernetes 上创建沙箱实例;
- 代理在沙箱内执行命令或读写文件;
- 需要时通过文件操作把产物取回;
- 任务结束直接销毁沙箱,环境恢复原样。
适用边界与注意点
- 这是通用沙箱平台而非某一种 agent 的垂直方案,接入方需要自己理解运行时选型;
- 本地开发用 Docker 即可,大规模调度要上 Kubernetes,集群成本需要考虑;
- egress 策略需要显式配置,沙箱存在并不等于网络访问天然安全;
- 可丢弃环境不保留状态,有持久化需求的场景要另行设计。
使用场景
- MCP 代理需要执行自己刚生成的 Python 脚本验证结果,可创建一次性沙箱跑完即销毁,不污染本地环境。
- 数据分析代理要运行来源不明的临时脚本,产物通过沙箱文件操作回传,全程不接触宿主机。
- 在 Kubernetes 上批量调度多个代理的代码任务,沙箱生命周期交由平台统一管理,无需手工建容器。
- 需要限制代理生成代码的网络访问,可通过运行时出口策略单独配置沙箱 egress 规则。
适合人员
- 为 MCP 代理补齐代码执行能力的工程师,需要在不动宿主机的前提下安全跑不受信代码。
- 在 CI 或评测流水线里运行 agent 行为的开发者,需要一个可销毁、可重复的隔离执行环境。
- 负责代理平台基础设施的运维,需要统一管理 Docker 与 Kubernetes 两种运行时的沙箱生命周期。
- 对出网行为有合规要求的团队负责人,需要按任务粒度给沙箱配置出口策略并留存诊断记录。