header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
扫码下载APP

逆向拆解Claude Code发现两个缓存Bug,可无声推高API成本10-20倍

1M AI News 监测,一名开发者通过 Ghidra、MITM 代理和 radare2 逆向拆解了 Claude Code 独立安装版的 228MB 二进制文件,发现两个独立的缓存 Bug,可在用户不知情的情况下将 API 成本推高 10-20 倍。相关分析已提交至 GitHub(issue #40524),被 Anthropic 标记为回归 Bug 并指派处理。

第一个 Bug 存在于独立安装版使用的定制 Bun 运行时中。每次 API 请求时,运行时会在请求体中查找一个计费标识符并替换,但替换逻辑命中的是请求体中的第一个匹配项。如果对话历史恰好包含该字符串(比如讨论过 Claude Code 内部计费机制),替换就会命中消息内容而非系统提示词,导致每次请求都触发缓存全量重建。临时规避方法是改用 npx @anthropic-ai/claude-code 运行,npm 包版本不含这段替换逻辑。

第二个 Bug 影响所有使用 --resume 或 --continue 恢复会话的用户,自 v2.1.69 起引入。恢复会话时,系统附加信息的注入位置与新建会话不同,导致缓存前缀完全不匹配,整段对话历史从缓存读取变为全量重写。后续轮次恢复正常,但恢复操作本身已产生大量额外开销,目前无外部规避方案。

该开发者估算,对于约 50 万 token 的长对话,Bug 1 每次请求额外消耗约 0.04 美元,Bug 2 每次恢复额外消耗约 0.15 美元,两者叠加单次请求成本可超 0.20 美元。此前 Anthropic 工程师 Lydia Hallie 已确认用户触达用量限制的速度「远快于预期」,Reddit 评论区多名用户认为这两个缓存 Bug 可能是用量异常消耗的根本原因之一。

举报 纠错/举报
纠错/举报
提交
新增文库
仅自己可见
公开
保存
选择文库
新增文库
取消
完成