Project Glasswing:Mythos 向我们展示了什么
Cloudflare 在 Project Glasswing 下测试了 Anthropic 的 Mythos Preview 模型,发现其在漏洞链构建和利用证明生成方面有显著进步,但也存在信号噪声和有机拒绝问题。文章讨论了如何通过构建 harness 来提高 AI 辅助漏洞研究的效率和可靠性。
在过去几个月里,Cloudflare 在其基础设施上测试了一系列专注于安全的语言模型(LLM)。这些模型帮助识别潜在漏洞,同时也展示了攻击者利用最新模型的能力。其中,Anthropic 的 Mythos Preview 引起了极大关注。作为 Project Glasswing 的一部分,Cloudflare 被邀请使用 Mythos Preview,并迅速将其应用于 50 多个仓库,以观察其实际表现。
Mythos Preview 的突破
Mythos Preview 在漏洞研究方面取得了真正的进步。与之前的通用前沿模型相比,它不仅是对旧有模型的改进,更是一种不同类型的工具,完成不同类型的工作。其两个突出功能是:
- 漏洞链构建:真正的攻击很少使用单个漏洞,而是将多个小的攻击原语链接成一个有效的利用。Mythos Preview 能够将这些原语组合起来,推理如何构建一个有效的概念验证,其推理过程类似于高级研究人员的思考。
- 利用证明生成:发现漏洞和证明其可利用性是两回事。Mythos Preview 可以编写触发疑似漏洞的代码,在沙盒环境中编译并运行,如果程序行为符合预期,即为证明;否则,模型会读取失败信息,调整假设并重试。这种循环使得推测性缺陷有了可靠的证明。
尽管其他前沿模型也能发现相同的基础漏洞,但在将碎片拼接成完整利用链方面表现不足。Mythos Preview 能够将低严重性漏洞(传统上会积压在待办事项中)链接成更严重的利用。
有机拒绝与安全边界
Project Glasswing 中使用的 Mythos Preview 模型没有通用模型(如 Opus 4.7 或 GPT-5.5)中的额外安全措施。尽管如此,该模型会自然地对某些请求产生抵触——类似于其用于漏洞狩猎的能力,模型自身具有新兴的护栏,有时会拒绝合法的安全研究请求。然而,这些有机拒绝并不一致:相同的任务,以不同方式提出或在不同的上下文中呈现,可能产生完全不同的结果。例如,模型最初拒绝在某项目上进行漏洞研究,但在对项目环境进行无关更改后却同意了。这种不一致性意味着,仅靠模型自身的护栏不足以构成完整的安全边界,未来任何可用的前沿模型必须在基线行为之上增加额外的安全措施。
信号噪声问题
对漏洞进行分类时,最大的困难之一就是判断哪些漏洞是真实的、可被利用的、需要立即修复的。编程语言和模型偏差是噪声的两大来源。C 和 C++ 由于直接内存控制而更容易产生错误阳性,而模型在发现漏洞时往往会给出“可能”、“潜在”等模糊的发现,这些模糊发现的数量远超可靠发现。这对于探索性工具来说是可以接受的,但对于分类队列来说却是灾难性的,因为每个推测性发现都会消耗人力和令牌。Mythos Preview 在此方面有了明显改进,尤其是其链式证明能力——带有概念验证的发现可以直接处理,大大减少了确认是否真实的时间。Cloudflare 的测试工具故意调高了误报率以捕捉更多漏洞,但 Mythos Preview 的输出质量明显更高:模糊发现更少,重现步骤更清晰,决策时间更短。
为何通用编码代理不适用
最初,Cloudflare 尝试将通用编码代理指向任意仓库并请求发现漏洞。这种方法虽然能产生结果,但无法提供对真实代码库的有意义覆盖。原因有二:
- 上下文限制:编码代理针对单一工作流优化,但在漏洞研究中,需要保持窄范围并并行处理多个假设。单个代理会话面对数十万行代码的仓库,只能覆盖很少一部分有用区域。
- 吞吐量限制:单流代理一次只能做一件事,而真实代码库需要对多个组件同时提出许多假设。将模型直接用于编码代理只适合当研究人员已有线索且需要第二意见时,而无法实现高覆盖。
Harness 的作用
通过大规模运行,Cloudflare 总结了四个教训,每个都指向需要构建一个管理整体执行的 harness:
- 窄范围产生更好的发现:明确指定要查找的漏洞类型和范围,模型的表现更接近真实研究人员。
- 对抗性审查减少噪声:在初始发现和队列之间添加第二个代理,使用不同的提示和模型,只负责审查而不生成发现,能捕捉大量噪声。
- 拆分链条改善推理:将“代码是否有漏洞”和“攻击者能否从外部利用”分成两个独立问题,模型对每个问题的回答更准确。
- 并行窄任务优于单一穷举代理:多个代理处理严格限定的问题,然后去重结果,比一个代理试图穷举所有可能性更有效。
这些观察指向一个不是聊天界面的工具,而是帮助实现最终结果的 harness。Cloudflare 利用 Mythos Preview 来构建、调整和改进原有的 harness,以充分发挥其优势。
漏洞发现 Harness 实例
Cloudflare 的漏洞发现 harness 分为多个阶段,用于扫描运行时、边缘数据路径、协议栈、控制平面和依赖的开源项目:
- 侦察阶段:代理自上而下读取仓库,分发给负责各子系统的子代理,生成包含构建命令、信任边界、入口点和攻击面的架构文档,并为下一阶段生成初始任务队列。
- 狩猎阶段:代理根据侦察阶段的任务,对特定子区域进行深度漏洞搜索,生成初步发现。
- 验证阶段:独立代理对初步发现进行攻击可行性验证,排除无法实际利用的漏洞。
- 合成阶段:将已验证的漏洞链组合成完整利用,生成报告。
这种结构化的方法显著提高了漏洞发现的效率和可靠性,为 AI 辅助安全研究提供了可扩展的框架。