civil-engineering-cloud-cla.../README.md

537 lines
20 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Claude Code Source v2.1.88
> **Claude Code Source** v2.1.88 源码泄露存档合集 -- 整合自三个不同来源,涵盖从原始破解还原到可直接运行的完整版本。**Claude Code** 源码、**v2.1.88** 下载、**Claude Code** 破解版、**Claude Code** 完整源码。
---
## 目录导航
- [Claude Code Source v2.1.88](#claude-code-source-v2188)
- [项目总览](#项目总览)
- [快速开始](#快速开始-5-分钟上手)
- [三个版本详细说明](#三个版本详细说明)
- [01-claude-code-source-crack -- 原始破解版](#01-claude-code-source-crack----原始破解版)
- [02-claude-code-source-research -- 学术研究版](#02-claude-code-source-research----学术研究版)
- [03-claude-code-runnable -- 可运行版](#03-claude-code-runnable----可运行版推荐)
- [源码核心架构速览](#源码核心架构速览)
- [隐藏功能大曝光](#隐藏功能大曝光)
- [事件始末与技术分析](#事件始末与技术分析)
- [三个版本之间的区别对照](#三个版本之间的区别对照)
- [常见问题 FAQ](#常见问题-faq)
- [安全影响与建议](#安全影响与建议)
- [关键数据](#关键数据)
- [参考资料](#参考资料)
- [声明](#声明)
## 项目总览
| # | 目录 | 来源 | 定位 | 适合谁 |
|---|------|------|------|--------|
| 1 | `01-claude-code-source-crack/` | [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) | 原始破解版 -- 含 npm .tgz 包、还原脚本、source map 还原后源码 + 构建脚本 | 想了解还原过程的研究者 |
| 2 | `02-claude-code-source-research/` | [Rito-w/claude-code](https://github.com/Rito-w/claude-code) | 学术研究版 -- 纯 `src/` 源码快照 + 详细架构分析文档 | 想阅读 **Claude Code** 源码、学习架构的开发者 |
| 3 | `03-claude-code-runnable/` | [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) | **可直接运行版** -- 配好 shims、依赖、tsconfig`bun install && bun run dev` 即可启动 | **想跑起来试试的人(推荐首选)** |
---
## 快速开始5 分钟上手)
> 只想最快跑起来?直接看 `03-claude-code-runnable/` 即可。
### 前置环境要求
| 工具 | 版本要求 | 安装方式 |
|------|---------|---------|
| **Bun** | >= 1.3.5 | `curl -fsSL https://bun.sh/install | bash` |
| **Node.js** | >= 24.0.0 | [nodejs.org](https://nodejs.org) 或 `nvm install 24` |
| **Git** | any | 系统自带或 [git-scm.com](https://git-scm.com) |
### 步骤一运行可运行版03-claude-code-runnable
```bash
# 进入可运行版目录
cd 03-claude-code-runnable/
# 安装依赖
bun install
# 启动 Claude Code CLI
bun run dev
# 验证版本
bun run version
# 输出: 999.0.0-restored (Claude Code)
```
> **注意**: 运行需要有效的 Anthropic API Key。设置方式
> ```bash
> export ANTHROPIC_API_KEY="sk-ant-xxxxx"
> ```
> 或者通过 `claude /login` 命令进行 OAuth 登录。
---
## 三个版本详细说明
### 01-claude-code-source-crack -- 原始破解版 (Claude Code Source 还原)
**来源**: [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) (99 stars, 219 forks)
**内容清单**:
```
01-claude-code-source-crack/
README.md # 还原方法说明
anthropic-ai-claude-code-2.1.88.tgz # 原始 npm 包 (.tgz)
claude-code-extracted/package/ # 从 .tgz 直接解压的内容
claude-code-source/ # 从 source map 还原的完整源码
README.md # 构建说明(含 build.ts 配置)
src/ # 1902 个核心源码文件
vendor/ # 原生模块源码
node_modules/ # 打包的第三方依赖
```
**核心价值**:
- 保留了原始 `.tgz` npm 包文件
- 包含完整的 source map 还原脚本
- `claude-code-source/README.md` 中有详细的 `build.ts` 构建配置90+ 特性开关)
- 展示了从 `cli.js.map` 逆向还原 4756 个源文件的完整过程
**还原方法**(已在 README 中说明):
```bash
# 从 npm 下载 Claude Code v2.1.88
npm pack @anthropic-ai/claude-code --registry https://registry.npmjs.org
# 解压
tar xzf anthropic-ai-claude-code-2.1.88.tgz
# 用 source map 还原源码
node -e "
const fs = require('fs'), path = require('path');
const map = JSON.parse(fs.readFileSync('package/cli.js.map', 'utf8'));
for (let i = 0; i < map.sources.length; i++) {
const content = map.sourcesContent[i];
if (!content) continue;
let relPath = map.sources[i];
while (relPath.startsWith('../')) relPath = relPath.slice(3);
const outPath = path.join('./claude-code-source', relPath);
fs.mkdirSync(path.dirname(outPath), { recursive: true });
fs.writeFileSync(outPath, content);
}
"
```
---
### 02-claude-code-source-research -- 学术研究版 (Claude Code 源码分析)
**来源**: [Rito-w/claude-code](https://github.com/Rito-w/claude-code) (forked from instructkr/claude-code)
**内容清单**:
```
02-claude-code-source-research/
README.md # 详尽的架构分析文档
src/ # 1900+ 个 TypeScript 源文件
```
**核心价值**:
- **最详尽的架构文档** -- README 中包含了完整的工具系统、命令系统、服务层、权限系统等分析
- 40+ 工具实现说明BashTool、FileReadTool、AgentTool、MCPTool...
- 50+ 斜杠命令说明(/commit、/review、/compact、/mcp...
- Bridge 桥接系统架构分析
- Tech Stack 技术栈总结Bun + TypeScript + React + Ink + Commander.js + Zod v4
- 适合纯阅读和学习,不含构建配置
---
### 03-claude-code-runnable -- 可运行版推荐Claude Code 完整源码
**来源**: [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) (forked from pengchengneo/Claude-Code)
**内容清单**:
```
03-claude-code-runnable/
package.json # 已配置好的依赖声明
tsconfig.json # TypeScript 配置
bun.lock # 锁定的依赖版本
AGENTS.md # 开发指南
image-processor.node # 原生图片处理模块
preview.png # 预览截图
shims/ # 原生模块的兼容替代 (stub)
src/ # 核心源码 (1987 个文件)
vendor/ # 原生绑定源码
xiaohongshu/ # 功能发现分析的配图素材
```
**核心价值**:
- **开箱即用** -- `bun install && bun run dev` 直接启动
- 已解决私有包问题:通过 `shims/` 目录提供了所有私有包的功能存根
- `@ant/claude-for-chrome-mcp` -- Chrome MCP 扩展存根
- `@ant/computer-use-input` -- 计算机使用输入存根
- `@anthropic-ai/mcpb` -- MCP bundle 处理器存根
- `color-diff-napi` -- 语法高亮 native 模块存根
- `modifiers-napi` -- macOS 按键修饰符存根
- `url-handler-napi` -- URL 处理存根
---
## 源码核心架构速览 (Claude Code 架构分析)
```
src/
main.tsx # 应用入口 (Commander.js CLI + React/Ink 渲染)
QueryEngine.ts # LLM 查询引擎 (~46K 行,核心中的核心)
Tool.ts # 工具类型系统 (~29K 行)
commands.ts # 命令注册表 (~25K 行)
tools.ts # 工具注册表
tools/ # 53 个 Agent 工具实现
BashTool/ # Shell 命令执行
FileReadTool/ # 文件读取
FileWriteTool/ # 文件创建/覆写
FileEditTool/ # 局部文件修改
GlobTool/ # 文件模式匹配
GrepTool/ # ripgrep 内容搜索
AgentTool/ # 子代理派发
MCPTool/ # MCP 服务器工具调用
...
commands/ # 87 个斜杠命令
components/ # 148 个终端 UI 组件 (React + Ink)
services/ # API / MCP / OAuth / Analytics 等核心服务
hooks/ # 87 个自定义 Hooks (含权限系统)
bridge/ # IDE 桥接层 (VS Code / JetBrains 双向通信)
coordinator/ # 多 Agent 协调器
buddy/ # 电子宠物系统
skills/ # 技能加载与执行
vim/ # Vim 模式引擎
voice/ # 语音交互
...
```
**技术栈**:
| 分类 | 技术 |
|------|------|
| 运行时 | Bun |
| 语言 | TypeScript (strict) |
| 终端 UI | React + Ink |
| CLI 解析 | Commander.js (extra-typings) |
| Schema 校验 | Zod v4 |
| 代码搜索 | ripgrep |
| 协议 | MCP SDK, LSP |
| API | Anthropic SDK |
| 遥测 | OpenTelemetry + gRPC |
| 特性门控 | GrowthBook |
| 认证 | OAuth 2.0, JWT, macOS Keychain |
---
## 隐藏功能大曝光
泄露源码中曝光的未发布功能,展现了 Claude Code 的迭代方向,也揭示了 Anthropic 打造"全域 AI 助手"的野心。
### 1. KAIROS -- 7×24 小时自主守护进程 ⭐重磅
**源码注释**: `KAIROS (assistant mode)` -- 让 Claude Code 彻底变成一个 7×24 小时在线的全能助手。
**核心能力**:
- 在用户离开电脑后继续运行维护
- 每日追加日志,记录观察、决策和操作
- 支持后台会话和记忆整合
- 在私有目录中存储记忆日志
- 主动监控并对观察到的事项采取行动
- 与 GitHub Webhooks 集成自动响应代码推送、PR 创建等事件
**技术细节**:
- 强制打开 brief 模式
- 允许工具在工作中途主动向用户发消息
- 支持 `claude assistant [sessionId]` 入口,可恢复、被持续运行
- 与 MCP channel notifications 连接,可用社交软件发送消息指挥助手
- 支持 cron、scheduled tasks、remote control
> 简单来说Claude 可以变成一个永不下线的 AI 管家,即使你关掉终端,它也在默默工作。
### 2. BUDDY -- 命令行电子宠物 🐾
**代码完成度**: 极高,原计划 2026 年 4 月 1 日上线(愚人节彩蛋)
**功能详情**:
- 18 种宠物可选:鸭子、龙、美西螈、水豚、蘑菇、幽灵等
- 稀有度等级:普通 → 稀有 → 史诗 → 传说1% 掉率)
- 闪光变体Shiny Variants
- 五维属性:调试能力、耐心、混沌值、智慧、毒舌
- 可以戴帽子
- 以对话气泡形式停留在输入框旁边
### 3. Coordinator Mode -- 多智能体编排
Claude 可以调度并行工作的从属智能体,实现真正的多 Agent 协同作战。
**四阶段流程**:
1. **研究阶段**: 多个 Worker 并行调查代码库,搜索文件,理解问题
2. **综合阶段**: Coordinator 阅读所有 Worker 的发现
3. **规划阶段**: 制定行动计划
4. **执行阶段**: 指挥执行并整合结果
### 4. Undercover Mode -- 卧底模式 🔒
专为 Anthropic 内部员工设计:
- 在公共仓库中使用 Claude Code 时,自动激活"潜伏模式"
- 不提及 AI、不暴露 Claude 身份、不添加 co-authored-by 标识
- 在公开仓库中强制开启,无法关闭
> 讽刺的是:他们建了一整套系统来阻止 AI 泄密——然后自己把全部源码打包发了上去。
### 5. 内部模型代号曝光
| 代号 | 类型 | 备注 |
|------|------|------|
| **Capybara** | 模型家族 | Claude 4.6 内部代号,分三个层级 |
| Fennec | 模型 | Opus 4.6 的内部名称 |
| Numbat | 模型 | 仍在测试中 |
**Capybara 性能数据**(第八版):
- 错误率29-30%(第四版为 16.7%
- 包含"assertiveness counterweight"机制,防止模型在重写代码时过于激进
### 6. 更多 Feature Flags
| 功能开关 | 说明 |
|----------|------|
| `COORDINATOR_MODE` | 多智能体协调 |
| `KAIROS` | 持久守护进程 |
| `PROACTIVE` | 主动执行任务 |
| `AGENT_TRIGGERS` | 智能体触发器 |
| `HISTORY_SNIP` | 历史记录裁剪 |
| `REACTIVE_COMPACT` | 响应式压缩 |
| `CONTEXT_COLLAPSE` | 上下文折叠 |
| `WEB_BROWSER_TOOL` | 内置浏览器工具 |
### 7. 遥测系统曝光
Claude Code 追踪的用户行为比许多人预期的更详细:
- ** frustration metric**: 追踪用户何时对 Claude 发脾气(咒骂)
- **continue 追踪**: 追踪用户输入"continue"的频率(因为 Claude 老是在响应中途中断)
- 数据通过 Datadog 发送
- 包含会话元数据:模型使用情况、环境详情等
- 内置安全防护:不会发送用户代码或文件路径
- 可通过环境变量完全禁用遥测
---
## 事件始末与技术分析
### 事件时间线
| 时间 | 事件 |
|------|------|
| 2025 年 2 月 | Claude Code 首次因 Source Map 问题泄露(版本 0.2.x |
| 2026 年 3 月 31 日 | 漏洞再次发生,版本 2.1.88,规模更大 |
| 凌晨 4:23 (ET) | [@Fried_rice](https://x.com/Fried_rice/status/2038894956459290963) 发现泄露并发帖 |
| 数小时内 | GitHub 镜像仓库 star 破 5,000fork 破 18,000 |
| 随后 | Anthropic 紧急回退到 2.1.87,删除泄露文件 |
### 泄露原因Source Map 的"致命疏忽"
1. **Source Map 是什么**: 开发调试用的"地图",能把压缩混淆后的代码映射回原始 TypeScript 源码
2. **为什么会泄露**: Claude Code 使用 Bun 打包,默认会生成 source map且未在 `.npmignore` 中过滤 `*.map` 文件
3. **致命细节**: `cli.js.map` 文件包含 `sourcesContent` 字段,源码本身完整嵌入其中
4. **讽刺之处**: 2025 年 2 月已发生过一次同类事故CI/CD 流水线仍未修复
### 技术架构亮点
**不是简单的 CLI 工具,是一个完整的 Agent 操作系统**
1. **QueryEngine.ts**: 4.6 万行代码的"推理核心"
- 复杂推理拆解、Token 计数、思维链处理
- 上下文管理、反幻觉、防越狱检测
- 语义校验与事实核查
2. **权限系统**: 四级权限模式
- `default`: 交互式确认
- `auto`: 基于 ML 分类器自动审批
- `bypass`: 跳过检查
- `yolo`: 全部拒绝
3. **安全防护**: 覆盖多种攻击向量
- 路径遍历攻击
- Unicode 标准化攻击
- 反斜杠注入
- 大小写路径操纵
- `.gitconfig`、`.bashrc`、`.zshrc` 等敏感文件保护
4. **记忆系统**: 三层记忆架构
- 轻量级索引文件,存储项目知识指针而非知识本身
- 保持 AI 工作内存精简准确
- 严格防止失败尝试记录到上下文中
---
## 三个版本之间的区别对照
| 特性 | 01-claude-code-source-crack | 02-claude-code-source-research | 03-claude-code-runnable |
|------|:-:|:-:|:-:|
| 原始 .tgz npm 包 | ✅ | - | - |
| Source map 还原脚本 | ✅ | - | - |
| 完整 src/ 源码 | ✅ | ✅ | ✅ |
| 架构分析文档 | 基础 | **详尽** | 隐藏功能分析 |
| 构建脚本 (build.ts) | ✅ (在 README 中) | - | - |
| package.json | - | - | ✅ |
| shims 兼容层 | - | - | ✅ |
| vendor 原生模块 | ✅ | - | ✅ |
| 可直接 `bun run dev` | ❌ (需自行配置) | ❌ (仅源码) | ✅ |
| 隐藏功能图文分析 | - | - | ✅ (xiaohongshu/) |
---
## 常见问题 FAQ
### Q: 我应该从哪个版本开始?
**想跑起来玩**: 直接看 `03-claude-code-runnable/`,跟着快速开始走。
**想学习架构**: 先读 `02-claude-code-source-research/README.md` 了解整体设计,再到 `03-claude-code-runnable/src/` 中阅读具体实现。
**想了解还原过程**: 看 `01-claude-code-source-crack/README.md``01-claude-code-source-crack/claude-code-source/README.md`
### Q: `bun install` 失败怎么办?
1. 确认 Bun 版本 >= 1.3.5: `bun --version`
2. 确认 Node.js 版本 >= 24: `node --version`
3. 如果 shims 报错,检查 `03-claude-code-runnable/shims/` 目录是否完整
4. 网络问题可尝试: `bun install --registry https://registry.npmmirror.com`
### Q: 如何设置 API Key
```bash
# 方法 1: 环境变量
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
# 方法 2: OAuth 登录 (启动后执行)
claude /login
# 方法 3: 使用 AWS Bedrock
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_ACCESS_KEY_ID="xxxxx"
export AWS_SECRET_ACCESS_KEY="xxxxx"
# 方法 4: 使用 Google Vertex
export CLAUDE_CODE_USE_VERTEX=1
```
### Q: 隐藏功能怎么开启?
大部分隐藏功能通过**编译开关**控制(需修改构建脚本重新编译),部分可通过**环境变量**尝试:
```bash
# 协调器模式 (多 Agent)
export CLAUDE_CODE_COORDINATOR_MODE=1
# 主动模式
export CLAUDE_CODE_PROACTIVE=1
# 简报模式
export CLAUDE_CODE_BRIEF=1
# 自定义模型
export ANTHROPIC_MODEL="claude-sonnet-4-20250514"
# 最大输出 token
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16384
```
### Q: 这些代码是怎么泄露的?
2026 年 3 月 31 日,[@Fried_rice](https://x.com/Fried_rice/status/2038894956459290963) 发现 `@anthropic-ai/claude-code` npm 包中的 `cli.js.map` source map 文件包含了完整的 `sourcesContent`,可以无损还原所有 4756 个 TypeScript 源文件。这是一个典型的**构建产物泄露**build artifact leak安全事件。
---
## 安全影响与建议
### 好消息
- ✅ 泄露的是 **CLI 客户端代码**,不是模型权重、训练数据或用户隐私数据
- ✅ 对普通用户没有直接安全风险
- ✅ Anthropic 紧急回退了 npm 版本
### 需要警惕
⚠️ **完整源码暴露意味着**:
- Claude Code 内部架构已完全透明
- 安全机制、权限控制体系详细可见
- 为潜在攻击者提供了"详细地图"
- 攻击者可以研究权限绕过方法
### 紧急建议
如果你在 **2026 年 3 月 31 日 12:21 - 3:29 UTC** 期间通过 npm 更新过 Claude Code
1. **检查 axios 恶意版本**: 查看 lock 文件中是否有 `axios 1.14.1``0.30.4`,以及 `plain-crypto-js` 依赖
2. **如发现恶意版本**: 立即视为系统已被入侵
3. **立即行动**: 轮换所有凭证、重装系统
4. **使用官方安装方式**: Anthropic 推荐使用原生安装程序,绕过 npm 依赖链
5. **降级 Claude Code**: 回退到 2.1.86 版本
6. **监控账号**: 关注 API 账户异常活动
---
## 关键数据
| 指标 | 数值 |
|------|------|
| 源文件总数 | 4,756 |
| 核心源码 (src/ + vendor/) | ~1,906 文件 |
| 代码行数 | 512,000+ |
| Source Map 大小 | 57-59.8 MB |
| npm 包版本 | 2.1.88 |
| 编译开关数量 | 50+ (外部版约 90 个配置项) |
| 工具实现 | 53 个 |
| 斜杠命令 | 87 个 |
| UI 组件 | 148 个 |
| GitHub Star (泄露后数小时) | 12,000+ |
| GitHub Fork (泄露后数小时) | 18,000+ |
---
## 参考资料
### 原始来源
- [@Fried_rice Twitter/X](https://x.com/Fried_rice/status/2038894956459290963) -- 首个发现者
- [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) -- 原始破解版
- [Rito-w/claude-code](https://github.com/Rito-w/claude-code) -- 研究版
- [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) -- 可运行版
### 新闻报道
- [TechStartups: Anthropic's Claude source code leaked](https://techstartups.com/2026/03/31/anthropics-claude-source-code-leak-goes-viral-again-after-full-source-hits-npm-registry-revealing-hidden-capybara-models-and-ai-pet/)
- [Rollingout: How devastating Anthropic's leak exposed 512,000 lines](https://rollingout.com/2026/03/31/anthropic-claude-code-leak-512000-lines/)
- [Cybersecurity News: Claude Code Source Code Leaked](https://cybersecuritynews.com/claude-code-source-code-leaked/)
- [IT Home: Claude Code 51万行代码全网狂欢](https://discovery.ithome.com/architor/0/934/677.htm)
### 中文深度分析
- [今日头条: Claude Code 源码泄露全面解析](http://m.toutiao.com/group/7623412360984527406/)
- [今日头条: Claude Code 51.2万行代码泄露事件](http://m.toutiao.com/group/7623432389129175603/)
- [腾讯新闻: Claude Code 51万源码泄露](http://news.qq.com/rain/a/20260331A07A8900)
- [网易: Claude Code源代码泄露](https://c.m.163.com/news/a/KPCN6PA905119734.html)
- [CSDN: Claude 51万行源码泄露](https://blog.csdn.net/yui9987/article/details/159697244)
### 社区讨论
- [DevTalk Forum: Claude Code's entire source just leaked](https://forum.devtalk.com/t/claude-codes-entire-source-just-leaked-512k-lines-anyone-else-digging-through-it/239586)
- [Reddit: Claude Code source code leaked](https://www.reddit.com/r/programming/comments/1xxx/claude_codes_source_code_appears_to_have_leaked/)
---
## 声明
- 本仓库为 **Claude Code Source** 整合存档,源码版权归 [Anthropic](https://www.anthropic.com) 所有
- 仅用于技术研究与学习,请勿用于商业用途
- 如有侵权,请联系删除
- 本仓库不隶属于、未经 Anthropic 认可或维护