MetaGPT 收到两则通告。它是被引用最多的多智能体框架之一,GitHub 星标数达 70,148CVE-2026-79408 指的是 metagpt/repo_parser.pyRepoParser.rebuild_class_views()path 参数存在 OS 命令注入漏洞。CVE-2026-79407 则是 metagpt/ext/spo/utils/load.py 中通过 FILE_NAME 值导致的路径遍历,可允许任意文件读取。两项问题均针对 0.8.1 版本。

“影响 0.8.1”意味着什么,以及为什么这里并不成立

通告中的版本范围通常意味着存在可升级版本。但这里并没有。两条记录都没有给出已修补版本字段。存在漏洞的代码仍留在默认分支中:repo_parser.py 依然会构造 f"pyreverse {str(path)} -o dot" 并将其传给 subprocess.run(..., shell=True),而 load.py 仍会把 FILE_NAME 在未做规范化的情况下拼接到一个设置路径上。最新发布的 0.8.2 也没有修复这两处问题——它发布于 2025 年 3 月,而该仓库最后一次推送是在 2026 年 1 月 21 日。它并未归档;只是停止了推进。

扫描器问题

无论是供应商还是 NVD,这两项通告都没有 CVSS 评分;严重性显示为 unknown。多数依赖扫描器都设置了严重性门槛——高危及以上,或者中危及以上。没有评分的条目达不到门槛。在许多流水线中,这两项甚至不会触发任何提示,而这正是已披露漏洞和可见漏洞之间的实际差别。

原语所在的位置

命令注入路径位于仓库解析之中——也就是智能体对用户提供的代码库调用的函数。这正是自主编码智能体按设计会指向不可信输入的攻击面。

结构性问题

通告默认假设另一端有维护者响应。当一个被广泛依赖的项目停止接受提交时,披露就会留下一个永久公开记录,记录的是一个无法修复的缺陷,而责任则完全转移给那些将其二次分发的人——其中大多数人永远不会看到这条警报。