C语言编译器
58.00M · 2026-04-02
今天早上醒来,技术圈炸了。
Claude Code 的完整 CLI 源代码被人 fork 到了 GitHub,512K 行代码就这么赤裸裸地暴露在全世界面前。
Anthropic 这次,真的玩大了。
事情发生在本周三下午。
一位开发者在调试 Claude Code 时,意外发现 npm 包中包含的 .map 源映射文件可以直接访问到完整的 TypeScript 源代码。
这个 .map 文件,本应是调试用的辅助文件,却成了打开潘多拉魔盒的钥匙。
通过解析这个映射文件,攻击者可以反推出完整的源代码结构。很快,有人把代码仓库 fork 到了自己的 GitHub 账号下,然后——全网疯传。
Anthropic 方面反应迅速,在发现泄露后的 2 小时内从 npm 撤回了问题版本,并紧急清理了 GitHub 上的相关仓库。但为时已晚,代码已经被无数人下载、fork、甚至备份。
拿到泄露代码后,多个安全研究团队第一时间进行了分析。以下是目前已知的技术发现:
Claude Code 的 Agent 系统采用了三层架构设计:
// 泄露代码中的 Agent 执行流程
class ClaudeAgentExecutor {
private contextManager: ContextManager;
private toolRegistry: ToolRegistry;
private sessionManager: SessionManager;
async execute(command: AgentCommand): Promise<ExecutionResult> {
// 1. 解析用户意图
const intent = await this.intentClassifier.classify(command);
// 2. 检索相关上下文
const context = await this.contextManager.getRelevantContext(
intent,
this.maxTokens
);
// 3. 生成执行计划
const plan = await this.planner.createPlan(intent, context);
// 4. 逐步执行并验证
for (const step of plan.steps) {
const result = await this.executeStep(step);
await this.validateResult(result);
}
}
}
这套架构本身并不令人意外,但实现细节的曝光让竞争对手可以深入了解 Claude Code 的决策逻辑。
代码中最引人关注的,是大量尚未发布的功能:
browser_use - 浏览器自动化工具database_query - 数据库直连查询git_advanced - 高级 Git 操作(包含 rebase、cherry-pick 等)container_exec - Docker 容器管理terminal_recording - 终端操作录制与回放这些工具的存在表明,Anthropic 正在积极扩展 Claude Code 的能力边界,未来的版本更新可能会有重大功能发布。
泄露的代码还揭示了 Claude Code 的性能优化策略:
// 流式输出的优化实现
class StreamingOptimizer {
private bufferSize = 64; // 字节缓冲区
private compressionThreshold = 1024;
async streamResponse(response: AIResponse): Promise<void> {
const chunks = this.chunkResponse(response);
for (const chunk of chunks) {
if (chunk.length > this.compressionThreshold) {
// 大块内容启用压缩
await this.writeCompressed(chunk);
} else {
// 小块直接写入,降低延迟
await this.writeDirect(chunk);
}
}
}
}
这种根据内容大小动态选择压缩策略的设计,显示了团队对终端用户体验的精细打磨。
慢雾科技的安全专家在接受采访时表示:
但即便如此,这次事件对 Anthropic 的品牌形象是一次沉重打击。作为 AI 安全领域的标杆企业,出现如此低级的源代码泄露,着实让外界对其安全实践产生质疑。
有意思的是,技术社区对这次泄露的反应出乎意料地"正面"。
大量开发者涌入 fork 的仓库,有人开始分析 Claude Code 的代码架构,有人在 Reddit 上分享技术发现,甚至有人开始尝试为 Claude Code 开发第三方插件。
一个开发者写道:
这次事件给所有 AI 公司敲响了警钟:
.map)应该默认不包含在发布包中针对这次泄露,多个安全团队给出了建议:
# .npmrc 配置示例
# 生产环境发布前自动清理
scripts.postpublish = "npm run clean-source-maps"
# package.json 中排除 .map 文件
"files": [
"dist",
"!dist/**/*.map"
]
npm audit 和 snyk 可以检测潜在风险lockfile 和可信的包源Anthropic 这次翻车,给整个行业上了一课。
技术实力再强,流程安全跟不上,也会功亏一篑。
不过话说回来——你下载了那份泄露的代码了吗?看完之后有什么发现?
评论区见。
如果这篇文章对你有帮助,别忘了点个「赞」鼓励一下呀~
收藏一下,下次用得上!
评论区聊聊你的看法或经验~
觉得有价值也欢迎分享给身边的同行朋友!