MetaGPT 代码执行漏洞总结 1. 漏洞概述 MetaGPT 当前直接在宿主 Python 进程中执行 LLM(大语言模型)生成的代码,使用了 和 方法,且没有任何进程隔离或沙箱机制。这种设计导致 LLM 生成的恶意代码可以直接在宿主系统上运行,存在严重的安全隐患。 2. 影响范围 该漏洞影响以下关键组件和场景,且已在多个 GitHub Issue 中确认为远程代码执行(RCE)和命令注入风险: : 使用 且开启 ,无隔离。 : 维护持久的宿主 Shell 进程,仅依靠最小化的禁止命令块,极易被绕过。 及 Benchmark Evaluators: 直接调用 处理 LLM 输出,且缺乏 过滤器。 3. 修复方案 提议引入 作为替代方案,利用 QEMU microVM 进行沙箱代码执行。 核心机制: 每个代码执行任务都在专用的 QEMU microVM 中运行(Linux 使用 KVM,macOS 使用 HVF)。 隔离性: VM 启动、运行代码后立即销毁,执行之间无状态泄露,无共享内核。 对比优势: 相比 Docker,它解决了 macOS ARM 支持问题,避免了 Docker Desktop 的许可限制,且通过硬件虚拟化避免了容器逃逸风险。 4. 代码示例 (POC/实现方案) Option A: 替换现有执行逻辑 (Drop-in sandbox wrapper) Option B: 有状态的沙箱会话 (Stateful sandbox sessions) Option C: 基于配置的执行后端 (Configuration-based execution backend)