thtskaran/claude-code-analysis
GitHub: thtskaran/claude-code-analysis
对 Claude Code 意外暴露的 51 万行 TypeScript 源码进行完整逆向工程,涵盖 82 份文档和 15 张架构图,从隐藏安全分类器到多智能体编排的每个子系统都被详细映射。
Stars: 3 | Forks: 0
# Claude Code 实际上是如何工作的
[](https://github.com/instructkr/claude-code/stargazers)
## 那些他们没有告诉你的事
Claude Code 不仅仅是一个在终端聊天的封装器。它是一个包含 1,902 个文件的 TypeScript 单体应用,自带 React 渲染引擎、多智能体集群系统、两阶段 AI 安全分类器,以及 88 个隐藏的功能开关——其中许多是为尚未存在的功能准备的。
以下是我们在源码中发现的一些被埋藏的内容:
**有一个隐藏的 AI 会对你的每一次命令运行进行评判。** 在 Claude Code 执行工具调用之前,一个名为 "YOLO" 的独立分类器会运行两阶段评估。第一阶段是快速的 64 token 扫描。如果发现可疑情况,第二阶段会进行完整的 4,096 token 推理过程,以决定:允许、拒绝或询问用户。其温度设定为零。它倾向于拦截。 → [完整解析](05-security/README.md)
**你的对话会被悄悄压缩。** 当上下文压力超过 93% 时,Claude Code 会运行六种压缩策略之一——从轻量级的微压缩(清除旧的工具结果)到派生一个完整的子进程,将你的对话总结为包含 9 个部分的格式。你根本察觉不到这个过程的发生。 → [压缩工作原理](04-systems/README.md)
**它内置了一个完整的终端 React 渲染引擎。** 不是一个简单的 TUI 库。而是一个自定义的 React Fiber 协调器、一个 Yoga 弹性布局引擎、一个包含打包 Int32Arrays 的屏幕缓冲区,以及一个在空闲滚动时能将终端输出从 10KB 减少到 50 字节的帧差分系统。共 7,743 行渲染代码。 → [Ink 管道深度剖析](01-architecture/README.md)
**多智能体“集群”通过磁盘上的文件进行通信。** 当 Claude Code 生成并行智能体时,它们通过位于 `~/.claude/work/ipc/` 的、轮询间隔为 500ms 的基于文件的邮箱系统进行协调。领导者写入 JSON 任务消息,跟随者获取这些消息。这里存在一个有记录的竞态条件,恶意任务可能会劫持权限桥。 → [集群架构](07-agents/README.md)
**88+ 个功能开关控制着未发布的功能。** 诸如 `experimental_agents`、`enable_voice_input`、`unsafe_bash_allowed` 和 `plugin_marketplace` 等构建时标志揭示了正在开发中的功能。600 多个以 `tengu_` 为前缀的运行时标志通过 GrowthBook 进行评估。死代码消除会在构建时剥离未激活的路径。 → [功能开关矩阵](08-history/README.md)
**系统提示词包含 30-000-40,000 token 的隐藏指令。** 分为 7 个静态部分(全局缓存)和 13 个动态部分(每次会话重建),在 MCP 指令之后设有一个故意破坏缓存的边界,用于强制生成新的缓存块。 → [提示词顺序图](03-prompts/README.md)
## 这个仓库是什么
82 份分析文档。超过 112,000 行的研究。15 张架构图。映射了每一个主要子系统,从引导序列到权限引擎。
这不是一份浅尝辄止的概述——它是对生产级 AI 智能体底层真实工作原理的一次完整架构重建。

## 将其作为技能使用(即插即用)
这个仓库不仅仅是为了阅读。**安装 `/internals` 技能**,你的 Claude Code 智能体就会运行多轮深度审计,根据 Anthropic 的生产模式来检查你的代码库。
```
mkdir -p ~/.claude/skills/internals && curl -sL \
https://raw.githubusercontent.com/thtskaran/claude-code-analysis/master/.claude/skills/internals/SKILL.md \
-o ~/.claude/skills/internals/SKILL.md
```
**这不是一次性总结。** 该技能会运行一个 ReAct 循环——它会读取你的代码,从这个仓库中获取匹配的 Anthropic 文档,创建一个暂存区以便在多轮之间思考,利用新知识重新阅读你的代码(你总会遗漏第一次没看清的东西),跨越子系统跟踪文档链,并不断循环直到每一个未决问题都得到解答。只有这样,它才会交付结果——并附带具体的阈值、故障模式和准确的更改说明。
该技能每次运行时都会获取实时的 [TREE.md](TREE.md) 索引,因此随着这个仓库的增长,它始终保持最新。一次安装,无需更新。

→ **[完整安装指南](INSTALL-SKILL.md)**
## 按你想学的内容浏览
### “它是如何启动的?”
10 步引导序列,4 个入口点(CLI、SDK、MCP、Sandbox),10 种启动模式,以及并行预取如何在 1.2-1.8 秒内准备好交互模式。
→ **[架构与引导](01-architecture/)** (12 份文档,约 14,200 行)
### “它如何与 API 通信?”
请求组装,跨 4 个云后端(Anthropic、AWS Bedrock、GCP Vertex、Azure)的提供者路由,SSE 流式传输,带抖动的指数退避重试,以及 token 成本跟踪。
→ **[核心系统](04-systems/)** (19 份文档,约 24,800 行)
### “它如何决定运行什么才是安全的?”
6 种权限模式,规则级联(项目 → 全局 → 托管),YOLO 两阶段分类器,44 条 gitleaks 密钥扫描规则,以及一个手工编写的递归下降 bash 解析器,该解析器能标记 15 种危险的 AST 节点类型。
→ **[安全与权限](05-security/)** (10 份文档,约 11,200 行)
### “工具和插件是如何工作的?”
150 多个命令,3 种调度类型(prompt/local/local-jsx),带有 DFS 依赖解析的 6 阶段插件生命周期,同形异义词攻击检测,以及用于企业控制的 5 个作用域级别。
→ **[工具与插件](06-tools-and-plugins/)** (14 份文档,约 19,600 行)
### “智能体如何协调?”
领导者-跟随者集群,基于文件的 IPC,带有 XML 任务通知的协调器模式,通过 git bundles 实现的会话传送,以及带有写时复制分叉的投机执行。
→ **[智能体编排](07-agents/)** (8 份文档,约 11,200 行)
### “它遵循了哪些隐藏指令?”
完整的系统提示词层次结构,指令优先级规则,7 个静态 + 13 个动态部分,缓存策略,以及塑造 Claude 行为的定义。
→ **[提示词与指令](03-prompts/)** (11 份文档,约 18,500 行)
### “源代码是如何提取的?”
用于对快照进行分类的方法论、工具、验证技术和完整性检查。
→ **[提取方法论](02-master-extraction/)** (8 份文档,约 9,100 行)
### “接下来会有什么功能?”
88 个构建时功能开关,600 多个运行时控制门,死代码消除模式,以及版本更新日志。
→ **[功能演进](08-history/)** (6 份文档,约 4,100 行)
## 架构图
每个主要子系统都有对应的图表。点击查看全尺寸。
| | | |
|:---:|:---:|:---:|
|  |  |  |
| **系统架构** | **引导序列** | **渲染管道** |
|  |  |  |
| **API 客户端管道** | **内存系统** | **压缩状态机** |
|  |  |  |
| **权限引擎** | **YOLO 分类器** | **命令调度** |
|  |  |  |
| **插件生命周期** | **流执行器** | **集群编排** |
|  |  |  |
| **提示词顺序** | **压缩层级** | **智能体循环** |
|  | | |
| **[/internals 技能循环](#use-it-as-a-skill-plug--play)** | | |
## 数据
| 指标 | 数量 |
|--------|-------|
| 分析的源文件数 | 1,902 |
| TypeScript 行数 | 512,000+ |
| 分析文档数 | 82 |
| 分析行数 | 112,000+ |
| 架构图 | 16 |
| 记录的功能开关 | 88+ |
| 编目的 React hooks | 104 |
| 映射的命令和工具 | 150+ |
## 技术栈(Claude Code 是用什么构建的)
Bun 运行时,严格模式下的 TypeScript,用于终端 UI 的 React + Ink,用于 CLI 解析的 Commander.js,用于 schema 验证的 Zod v4,用于代码搜索的 ripgrep,用于协议集成的 MCP SDK + LSP,用于遥测的 OpenTelemetry + gRPC,用于功能开关的 GrowthBook,以及用于身份验证的带有 macOS Keychain 的 OAuth 2.0。
## 源代码是如何公开的
2026 年 3 月 31 日,安全研究员 [Chaofan Shou](https://x.com/AntiFried_rice) 注意到 Claude Code 的 npm 包中包含一个引用了 Anthropic R2 存储桶中未混淆的 TypeScript 源代码的 `.map` 文件——这使得整个 `src/` 树变得公开可下载。这不是一次泄露或黑客攻击。而是一次打包疏忽。
这个仓库是那个快照的研究档案。原始源代码仍归 Anthropic 所有。我们与 Anthropic 没有关联。
## 免责声明
这是一个教育和防御性安全研究项目。它记录了一个真实的源代码暴露事件,旨在研究软件供应链安全和生产级 AI 智能体架构。原始的 Claude Code 源代码是 Anthropic 的独有财产。本仓库未受 Anthropic 的附属、认可或维护。作者对滥用行为不承担任何责任。
如果这有助于你了解 AI 智能体的底层工作原理,请考虑给它一个 ⭐
标签:Claude Code, DLL 劫持, DNS 反向解析, PyRIT, Python工具, React Fiber, TypeScript, Yoga布局引擎, 上下文压缩, 云资产清单, 人工智能安全, 代码审查, 合规性, 多智能体系统, 大语言模型, 安全分类器, 安全插件, 技术揭秘, 文件系统邮箱, 深度学习安全, 源码分析, 用户代理, 系统架构, 系统设计, 终端渲染, 进程间通信, 逆向工程