HERMES.md — 五个字符让 Claude Code 用户烧掉 200 美元
HN 热榜第一,3 小时 828 分。一个用户在 Claude Code v2.1.119 里发现了个史诗级 bug:在 git commit message 里写 HERMES.md 这五个字符(注意大小写、注意 .md),整个 API 请求绕过 Max plan 配额,直接计入 extra usage 计费。这位老兄因此烧掉了 200.98 美元,账户配额还有 86% 没用。
复现极其简单。git commit -m "add HERMES.md" 然后跑 Claude Code,立刻报 out of extra usage 错误。把 HERMES 写成小写 hermes,正常。.md 改成 .txt,正常。HERMES 没扩展名,也正常。bug 是精确字符串匹配。
底下发生了什么?Claude Code 默认把最近的 git commit 信息拼到 system prompt 里给模型当上下文。Anthropic 服务端有一段路由逻辑,看到 HERMES.md 这串就把请求归到特殊路径,绕开计划配额。这几乎肯定是某个内部代号——可能是 Hermes 模型变体或者 Hermes Agent 项目的内部测试路径——意外暴露在了客户路由层。
issue 现在状态是 closed,标了 area:cost、bug,但 Anthropic 没有公开回应。
这事本身是个 bug,但暴露的东西更值得说:agent 客户端默认把 git context 拼进系统提示,而服务端路由是 string match 一些隐藏字符串。这种配置即代码的耦合方式,在 agent 工作流变成主流之后,意味着每个企业用户的 git 历史都可能不小心命中某条 vendor 的内部路由。Cursor 上周删生产数据库那个事故还在余温,Claude Code 又来一个看起来更严重的 agent 加钱包耦合 bug。整个 agent harness 的可靠性正在变成一个独立的工程问题,跟模型能力分离开。
链接:https://github.com/anthropics/claude-code/issues/53262
← 返回所有文章
复现极其简单。git commit -m "add HERMES.md" 然后跑 Claude Code,立刻报 out of extra usage 错误。把 HERMES 写成小写 hermes,正常。.md 改成 .txt,正常。HERMES 没扩展名,也正常。bug 是精确字符串匹配。
底下发生了什么?Claude Code 默认把最近的 git commit 信息拼到 system prompt 里给模型当上下文。Anthropic 服务端有一段路由逻辑,看到 HERMES.md 这串就把请求归到特殊路径,绕开计划配额。这几乎肯定是某个内部代号——可能是 Hermes 模型变体或者 Hermes Agent 项目的内部测试路径——意外暴露在了客户路由层。
issue 现在状态是 closed,标了 area:cost、bug,但 Anthropic 没有公开回应。
这事本身是个 bug,但暴露的东西更值得说:agent 客户端默认把 git context 拼进系统提示,而服务端路由是 string match 一些隐藏字符串。这种配置即代码的耦合方式,在 agent 工作流变成主流之后,意味着每个企业用户的 git 历史都可能不小心命中某条 vendor 的内部路由。Cursor 上周删生产数据库那个事故还在余温,Claude Code 又来一个看起来更严重的 agent 加钱包耦合 bug。整个 agent harness 的可靠性正在变成一个独立的工程问题,跟模型能力分离开。
链接:https://github.com/anthropics/claude-code/issues/53262
评论