大家好,我是程序员蓝莓。
ClaudeCode Cli源码 在1天前泄露。
ClaudeCode 作为增速最快、最强AI,年收入190亿美元,估值3800亿美元。
竟然在最基础的 NPM 发布上“翻车”了。
从技术架构和行业趋势来看,这次泄露利好这四类人。
利好:国内外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版本。下面图右边。
cli.js.map怎么逆向解析?
这个cli.js.map的源文件。
source-map 可以逆向还原。
还原目录:
二、还有哪些常见会出现打包.js.map。
只要用到source-map解析库库的地方都会。
source-map
source-map-support
@sentry/webpack-plugin
source-map-loader
还有常见的构建工具:
webpack esbuild vite
我们看一下package.json,claudeCode 使用的esbuild。
三、ClaudeCode 技术栈揭秘 - 代码开发规范和架构指南
Claude Code 是 Anthropic 的 CLI 工具,用于从终端与 Claude 进行交互。它支持文件编辑、shell 命令、git 工作流、代码审查、多代理协调、IDE 集成(VS Code、JetBrains)和模型上下文协议 (MCP)。
代码库: 约 1,900 个文件,超过 512,000 行 TypeScript 代码src/。
技术栈
关键文件
命名规则
入口点和初始化顺序
- src/main.tsx— Commander CLI 解析器,启动分析
- src/entrypoints/init.ts— 配置、遥测、OAuth、MDM
- src/entrypoints/cli.tsx— CLI 会话编排
- src/entrypoints/mcp.ts— MCP 服务器模式
- src/entrypoints/sdk/— 代理 SDK(程序化 API)
- src/replLauncher.tsx— REPL 会话启动器
启动时执行并行初始化:MDM 策略读取、钥匙串预取、功能标志检查,然后进行核心初始化。
四、 Prompt提示词
Claude Code 之所以强大,是因为它给 AI 设置了极其严密的“规矩”
Claude Code 或类似的智能编码工具
1. SkillTool的Prompt
当用户要求你执行任务时,检查是否有可用的技能匹配。技能提供专业能力和领域知识。
重要提示:
-
可用技能列在对话的系统提示消息中
-
当技能匹配用户请求时,这是一个阻塞性要求:在生成关于该任务的任何其他响应之前,必须先调用相关的技能工具
-
绝不要只提及某个技能而不实际调用此工具
-
不要调用已经正在运行的技能
-
不要将此工具用于内置的 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相关信息。
以上内容如有错误,欢迎指正。