漏洞概述 MetaGPT 0.8.1 版本在 文件的 方法中存在代码注入(Eval Injection)漏洞。该应用使用不安全的 函数来解析来自大语言模型(LLM)响应的字符串,以生成 或 类型的 Python 对象。当提取类型为 或 的字段时,提取的 直接传递给 ,未进行任何清理(例如未使用 )。 影响范围 受影响版本: MetaGPT 0.8.1 及以下版本。 危害: 远程代码执行(RCE)。攻击者若能执行提示词注入(Prompt Injection),可强制 LLM 输出恶意的 XML 标签。当上下文被处理时, 函数将执行载荷,允许攻击者执行任意命令、访问敏感文件或控制系统。 修复方案 避免直接使用 函数解析 LLM 输出。 应使用更安全的替代方案,如 来解析字符串。 POC/利用代码 1. 在 MetaGPT 中初始化一个 ActionNode,设置 为 或 。 2. 构造提示词注入载荷,强制 LLM 输出如下恶意 XML 标签: 3. 使用 处理上下文。 4. 函数将执行上述载荷。