3800亿美元Claude Code 51万行源码泄露!利好这四类人。(附逆向教程+技术栈解密)

0 阅读5分钟

大家好,我是程序员蓝莓。

ClaudeCode Cli源码 在1天前泄露。

ClaudeCode 作为增速最快、最强AI,年收入190亿美元,估值3800亿美元。

竟然在最基础的 NPM 发布上“翻车”了。

image.png

从技术架构和行业趋势来看,这次泄露利好这四类人。

利好:国内外AI厂商。终端命令上,可以站上一个起跑线,剩下的还是模型的能力和进化能力。(抄麻了,自研**上线)。

利好:AI架构师和程序员。这是目前全球最高水准的 AI Agent 项目,我们可以从这 1900 个文件中,学习如何设计一个超大规模、多 Agent 协作的生产力工具。

利好:AI使用者。ClaudeCode对于国内封禁严格,国内开发者可以使用国内的厂商的了。从源码中学习如何使用提示词,使用skill,减少token。

利好:安全和运维。重大的代码泄露,各大企业会重新AI时代下,审视项目上线安全和运维(说白了,不能再裁了)。

接下来,从4个方面说起。

一、复盘泄露过程。(cli.js.map怎么逆向解析?)

二、哪些项目会生成 .js.map。(不犯同样错了)

三、ClaudeCode 技术栈揭秘

四、ClaudeCode 的 Prompt 设计

一、泄露过程:

-> ClaudeCode发布2.1.88版本,把cli.js.map上线到npm 。没有在.npmignore去掉cli.js.msp。下面图左边。

-> 然后被人逆向解析源码 发到github。

-> 现在ClaudeCode已经在修复2.1.89版本。下面图右边。

image.png

cli.js.map怎么逆向解析?

这个cli.js.map的源文件。

image.png

source-map 可以逆向还原。

image.png

还原目录:

image.png

二、还有哪些常见会出现打包.js.map。

只要用到source-map解析库库的地方都会。

source-map

source-map-support

@sentry/webpack-plugin

source-map-loader

还有常见的构建工具:

webpack esbuild vite

转存失败,建议直接上传图片文件

image.png 我们看一下package.json,claudeCode 使用的esbuild。

三、ClaudeCode 技术栈揭秘 - 代码开发规范和架构指南

Claude Code 是 Anthropic 的 CLI 工具,用于从终端与 Claude 进行交互。它支持文件编辑、shell 命令、git 工作流、代码审查、多代理协调、IDE 集成(VS Code、JetBrains)和模型上下文协议 (MCP)。

代码库: 约 1,900 个文件,超过 512,000 行 TypeScript 代码src/。

技术栈

image.png

关键文件

image.png

命名规则

image.png

入口点和初始化顺序

  1. src/main.tsx— Commander CLI 解析器,启动分析
  2. src/entrypoints/init.ts— 配置、遥测、OAuth、MDM
  3. src/entrypoints/cli.tsx— CLI 会话编排
  4. src/entrypoints/mcp.ts— MCP 服务器模式
  5. src/entrypoints/sdk/— 代理 SDK(程序化 API)
  6. src/replLauncher.tsx— REPL 会话启动器

启动时执行并行初始化:MDM 策略读取、钥匙串预取、功能标志检查,然后进行核心初始化。

四、 Prompt提示词

Claude Code 之所以强大,是因为它给 AI 设置了极其严密的“规矩”

Claude Code 或类似的智能编码工具

image.png

1. SkillTool的Prompt

image.png

当用户要求你执行任务时,检查是否有可用的技能匹配。技能提供专业能力和领域知识。

重要提示:

  • 可用技能列在对话的系统提示消息中

  • 当技能匹配用户请求时,这是一个阻塞性要求:在生成关于该任务的任何其他响应之前,必须先调用相关的技能工具

  • 绝不要只提及某个技能而不实际调用此工具

  • 不要调用已经正在运行的技能

  • 不要将此工具用于内置的 CLI 命令(如 /help、/clear 等)

  • 如果在当前对话轮次中看到话轮次

2.文件读取工具 (File Reader) 的Prompt

权限设定: “你可以读取本地任何文件。如果用户给了你一个路径,你就默认它是对的,哪怕文件不存在也行(报错会告诉你)。”

硬性约束:

    必须用绝对路径: 不许用 ./test.js这种模糊地址,必须用完整地址。

    限流保护: 默认一次只读一定行数(防止文件太大把AI的“记性”撑爆)。

    超强感知力(多模态):

能看图: “如果你看到图片(PNG/JPG),别慌,你能直接‘看’到它们。”

    能读PDF: “支持PDF,但如果超过10页,你必须分段读,一次最多20页。”

    能读Jupyter笔记本: “读 .ipynb时,要把代码、文字和运行结果一起读出来。”

    边界感: “你只能读文件,不能读目录。想看目录里有什么?去用Bash工具(命令行)。”

3. LSP工具的Skill Prompt

“如果你想深入理解代码之间的复杂关系,别光靠猜,去查LSP服务。”它告诉AI能做这些“高级操作”:

    goToDefinition: 帮我找这个函数到底是在哪行定义的?

    findReferences: 还有谁在用这个变量?

    hover: 鼠标指上去看看这个类的文档说明。

    incomingCalls/outgoingCalls: 这个函数被谁调用了?它又去调用了谁?(这叫调用链路追踪)。

坐标系设定: “使用时,你必须提供精确的‘经纬度’:文件路径+行号+字符位置。”

风险提示: “如果没有配置对应的编程语言服务器,这个功能会失效。”


结尾:这次泄露是AI圈的“开源狂欢”吗?

  • 对 Anthropic:损失核心机密,但倒逼安全升级。
  • 对开发者:免费学习顶级 AI 工具的架构和 Prompt 设计。
  • 对行业:AI 代码的“透明化”时代。

如果你也对AI,可以关注我,后面会持续分享AI相关信息。

以上内容如有错误,欢迎指正。