|
|
3 viikkoa sitten | |
|---|---|---|
| 01-claude-code-source-crack | 3 viikkoa sitten | |
| 02-claude-code-source-research | 3 viikkoa sitten | |
| 03-claude-code-runnable | 3 viikkoa sitten | |
| .gitignore | 3 viikkoa sitten | |
| README.md | 3 viikkoa sitten |
Claude Code Source v2.1.88 源码泄露存档合集 -- 整合自三个不同来源,涵盖从原始破解还原到可直接运行的完整版本。Claude Code 源码、v2.1.88 下载、Claude Code 破解版、Claude Code 完整源码。
| # | 目录 | 来源 | 定位 | 适合谁 |
|---|---|---|---|---|
| 1 | 01-claude-code-source-crack/ |
Janlaywss/cloud-code | 原始破解版 -- 含 npm .tgz 包、还原脚本、source map 还原后源码 + 构建脚本 | 想了解还原过程的研究者 |
| 2 | 02-claude-code-source-research/ |
Rito-w/claude-code | 学术研究版 -- 纯 src/ 源码快照 + 详细架构分析文档 |
想阅读 Claude Code 源码、学习架构的开发者 |
| 3 | 03-claude-code-runnable/ |
Rito-w/ClaudeCode | 可直接运行版 -- 配好 shims、依赖、tsconfig,bun install && bun run dev 即可启动 |
想跑起来试试的人(推荐首选) |
只想最快跑起来?直接看
03-claude-code-runnable/即可。
| 工具 | 版本要求 | 安装方式 |
|---|---|---|
| Bun | >= 1.3.5 | `curl -fsSL https://bun.sh/install |
| Node.js | >= 24.0.0 | nodejs.org 或 nvm install 24 |
| Git | any | 系统自带或 git-scm.com |
# 进入可运行版目录
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。设置方式:
> 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
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,000,fork 破 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
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
claude /login
export CLAUDE_CODE_USE_BEDROCK=1 export AWS_ACCESS_KEY_ID="xxxxx" export AWS_SECRET_ACCESS_KEY="xxxxx"
export CLAUDE_CODE_USE_VERTEX=1
### Q: 隐藏功能怎么开启?
大部分隐藏功能通过**编译开关**控制(需修改构建脚本重新编译),部分可通过**环境变量**尝试:
bash
export CLAUDE_CODE_COORDINATOR_MODE=1
export CLAUDE_CODE_PROACTIVE=1
export CLAUDE_CODE_BRIEF=1
export ANTHROPIC_MODEL="claude-sonnet-4-20250514"
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16384 ```
2026 年 3 月 31 日,@Fried_rice 发现 @anthropic-ai/claude-code npm 包中的 cli.js.map source map 文件包含了完整的 sourcesContent,可以无损还原所有 4756 个 TypeScript 源文件。这是一个典型的构建产物泄露(build artifact leak)安全事件。
⚠️ 完整源码暴露意味着:
如果你在 2026 年 3 月 31 日 12:21 - 3:29 UTC 期间通过 npm 更新过 Claude Code:
axios 1.14.1 或 0.30.4,以及 plain-crypto-js 依赖| 指标 | 数值 |
|---|---|
| 源文件总数 | 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+ |