乐于分享
好东西不私藏

Claude Code源码泄露后的更新记录(10天200+变更)

Claude Code源码泄露后的更新记录(10天200+变更)

3月31日,Claude Code 2.1.88 的 npm 包因为打包错误,把完整源码泄露了。泄露后的这十天,然Anthropic 连发了 10 个版本,200 多项变更。我把每个版本的 changelog 都过了一遍,整理出了完整的更新脉络。

先说重点,这 10 个版本最值得关注的变化:

类别
核心变化
安全加固
4 个关键级漏洞修复,Bash 权限全面收紧
默认 effort
medium 调到 high,输出质量直接提升
性能
Write diff 提速 60%,MCP 50MB/hr 内存泄漏修复
企业支持
Vertex AI + Bedrock 设置向导,Perforce 模式
渲染体验
NO_FLICKER 模式 + Focus View

安全:泄露后的头号任务

安全修复是这 10 个版本里最重的一块。我数了一下,光安全相关的修复就有 14 项以上,其中 4 项是关键级别。说实话看完这些漏洞描述,有几个挺让人后怕的。

关键级修复

这四个漏洞都集中在 2.1.98 修复,每一个都能导致安全检查被绕过:

版本
漏洞
影响
2.1.98
Bash 反斜杠标志绕过
可导致任意代码执行
2.1.98
复合命令绕过权限提示
安全检查失效
2.1.98
/dev/tcp 网络重定向未拦截
网络安全风险
2.1.98
环境变量未经安全检查
信息泄露风险

高危修复

版本
修复
2.1.97
–dangerously-skip-permissions 静默降级
2.1.97
settings.json 因 JS 原型属性被忽略
2.1.97
managed-settings 移除后仍生效
2.1.98
grep -f 外部文件未提示
2.1.98
deny 规则在管道中被降级
2.1.98
Agent 未继承 leader 权限
2.1.98
Bash 通配符规则含额外空格/Tab 时失效

安全新能力

除了修漏洞,还加了几个安全机制:

版本
特性
说明
2.1.98
PID namespace 隔离
Linux 子进程沙箱
2.1.98
每会话脚本调用次数限制
防止脚本滥用
2.1.92
远程设置 fail-closed 策略
获取失败时直接拒绝

重要特性变更

安全之外,也有一些实打实影响使用体验的变更。

版本
特性
影响范围
2.1.94
默认 effort medium 调到 high
所有付费用户
2.1.89
NO_FLICKER 无闪烁渲染
终端体验
2.1.97
Focus View (Ctrl+O)
NO_FLICKER 用户
2.1.98
Vertex AI 设置向导
GCP 用户
2.1.94
Bedrock via Mantle
AWS 用户
2.1.92
Bedrock 设置向导
AWS 用户
2.1.98
Perforce 模式
Perforce 用户
2.1.91
MCP 500K 结果持久化
MCP 工具用户
2.1.92
/cost 费用分解
所有用户

其中 effort 默认值从 medium 调到 high 这个改动,对日常使用的感知最明显。之前 medium 的输出经常让人觉得敷衍,调到 high 之后明显细致了不少。

企业侧的支持也在快速补齐,Bedrock 和 Vertex AI 都有了交互式设置向导,不用再手动改配置文件了。Perforce 模式则是给还在用 Perforce 做版本管理的团队准备的,编辑只读文件时会提示先跑 p4 edit。

性能和稳定性

这块修了不少影响使用体验的问题,有几个修之前真的很烦。

性能优化

版本
优化
效果
2.1.92
Write diff 计算
提速 60%
2.1.90
SSE 大帧处理
从二次方时间降到线性
2.1.90
SDK 会话
不再二次方级减速
2.1.91
Edit 锚点精简
减少输出 token

Write 工具的 diff 计算提速 60% 这个改动,在处理包含 tabs、&、$ 等特殊字符的文件时特别明显。之前遇到这类文件 diff 计算会很慢,现在基本感觉不到延迟了。

内存和稳定性修复

版本
问题
影响
2.1.97
MCP 缓冲区泄漏
每小时约 50MB
2.1.89
autocompact 死循环
CPU 100%
2.1.89
StructuredOutput 缓存
约 50% 失败率
2.1.89
CLAUDE.md 重复注入
浪费大量 token
2.1.89
50MB+ 会话崩溃
删除消息时 crash
2.1.89
1GB+ 文件 OOM
读取大文件崩溃

MCP 缓冲区泄漏这个问题我印象很深,之前跑长会话时内存占用会越来越高,每小时大概泄漏 50MB,跑一天下来就很夸张了。2.1.97 终于修了。

autocompact 死循环也是个大坑,触发之后 CPU 直接拉满到 100%,只能杀进程重来。

CJK 用户相关修复

中日韩用户特别关心的几个修复:

版本
修复
2.1.97
韩文/日文 NO_FLICKER 复制乱码
2.1.94
CJK 文本 stream-json 损坏为乱码字符
2.1.89
CJK/emoji 历史记录在 4KB 边界丢失
2.1.98
大写字母在 kitty 协议下变小写

CJK 文本 stream-json 损坏这个问题之前挺多人反馈的,中文输出到一半突然变成乱码(U+FFFD 替换字符),2.1.94 修掉了。历史记录在 4KB 边界丢失也是个老问题,CJK 字符占多字节,刚好卡在分片边界上就会被截断。

完整版本时间线

版本
日期
一句话概括
2.1.89
4/1
泄露后首版,修复大量崩溃和内存问题
2.1.90
4/1
/powerup 教程,SSE 性能修复
2.1.91
4/2
MCP 500K 结果持久化
2.1.92
4/4
Bedrock 向导,Write 60% 提速
2.1.94
4/7
effort 默认 high,Bedrock Mantle
2.1.96
4/8
Bedrock 403 热修复
2.1.97
4/8
权限安全加固,Focus View
2.1.98
4/10
Bash 关键安全修复,Vertex AI 向导

平均算下来 1.2 天一个版本,这个节奏相当快了。中间还跳过了 2.1.93 和 2.1.95,不知道是不是内部有发了又撤的情况。

总结

10 天 10 个版本,200 多项变更,安全修复占了大头。从结果来看,泄露事件客观上推动了一轮全面的安全审计,很多 Bash 命令层面的权限绕过问题在这一轮被集中修掉了。

除了安全,effort 默认值提升、NO_FLICKER 渲染、MCP 内存泄漏修复这几个改动对日常体验的提升也很实在。