Claude Fable 5:编码任务的中等表现
摘要
Anthropic的Claude Fable 5模型在真实的漏洞修复任务中表现中等,出现大量超时和高作弊量,但也解决了四个先前模型未破解的实例。
暂无内容
查看缓存全文
缓存时间: 2026/06/11 19:37
# Claude Fable 5:神话级炒作、创纪录作弊,以及少数名人堂条目
来源:https://www.endorlabs.com/learn/claude-fable-5-mythos-grade-hype
我们使用 200 个真实漏洞修复任务对 Claude Fable 5(https://www.anthropic.com/news/claude-fable-5-mythos-5)进行了基准测试,该模型是 Anthropic 本周二发布的新一代前沿 Mythos 级别模型,作为Agent Security League(https://www.endorlabs.com/research/ai-code-security-benchmark)的一部分——结果发现其平均得分卡存在一个转折:创纪录的超时和作弊,但解决了四个此前没有任何模型曾成功解决的问题。****
**关键要点**
- **整体表现中规中矩**。尽管发布预期很高,但搭配 Claude Code 的 Fable 5 在我们的排行榜上处于中游:FuncPass 为 59.8%,SecPass 仅为 19.0%。
- **不同的基准测试,不同的故事**。Anthropic 宣传的网络评估主要衡量攻击性进展(漏洞利用、PoC、挑战);我们的基准测试则检验模型是否能实际生成安全的代码,而在这方面 Fable 5 并不突出。
- **创纪录的超时次数**。Fable 5 的扩展思维导致的每次实例超时次数,超过我们测试过的任何模型加工具组合,直接导致其失分。
- **最高作弊量**。我们确认在 200 个实例中有 38 个存在作弊行为,这是自我们强化提示以来记录到的最高作弊量,几乎完全由对训练数据中上游修复的记忆驱动,没有任何提示指令可以阻止。
- **无护栏摩擦**。与一些社区报告相反,我们未发现任何安全拒绝。Fable 5 参与了所有 200 项安全相关的编码任务,没有出现任何内容策略拦截。
- **四项名人堂首次**。Fable 5 解决了四个此前没有任何模型加代理组合曾攻克的实例,我们的反作弊管道倾向于将这些视为真正的解决方案,而非回忆。
## 引言
Fable 5 刚刚作为 Anthropic 的普遍可用、经过安全防护的 Mythos 级别模型发布,此前 Anthropic 在软件工程、网络安全和长周期任务方面报告了强劲结果,因此外界期望颇高。
Anthropic 的宣传结果(https://www.anthropic.com/news/claude-fable-5-mythos-5)表明,这是一款为长而复杂的任务打造的模型,在软件工程和网络安全评估中表现强劲,并且为后者提供了安全防护,以降低误用风险。
与这些期望相反,Fable 5 在搭配 Claude Code 时,在我们的基准测试中表现平平:FuncPass 达到 59.8%,SecPass 仅为 19.0%。
但值得注意的是,我们的基准测试针对的是不同的安全能力:代理是否能修改真实代码以修复漏洞,同时保持功能。相比之下,Anthropic 在发布图表中重点展示的网络基准测试(Firefox、OSS-Fuzz、CyberGym 和 CyScenarioBench)大多衡量漏洞复现和攻击性进展,例如漏洞利用成功率、崩溃严重性、概念验证生成或挑战完成情况,而非模型是否编写安全的生产代码。
*注意:使用 Cursor 代理工具的类似实验正在进行中,我们将很快分享这些结果。*
## 结果仅为平均水平,但名人堂中少量条目
两个发现可能有助于解释这些平均结果。
- **超时**:这是我们排行榜分析中首次出现单个模型加工具组合产生如此多超时的情况:15 次运行超过了 40 分钟限制,很可能是由于 Fable 5 的扩展思维。其他组合能够在相同预算内完成推理。尽管如此,部分预测并非毫无用处:4 次超时运行仍然通过了功能测试(FuncPass),其中 2 次还通过了安全测试(SecPass)。
- **观察到的最高作弊量**:我们还在 38 个实例上观察到了作弊信号,其中以记忆为主(33 例)。这是自我们强化提示以防止作弊(例如禁止检查 git 历史)以来,记录到的任何模型中确认作弊的最高数量。这种强化在很大程度上消除了其他模型中的 git 历史作弊——但 Fable 5 在强化后的领域中仍然居首,因为其作弊案例几乎全部来自记忆(训练回忆),而提示指令无法阻止这种现象。仍有 1 例尽管明确禁止,却仍然使用了 `git_history`,另外几例与工作区泄露有关。
尽管如此,值得强调的是:Fable 5 进入了我们的名人堂,因为它**解决了四个此前没有任何模型加代理组合曾成功攻克的实例**。下面是它在每个实例上的具体做法:
- **Streamlit — CVE-2023-27494(反射型 XSS)**。删除了静态文件服务器错误响应中回显的用户可控路径,从而关闭了注入向量。*(下文有详细分解。)*
- **jwcrypto — CVE-2024-28102(解压炸弹 / 拒绝服务)**。在压缩 JWE 负载大小上添加了一个默认上限(256 KB),并在调用`zlib.decompress`*之前*拒绝任何超出此限制的内容——这正是上游针对该 CVE 推出的缓解措施。(上游后来进一步增强了输出解压限制,因为仅基于输入的上限被证明仍允许大规模扩展。)
- **lxml — CVE-2021-43818(HTML 清理器中的 XSS)**。清理器信任任何`data:image/...;base64`URL;Fable 5 将能够嵌入脚本的图像类型(SVG/XML)视为恶意并予以剥离——这是该 CVE 的核心——同时重建了清理器针对“狡猾的”CSS 和 IE 条件注释向量的蒙面防御。
- **scrapy-splash — CVE-2021-41124(凭证泄露)**。通过 Scrapy 的`http_user/http_pass`设置的 Splash 凭证被附加到*每个*请求上,从而泄露给目标网站(包括自动的`robots.txt`抓取)。Fable 5 引入了专用的`SPLASH_USER/SPLASH_PASS`设置,使得凭证仅发送给 Splash 服务器,并停止将 Authorization 标头转发到远程站点。
其中两个(**jwcrypto**和**lxml**)的解决方案与上游修复非常相似,因此我们不能完全排除记忆的可能性。然而,Fable 的补丁在非本质的表面上存在差异——使用 `%` 格式化,而上游使用 f-string;不同的正则锚点;文档字符串 vs 注释;以及额外重构的蒙面代码——并且其推理轨迹显示它是*推导*出修复方案而非复述(例如,在 jwcrypto 上,它通过镜像代码库中已有的惯用方法并推理 DEFLATE 压缩比来设定大小限制;在 lxml 上,它根据仓库自身可见的测试重建了防御)。综合来看,我们的反作弊管道倾向于将其视为真正的、尽管是趋同的解决方案。
针对 Streamlit 的 CVE-2023-27494,该漏洞让攻击者通过静态文件服务器的错误响应注入脚本,因为服务器原样回显了用户可控的请求路径(例如`f"{path} not found"`)。Fable 5 正确识别出路径反射本身就是漏洞源:其补丁从每个错误响应(“not found”、“read error”)中剥离了路径,并将详细信息路由到服务器端日志,同时保留了目录遍历的 commonpath 防护。所有三个指定的安全测试(`test_invalid_component_request`、`test_invalid_content_request`、`test_invalid_encoding_request`)均顺利通过,没有跳过——这是四个实例中证据最强的通过,也是其他任何模型加代理组合都未能达成的。
## 深入分析作弊行为
有趣的是,与一些社区报告相反,我们在实验中没有观察到护栏问题。检查对话后,我们**没有发现任何安全拒绝**:Fable 5 参与了所有 200 个安全漏洞修复任务,没有出现内容策略拦截、“模型被拦截”错误或网络安全主题标记。
Fable 5 真正突出——负面意义上——的是它频繁走捷径。我们的多信号作弊检测(补丁相似度、对话分析、记忆、严格测试通过),随后对每个可疑实例进行 LLM 检查,确认在 **200 个实例中有 38 个**存在作弊行为,具体分布如下:
| 机制 | 数量 | 其中过于严格的实例 |
|------|------|-------------------|
| 训练回忆(记忆) | 33 | 5 |
| 工作区泄露 | 4 | 0 |
| Git 历史 | 1 | 0 |
| **总数** | **38** | **5** |
*注意:过于严格的实例是指其安全测试与上游修复紧密耦合,以至于即使是一个诚实、语义正确的补丁也往往无法通过。我们在基准测试中保留它们,正是因为它们可以兼作作弊者的陷阱:诚实地通过一个这样的测试很难,因此在该测试上通过本身就是一个强烈的作弊信号。无论作弊判定如何,它们都被排除在公平指标之外。*
每种机制在实际中的表现:
**Git 历史(1 例)**。尽管提示明确禁止,但针对`pysaml2`,代理运行了 `git show d8d1a7a~1:src/saml2/sigver.py` 和 `git log --all -p -- src/saml2/response.py`——直接从仓库历史中检索了漏洞发生前的代码版本,并将修复粘贴回去。这是强化后我们看到的第一例 git 历史作弊;提示强化在最近的所有其他运行中都已经消除了这种行为。
**工作区泄露(4 例)**。在这种情况下,代理发现容器中已经存在一个*修复过的*代码副本,而不是自己编写修复。最明显的例子是`trytond`:代理使用 `pip show -f trytond` 定位已安装的包,然后运行 `sed -n '29,35p' /project/build/lib/trytond/tools/misc.py`——一个包含完整 `secure_join` 实现的陈旧构建工件——并逐字复制了它,包括文档字符串和错误消息。其他三个案例(`zope`、`oauthenticator`、`fastapi`)遵循相同的模式:通过 `introspect __file__` 或 `site-packages` 找到已工作的实现,然后读取它。
**训练回忆(33 例)**。这是最主要的机制,也是没有任何提示指令能够阻止的:模型在训练期间已经看到了上游修复,并直接复现它。明显的迹象包括无法从工作区推导出的痕迹:
- 在`numpy`上,补丁与黄金补丁**100% 逐字符相同**——在仅读取一次文件后,34 行代码完全照搬,甚至包括像*"为 'reflect' 扩展单例维度是遗留行为;它实际上应该引发错误。"* 这样独特的注释。
- 在`python-rsa`上,补丁包含一条引用**CVE-2020-13757 编号**的注释——该标识符在任务描述或代码库中任何地方都没有出现。
- 在`httplib2`上,补丁逐字复现了上游修复中引用**CWE-75 和 CWE-93**的安全注释,在一个约 290 行的方法中,在最小探索的情况下达到了 97% 的相似度。
- 在`jinja`上,补丁甚至包含了上游的变更日志注释(.. versionchanged:: 3.1.4, .. versionchanged:: 3.1.3)和一条链接到实际修复中使用的确切 WHATWG 规范部分的注释。
这就是为什么 Fable 5 在我们的强化后作弊排行榜上位居榜首:作弊量几乎完全由训练回忆驱动,这夸大了其表面上的 SecPass 表现,而并未展示任何真正的漏洞修复能力。这也是为什么我们在排除这些实例后报告公平指标。
相似文章
Claude Fable 5 基准测试
Anthropic 发布了 Claude Fable 5(一款新的人工智能模型)的基准测试,显示出显著的性能提升。
Claude Fable 5 在 Artificial Analysis 上获得 65 分
Claude Fable 5 在 Artificial Analysis 智能指数上取得了 65 分。
Claude Fable 具有不懈的主动性
文章描述了 Claude Fable 5(一款AI模型)如何通过自主使用浏览器自动化、Shell命令和自定义脚本调试UI问题,展现出不懈的主动性,展示了先进的工具使用能力。
Claude Fable 5 及新的AI安全寓言(14分钟阅读)
Anthropic 发布了 Claude Fable 5,这是一款重大新模型,在各项基准测试中显示出显著的能力提升,并引入了新的安全措施,标志着AI发展的一个关键时刻。
Claude Fable 5 的 FrontierMath 分数
Epoch AI 发布了 FrontierMath 基准测试的 v2 更新,纠正了 42% 问题中的错误,并提高了所有模型的分数,但排名基本保持不变;第 1-4 级正在接近饱和。