漏洞关键信息总结 1. 漏洞概述 漏洞类型: CWE-95 — 动态评估代码中的指令不当中和(Eval Injection)。 严重程度: High(高危)。 涉及文件: 。 受影响函数: (第228行)。 相关Issue: #1942。 2. 影响范围 攻击路径: 1. 数据源污染: 外部JSON数据集文件( / )可能通过供应链攻击或数据篡改被污染。 2. 提示注入: LLM生成的解决方案代码在传递给 时可能受到提示注入的影响。 3. 执行漏洞: 将解决方案与测试用例拼接成 ,并传递给 。 核心风险: 被直接作为执行命名空间传递,导致执行代码可以访问整个模块范围,包括: LLM对象(包含API密钥和配置)。 , 及所有导入的模块。 , , 类定义。 及其他模块级状态。 后果: 恶意代码可读取API密钥、破坏模块状态,并在同一进程内影响后续评估。相比之下,同文件中的 已使用隔离命名空间和子进程,是安全的。 3. 修复方案 隔离命名空间: 使用 替换 ,防止执行代码访问LLM对象、API密钥或模块状态。 子进程隔离: 每个测试用例现在在 中运行。崩溃、无限循环或状态破坏不会影响父进程。 超时限制: 设置 ,防止恶意代码无限期挂起优化循环,同时保护免受DoS攻击。 移除文件写入: 移除了 文件的任意写入操作(原代码 ),错误信息改为通过子进程返回值返回。 4. 利用代码 (POC) 以下是截图中提供的概念验证代码,展示了攻击者如何利用 泄露API密钥: