Claude Code 源碼泄漏,全部細節與始末
整理版優先睇
Claude Code 源碼因構建配置失誤全部洩露,揭露大量未公開功能與內部細節
2026年3月31日,安全研究員Chaofan Shou發現Anthropic嘅Claude Code npm包入麪包含一個source map文件,令到成個源碼——1,900個TypeScript源文件、512,000行代碼——全部公開下載。呢個洩露嘅具體版本係v2.1.88,幾個鐘頭之內就被多人備份到GitHub,最大嘅備份倉庫instructkr/claude-code一個鐘內獲得11,300 star同17,300 fork,fork數仲多過star數,反映社羣第一反應係「先存一份」。
今次事件同同日發生嘅axios供應鏈攻擊完全獨立,但因為都係npm生態,好多人撈亂咗討論。源碼洩露嘅直接原因好簡單:Claude Code用Bun做打包工具,Bun默認生成source map,而構建管線冇做好.map文件清理,將一個59.8 MB嘅source map一齊發佈到npm registry。Source map嘅sourcesContent字段包含每個原始源文件嘅完整內容,所以等於直接公開咗全部源碼。
從洩露源碼睇到,Claude Code嘅工程複雜度遠超一個普通CLI工具:入口main.tsx有785KB,完整代碼庫包含40幾個獨立工具模塊、一個46,000行嘅查詢引擎、多Agent編排系統,仲有多個未公開發佈嘅功能,例如常駐後台助手KAIROS、電子寵物Buddy、內部員工偽裝模式Undercover Mod…
- 核心結論:Claude Code源碼因為Bun默認生成source map而構建管線冇清理,導致npm包洩露完整源碼,屬典型配置失誤。
- 事件差異:同日發生axios供應鏈攻擊同Claude Code洩露,兩者獨立但引起混淆,後者係自身安全疏忽。
- 源碼啟發:Claude Code內部遠超表面——40+工具模塊、46K行查詢引擎、多Agent編排、KAIROS常駐助手、Buddy電子寵物等,顯示工程複雜度同未公開功能。
- 可行動點:開發者應檢查npm包構建配置,確保.map文件被.npmignore排除;Anthropic需加強CI/CD安全審計。
- 洩露方法:Source Map嘅sourcesContent字段直接包含所有原始源碼內容,無需解密即可讀取,Bun打包器默認開啟source map生成。
事件經過:npm上嘅一日兩單安全事故
2026年3月31日,安全研究員Chaofan Shou發現Anthropic嘅Claude Code npm包入面有一個59.8 MB嘅source map文件,指向完整源碼。幾個鐘頭之內,源碼就被多人備份到GitHub,最大嘅備份倉庫instructkr/claude-code一個鐘內獲得11,300 star同17,300 fork,fork數比star數仲多,反映大家第一反應係「先copy一份」。
同日npm生態仲發生咗另一單大事:axios被供應鏈攻擊。攻擊者劫持主要維護者jasonsaayman嘅npm賬號,發佈咗兩個帶毒版本,透過依賴plain-crypto-js投放遠程訪問木馬。雖然兩件事同一日發生喺同一個包管理器,但係完全獨立,只係時間上嘅巧合。
axios供應鏈攻擊與Claude Code洩露係兩件獨立事件
最大備份倉庫一小時內star突破一萬
洩露原因:Bun默認source map,構建管線冇清理
呢個問題唔係黑客攻擊,而係配置層面嘅人為失誤。五日之內Anthropic已經發生過兩次類似事件(3月26日CMS配置錯誤洩露未發佈資產),反映佢哋喺安全運維上有系統性漏洞。
Bun打包器默認生成source map
source map的sourcesContent字段暴露原始源碼
構建管線缺乏.map文件清理規則
源碼亮點:遠超CLI包裝器嘅工程規模
從洩露源碼睇到,Claude Code嘅複雜度遠超一個普通嘅終端AI助手。入口文件main.tsx有785KB,成個代碼庫包含40幾個獨立工具模塊、一個46,000行嘅查詢引擎、多Agent編排系統,仲有大量未公開發佈嘅功能。
query/目錄係最大模塊,負責所有LLM調用同編排
工具系統方面,每個能力封裝成獨立工具,定義輸入格式、權限模型同執行邏輯。權限系統分四個模式:default、auto、bypass、yolo,每個工具動作有低、中、高三個風險等級。查詢引擎採用模塊化提示詞設計,分靜態段同動態段,仲有個函數叫DANGEROUS_uncachedSystemPromptSection(),明顯係有人踩過坑。
- 1 已公開核心工具:文件讀寫編輯、Shell執行(支援沙箱)、文件搜索、網頁訪問、Jupyter筆記本編輯、子Agent調度、LSP通信、MCP資源訪問等
- 2 未公開功能:KAIROS常駐後台助手、Buddy電子寵物、Undercover內部員工偽裝模式、ULTRAPLAN遠程規劃模式等
仲有一個叫KAIROS嘅常駐助手模式,外部版本完全冇。佢唔需要你主動輸入,會定時自主決定行動,維護一個只追加嘅每日日誌文件,仲有三個專屬工具:SendUserFile、PushNotification、SubscribePR。
Coordinator多Agent編排系統分四個階段:Research、Synthesis、Implementation、Verification
Buddy電子寵物使用Mulberry32偽隨機數生成器,18個物種5個稀有度等級
Undercover模式防止內部員工在公共倉庫暴露內部信息
時間線與影響:五日兩次安全事故
Anthropic五日內經歷咗兩次配置相關嘅安全事故:3月26日CMS配置錯誤洩露3,000個未發佈資產(包括Mythos模型草稿),3月31日npm source map洩露全部源碼。兩次都係配置層面嘅人為失誤,冇涉及黑客攻擊。
- 3月26日:CMS配置錯誤,近3,000個未發佈資產(包括Claude Mythos模型草稿)被公開訪問
- 3月30-31日:axios供應鏈攻擊(獨立事件),攻擊者劫持npm賬號發佈帶毒版本
- 3月31日:Chaofan Shou發現Claude Code v2.1.88 source map洩露源碼,1小時內備份倉庫達11,300 star
- 截至發稿:Anthropic未就源碼洩露事件公開回應
claude-code/├── assistant/ # KAIROS 常駐助手模式├── bridge/ # IDE 橋接├── buddy/ # 電子寵物系統├── commands/ # Slash 命令(約50個)├── components/ # React 終端渲染組件(約140個)├── coordinator/ # 多Agent編排├── memdir/ # 持久化記憶目錄├── plugins/ # 插件系統├── query/ # 查詢引擎(46K行)├── services/ # 服務層(含autoDream)├── skills/ # 用戶自定義技能├── tools/ # 40+ 工具模塊├── utils/ # 工具函數(含undercover.ts)├── voice/ # 語音輸入├── main.tsx # 入口(785KB)├── QueryEngine.ts # 查詢引擎核心└── Tool.ts # 工具基類(29K行)
Anthropic五日內兩次配置失誤,反映安全運維系統性漏洞
源碼洩露令外界得悉Claude Code大量未公開功能,引起社羣廣泛討論
Leak
2026 年 3 月 31 號,安全研究員 Chaofan Shou 發現 Anthropic 嘅 Claude Code 全部原始碼經由 npm 包入面嘅一個 source map 檔案暴露咗喺公網上面

Chaofan Shou 喺 X 上公佈咗洩漏嘅發現
1,900 個 TypeScript 原始碼檔案,512,000 行代碼,由工具系統到權限模型到未發佈功能,全部以未混淆嘅原始形態公開可以下載。洩漏嘅具體版本係 @anthropic-ai/claude-code v2.1.88
幾個鐘之內,原始碼俾多人備份咗去 GitHub。其中最大嘅一個備份倉庫 instructkr/claude-code,一個鐘之內升到 11,300 star 同 17,300 fork,568 個 issue
一個鐘,一萬 star。fork 數多過 star 數,大家嘅第一反應係【先存一份】

instructkr/claude-code 嘅 star 增長曲線,一個鐘之內突破萬星

GitHub 倉庫,一個鐘 11.3k star, 17.3k fork, 568 issues
npm 嘅 3 月 31 號:兩件事,唔係一件
呢一日 npm 生態同時出咗兩件事。好多人見到「npm 投毒」「Claude Code 洩漏」撈埋一齊討論,容易混淆。呢度先理清楚
第一件事係 axios 俾供應鏈攻擊。axios 係 JavaScript 生態入面最常用嘅 HTTP 客戶端庫之一,每週下載量超過 1 億 次。攻擊者騎劫咗 axios 主要維護者 jasonsaayman 嘅 npm 賬號,將賬號郵箱改咗做一個 ProtonMail 地址,然後發佈咗兩個帶毒版本:1.14.1 和 0.30.4
呢兩個版本本身冇惡意代碼。佢哋做嘅嘢係喺依賴入面加咗一個叫 plain-crypto-js 嘅包,呢個包會喺安裝時自動執行一個腳本,向你部機投放一個遠程訪問木馬(RAT),支援 macOS、Windows、Linux 三個平台。執行完之後自動刪除自己,換成乾淨嘅 package.json
呢次攻擊嘅時間線好精密:3 月 30 號先發布咗一個乾淨嘅 plain-crypto-js@4.2.0 建立可信度,18 個鐘之後發佈帶毒嘅 4.2.1 版本,再過 20 分鐘發佈帶毒嘅 axios@1.14.1,又過 39 分鐘發佈 axios@0.30.4。安全公司 StepSecurity 稱呢個係針對 npm Top 10 包嘅「最具操作精密度的供應鏈攻擊之一」
帶毒版本喺 npm 上存活咗大約兩到三個鐘之後俾人移除
第二件事係 Claude Code 原始碼洩漏。呢個同 axios 投毒冇關係,係兩個完全獨立嘅事件。只不過啱啱好發生喺同一日、同一個包管理器上
同一日,同一個包管理器,一個俾人攻擊,一個自己漏咗
點樣洩漏嘅
洩漏嘅原因好簡單
當你用 JavaScript/TypeScript 開發一個 npm 包嗰陣,構建工具通常會生成 source map 檔案(.map 檔案)。呢個檔案嘅用途係將打包壓縮後嘅代碼映射返去原始原始碼,方便調試嗰陣定位問題。source map 檔案入面有一個 sourcesContent 字段,直接包含咗每一個原始源檔案嘅完整內容
正常情況下,.map 檔案唔應該出現喺發佈到 npm 嘅生產包入面。你需要喺 .npmignore 入面排除佢哋,或者喺構建配置入面關閉 source map 生成
Claude Code 用 Bun 作為打包工具。Bun 嘅打包器默認生成 source map,除非你顯式熄咗。呢次洩漏嘅直接原因,根據社區分析,好大機會係構建流水線入面冇做好 .map 檔案嘅清理,發佈嗰陣將一個 59.8 MB 嘅 source map 檔案一齊發咗去 npm registry

Claude Code npm 包入面暴露嘅原始碼檔案列表
原始碼入面有啲咩
從外面睇,Claude Code 係一個終端裏面嘅 AI 編程助手,你喺命令行輸入自然語言,佢幫你改程式碼、執行命令、管理 Git 工作流
從原始碼睇,呢個工具嘅工程複雜程度遠超一個 CLI 包裝器。入口檔案 main.tsx 有 785KB,整個程式碼庫包含 40 幾 個獨立嘅工具模塊、一個 46,000 行嘅查詢引擎、多 Agent 編排系統,以及多個尚未公開發布嘅功能
工具系統:40 幾個權限控制嘅工具
Claude Code 嘅每一項能力都封裝成一個獨立嘅工具模塊,放喺 tools/ 目錄底下。每個工具定義咗自己嘅輸入格式、權限模型同執行邏輯
已公開嘅核心工具包括:檔案讀寫同編輯、Shell 執行(支援沙箱)、檔案搜尋、網頁訪問、Jupyter 筆記本編輯、子 Agent 調度、LSP 通信、MCP 資源訪問等
工具嘅權限系統分為四個模式:default(互動式逐次問用戶)、auto(透過 ML 分類器自動決定)、bypass(跳過檢查)、yolo(拒絕所有)。每個工具動作分為低、中、高三個風險等級
查詢引擎:46,000 行
query/ 目錄係整個程式碼庫入面最大嘅單一模塊,負責所有 LLM API 調用、串流傳輸、緩存同編排
系統提示詞採用模塊化設計,將提示詞分成靜態段(可以跨用戶緩存)同動態段(每次會話獨立生成)。有一個函數叫 DANGEROUS_uncachedSystemPromptSection(),從命名就睇得出有人喺呢度踩過坑
Dream 記憶系統:Claude 嘅「發夢」
services/autoDream/ 底下有一個叫 autoDream 嘅後台記憶整合引擎
佢嘅工作方式係咁嘅:當三個條件同時滿足嗰陣(距離上次執行超過 24 小時、至少經歷咗 5 次會話、成功獲取咗整合鎖),系統會啟動一個後台子 Agent,對記憶檔案做一次整理。呢個子 Agent 只有唯讀權限,唔可以修改項目檔案
整理分四步:先讀取記憶目錄同現有記憶檔案,然後從最近嘅日誌同會話中提取新資訊,接着更新或合併記憶檔案(將相對日期轉成絕對日期、刪除過時資訊),最後做裁剪,保持喺 200 行以內
原始碼入面嘅提示詞:「你正在發一次夢,對記憶檔案做一次反思性嘅回顧。將你最近學到嘅嘢整合成持久嘅、組織良好嘅記憶,方便未來嘅會話快速定位」
KAIROS 模式:長駐後台嘅 Claude
assistant/ 目錄底下有一個叫 KAIROS 嘅模式,外部版本入面完全唔存在
從程式碼睇,KAIROS 係一個持續運行嘅後台助手。佢唔需要你主動輸入,會通過定時嘅 訊號自主決定係咪採取行動。佢維護住一個只追加嘅每日日誌檔案,記錄觀察、決策同操作
呢個模式有一個 15 秒 嘅阻塞預算限制:任何可能打斷用戶工作流程嘅主動操作,如果執行時間超過 15 秒,會被延後
KAIROS 有三個普通 Claude Code 冇嘅專屬工具:SendUserFile(俾用戶推送檔案)、PushNotification(發推送通知)、SubscribePR(訂閲 Pull Request 動態)
Coordinator 模式:多 Agent 編排
coordinator/ 目錄實現咗一個完整嘅多 Agent 編排系統。開咗之後,Claude Code 會由單個 Agent 變成一個調度器,同時管理多個工作 Agent 並行執行任務
工作流程分四個階段:Research(多個 Agent 並行調查程式碼庫)、Synthesis(調度器彙總發現、制定方案)、Implementation(Agent 按方案執行修改並提交)、Verification(驗證修改是否生效)
調度器提示詞入面有一條規則:「唔好話"根據你嘅發現",去讀實際嘅發現,然後精確咁講明要做啲咩」
ULTRAPLAN:遠端規劃
一個將複雜規劃任務卸載到遠端雲容器嘅模式。佢會啟動一個運行 Opus 4.6 嘅遠端會話,俾佢最多 30 分鐘 思考時間。本地終端每 3 秒輪詢一次結果,同時有一個瀏覽器界面俾你實時查看同審批規劃方案
Buddy:終端入面嘅電子寵物
buddy/ 目錄底下有一個完整嘅電子寵物系統
佢用 Mulberry32 偽隨機數生成器,用你嘅 userId 哈希值作為種子,確定性咁生成一個寵物。18 個物種分為 5 個稀有度等級:普通(60%)、唔常見(25%)、稀有(10%)、史詩(4%)、傳說(1%)。除此之外仲有獨立嘅 1% 閃光概率
每個寵物有 5 項屬性(DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK),以 5 行高、12 字符闊嘅 ASCII 動畫渲染喺你嘅輸入框旁邊
從程式碼入面嘅時間引用嚟睇,計劃喺 2026 年 5 月正式上線
Undercover Mode:內部員工嘅偽裝模式
utils/undercover.ts 入面有一個功能,用嚟防止 Anthropic 內部員工喺公共倉庫工作嗰陣暴露內部資訊
開咗之後,系統提示詞入面會注入一段指令,要求 Claude 喺 commit message 同 PR 描述入面唔好出現:內部模型代號(例如 Capybara、Tengu 等動物名)、未發佈嘅版本號、內部項目名稱,以及「Claude Code」呢個名本身
程式碼註釋寫住:「如果我哋唔肯定係咪喺內部倉庫入面,就保持 undercover」
其他發現
→內部代號:Claude Code 嘅內部項目代號係 Tengu(天狗),大量特性開關以 tengu_ 做前綴。migrations 目錄仲暴露咗其他模型代號:Fennec(耳廓狐,某個 Opus 版本嘅代號)
→Fast Mode 嘅內部名稱係 Penguin Mode:API 端點字面寫住 claude_code_penguin_mode
→Computer Use 嘅內部代號係 Chicago:基於 @ant/computer-use-mcp 實現,限 Max/Pro 訂閲用戶使用
→ 未發佈嘅 Beta 頭資訊:包括 redact-thinking(隱藏思考過程)、afk-mode(離開模式)、advisor-tool(顧問工具)等
→ 客戶端認證:每個 API 請求都帶有 x-anthropic-billing-header,用於驗證請求來自正版 Claude Code 安裝
五日,兩次洩漏
呢個已經係 Anthropic 五日內嘅第二次安全事故喇
3 月 26 號,Fortune 報道稱 Anthropic 嘅 CMS(內容管理系統)發生配置錯誤,導致接近 3,000 個未發佈嘅資產可以俾公開訪問。呢啲資產入麪包含咗一篇關於未發佈模型 Claude Mythos(內部代號 Capybara)嘅草稿網誌文章,以及一個面向歐洲 CEO 嘅閉門活動細節
Anthropic 確認咗 Mythos 模型嘅存在,稱佢係「能力上嘅階躍變化」同「我哋到目前為止最強嘅模型」。根據洩漏嘅草稿,Mythos 定位喺 Opus 之上,作為一個新嘅模型層級
Anthropic 將 CMS 事件歸因於「外部 CMS 工具嘅人為操作失誤」
5 日之後,npm source map 洩漏咗全部原始碼
兩次事故嘅共同點:都係配置層面嘅錯誤,都冇涉及黑客攻擊或惡意行為
程式碼結構一覽
claude-code/
├── assistant/ # KAIROS 長駐助手模式
├── bridge/ # IDE 橋接(VS Code / JetBrains)
├── buddy/ # 電子寵物系統
├── commands/ # Slash 命令(約 50 個)
├── components/ # React 終端渲染組件(約 140 個)
├── coordinator/ # 多 Agent 編排
├── memdir/ # 持久化記憶目錄
├── plugins/ # 插件系統
├── query/ # 查詢引擎(46K 行,最大模塊)
├── services/ # 服務層(含 autoDream 記憶整合)
├── skills/ # 用戶自定義技能
├── tools/ # 40+ 工具模塊
├── utils/ # 工具函數(含 undercover.ts)
├── voice/ # 語音輸入
├── main.tsx # 入口(785KB)
├── QueryEngine.ts # 查詢引擎核心
└── Tool.ts # 工具基類(29K 行)
事件時間軸
3 月 26 號
Anthropic CMS 配置錯誤,大約 3,000 個未發佈資產(包括 Mythos 模型草稿)被公開訪問。Fortune 報道之後 Anthropic 修復
3 月 30 號 05:57 UTC
攻擊者發佈乾淨版本 plain-crypto-js@4.2.0
3 月 30 號 23:59 UTC
攻擊者發佈帶毒版本 plain-crypto-js@4.2.1
3 月 31 號 00:21 UTC
使用被騎劫嘅 npm 賬號發佈帶毒嘅 axios@1.14.1
3 月 31 號 01:00 UTC
發佈帶毒嘅 axios@0.30.4
3 月 31 號 大約 03:15 UTC
帶毒嘅 axios 版本從 npm 移除
3 月 31 號
Chaofan Shou 發現 @anthropic-ai/claude-code v2.1.88 包含 source map 檔案,指向完整原始碼
3 月 31 號(1 個鐘之內)
備份倉庫 instructkr/claude-code 突破 11,000 star,17,000 fork
截至發稿,Anthropic 尚未就原始碼洩漏事件發表公開回應
「唔好,有人 clone 咗!」
Leak
2026 年 3 月 31 日,安全研究員 Chaofan Shou 發現 Anthropic 的 Claude Code 全部源碼通過 npm 包裏的一個 source map 文件暴露在了公網上

Chaofan Shou 在 X 上公佈了泄露發現
1,900 個 TypeScript 源文件,512,000 行代碼,從工具系統到權限模型到未發佈功能,全部以未混淆的原始形態公開可下載。泄露的具體版本是 @anthropic-ai/claude-code v2.1.88
幾個小時之內,源碼被多人備份到 GitHub。其中最大的一個備份倉庫 instructkr/claude-code,一個小時內漲到 11,300 star 和 17,300 fork,568 個 issue
一個小時,一萬 star。fork 數比 star 數還多,大家的第一反應是【先存一份】

instructkr/claude-code 的 star 增長曲線,一小時內突破萬星

GitHub 倉庫,一小時 11.3k star, 17.3k fork, 568 issues
npm 的 3 月 31 日:兩件事,不是一件
這一天 npm 生態同時出了兩件事。很多人看到「npm 投毒」「Claude Code 泄露」混在一起討論,容易搞混。這裏先理清楚
第一件事是 axios 被供應鏈攻擊。axios 是 JavaScript 生態裏最常用的 HTTP 客戶端庫之一,每週下載量超過 1 億 次。攻擊者劫持了 axios 主要維護者 jasonsaayman 的 npm 賬號,把賬號郵箱改成了一個 ProtonMail 地址,然後發佈了兩個帶毒版本:1.14.1 和 0.30.4
這兩個版本本身沒有惡意代碼。它們做的事情是在依賴里加了一個叫 plain-crypto-js 的包,這個包會在安裝時自動執行一個腳本,往你的機器上投放一個遠程訪問木馬(RAT),支持 macOS、Windows、Linux 三個平台。執行完之後自動刪除自身,替換成乾淨的 package.json
這次攻擊的時間線很精密:3 月 30 日先發布了一個乾淨的 plain-crypto-js@4.2.0 建立可信度,18 小時後發佈帶毒的 4.2.1 版本,再過 20 分鐘發佈帶毒的 axios@1.14.1,又過 39 分鐘發佈 axios@0.30.4。安全公司 StepSecurity 稱這是針對 npm Top 10 包的「最具操作精密度的供應鏈攻擊之一」
帶毒版本在 npm 上存活了大約兩到三個小時後被移除
第二件事是 Claude Code 源碼泄露。這跟 axios 投毒沒有關係,是兩個完全獨立的事件。只不過恰好發生在同一天、同一個包管理器上
同一天,同一個包管理器,一個被攻擊,一個自己漏了
怎麼泄露的
泄露的原因很簡單
當你用 JavaScript/TypeScript 開發一個 npm 包時,構建工具通常會生成 source map 文件(.map 文件)。這個文件的用途是把打包壓縮後的代碼映射回原始源碼,方便調試時定位問題。source map 文件裏有一個 sourcesContent 字段,直接包含了每一個原始源文件的完整內容
正常情況下,.map 文件不應該出現在發佈到 npm 的生產包裏。你需要在 .npmignore 裏排除它們,或者在構建配置裏關閉 source map 生成
Claude Code 使用 Bun 作為打包工具。Bun 的打包器默認生成 source map,除非你顯式關掉。這次泄露的直接原因,據社區分析,大概率是構建流水線裏沒有做好 .map 文件的清理,發佈時把一個 59.8 MB 的 source map 文件一起發到了 npm registry

Claude Code npm 包中暴露的源文件列表
源碼裏面有什麼
從外面看,Claude Code 是一個終端裏的 AI 編程助手,你在命令行裏輸入自然語言,它幫你改代碼、跑命令、管理 Git 工作流
從源碼看,這個工具的工程複雜度遠超一個 CLI 包裝器。入口文件 main.tsx 有 785KB,整個代碼庫包含 40 多 個獨立的工具模塊、一個 46,000 行的查詢引擎、多 Agent 編排系統,以及多個尚未公開發布的功能
工具系統:40 多個權限控制的工具
Claude Code 的每一項能力都被封裝成一個獨立的工具模塊,放在 tools/ 目錄下。每個工具定義了自己的輸入格式、權限模型和執行邏輯
已公開的核心工具包括:文件讀寫和編輯、Shell 執行(支持沙箱)、文件搜索、網頁訪問、Jupyter 筆記本編輯、子 Agent 調度、LSP 通信、MCP 資源訪問等
工具的權限系統分為四個模式:default(交互式逐次詢問用戶)、auto(通過 ML 分類器自動決策)、bypass(跳過檢查)、yolo(拒絕所有)。每個工具動作被分為低、中、高三個風險等級
查詢引擎:46,000 行
query/ 目錄是整個代碼庫裏最大的單一模塊,負責所有 LLM API 調用、流式傳輸、緩存和編排
系統提示詞采用模塊化設計,把提示詞分成靜態段(可跨用戶緩存)和動態段(每次會話獨立生成)。有一個函數叫 DANGEROUS_uncachedSystemPromptSection(),從命名就能看出來有人在這上面踩過坑
Dream 記憶系統:Claude 的「做夢」
services/autoDream/ 下有一個叫 autoDream 的後台記憶整合引擎
它的工作方式是這樣的:當三個條件同時滿足的時候(距上次執行超過 24 小時、至少經歷了 5 次會話、成功獲取了整合鎖),系統會啓動一個後台子 Agent,對記憶文件做一次整理。這個子 Agent 只有只讀權限,不能修改項目文件
整理分四步:先讀取記憶目錄和現有記憶文件,然後從最近的日誌和會話中提取新信息,接着更新或合併記憶文件(把相對日期轉成絕對日期、刪除過時信息),最後做裁剪,保持在 200 行以內
源碼裏的提示詞:「你正在做一次夢,對記憶文件做一次反思性的回顧。把你最近學到的東西整合成持久的、組織良好的記憶,方便未來的會話快速定位」
KAIROS 模式:常駐後台的 Claude
assistant/ 目錄下有一個叫 KAIROS 的模式,外部版本里完全不存在
從代碼看,KAIROS 是一個持續運行的後台助手。它不需要你主動輸入,會通過定時的 信號自主決定是否採取行動。它維護着一個只追加的每日日誌文件,記錄觀察、決策和操作
這個模式有一個 15 秒 的阻塞預算限制:任何可能打斷用戶工作流的主動操作,如果執行時間超過 15 秒,會被延後
KAIROS 有三個普通 Claude Code 沒有的專屬工具:SendUserFile(給用戶推送文件)、PushNotification(發推送通知)、SubscribePR(訂閲 Pull Request 動態)
Coordinator 模式:多 Agent 編排
coordinator/ 目錄實現了一個完整的多 Agent 編排系統。開啓後,Claude Code 會從單個 Agent 變成一個調度器,同時管理多個工作 Agent 並行執行任務
工作流程分四個階段:Research(多個 Agent 並行調查代碼庫)、Synthesis(調度器彙總發現、制定方案)、Implementation(Agent 按方案執行修改並提交)、Verification(驗證修改是否生效)
調度器提示詞裏有一條規則:「不要說"根據你的發現",去讀實際的發現,然後精確地說明該做什麼」
ULTRAPLAN:遠程規劃
一個把複雜規劃任務卸載到遠程雲容器的模式。它會啓動一個運行 Opus 4.6 的遠程會話,給它最多 30 分鐘 思考時間。本地終端每 3 秒輪詢一次結果,同時有一個瀏覽器界面讓你實時查看和審批規劃方案
Buddy:終端裏的電子寵物
buddy/ 目錄下有一個完整的電子寵物系統
它使用 Mulberry32 偽隨機數生成器,用你的 userId 哈希值作為種子,確定性地生成一個寵物。18 個物種分為 5 個稀有度等級:普通(60%)、不常見(25%)、稀有(10%)、史詩(4%)、傳說(1%)。在此之外還有獨立的 1% 閃光概率
每個寵物有 5 項屬性(DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK),以 5 行高、12 字符寬的 ASCII 動畫渲染在你的輸入框旁邊
從代碼裏的時間引用來看,計劃在 2026 年 5 月正式上線
Undercover Mode:內部員工的偽裝模式
utils/undercover.ts 裏有一個功能,用來防止 Anthropic 內部員工在公共倉庫工作時暴露內部信息
開啓後,系統提示詞裏會注入一段指令,要求 Claude 在 commit message 和 PR 描述中不要出現:內部模型代號(比如 Capybara、Tengu 等動物名)、未發佈的版本號、內部項目名稱,以及「Claude Code」這個名字本身
代碼註釋寫着:「如果我們不確定是不是在內部倉庫裏,就保持 undercover」
其他發現
→內部代號:Claude Code 的內部項目代號是 Tengu(天狗),大量特性開關以 tengu_ 為前綴。migrations 目錄還暴露了其他模型代號:Fennec(耳廓狐,某個 Opus 版本的代號)
→Fast Mode 的內部名稱是 Penguin Mode:API 端點字面寫着 claude_code_penguin_mode
→Computer Use 的內部代號是 Chicago:基於 @ant/computer-use-mcp 實現,限 Max/Pro 訂閲用戶使用
→ 未發佈的 Beta 頭信息:包括 redact-thinking(隱藏思考過程)、afk-mode(離開模式)、advisor-tool(顧問工具)等
→ 客戶端認證:每個 API 請求都帶有 x-anthropic-billing-header,用於驗證請求來自正版 Claude Code 安裝
五天,兩次泄露
這已經是 Anthropic 五天內的第二次安全事故了
3 月 26 日,Fortune 報道稱 Anthropic 的 CMS(內容管理系統)發生配置錯誤,導致將近 3,000 個未發佈的資產可以被公開訪問。這些資產裏包含了一篇關於未發佈模型 Claude Mythos(內部代號 Capybara)的草稿博客文章,以及一個面向歐洲 CEO 的閉門活動細節
Anthropic 確認了 Mythos 模型的存在,稱它是「能力上的階躍變化」和「我們迄今為止最強的模型」。據泄露的草稿,Mythos 定位在 Opus 之上,作為一個新的模型層級
Anthropic 將 CMS 事件歸因於「外部 CMS 工具的人為操作失誤」
5 天后,npm source map 泄露了全部源碼
兩次事故的共同點:都是配置層面的錯誤,都沒有涉及黑客攻擊或惡意行為
代碼結構一覽
claude-code/
├── assistant/ # KAIROS 常駐助手模式
├── bridge/ # IDE 橋接(VS Code / JetBrains)
├── buddy/ # 電子寵物系統
├── commands/ # Slash 命令(約 50 個)
├── components/ # React 終端渲染組件(約 140 個)
├── coordinator/ # 多 Agent 編排
├── memdir/ # 持久化記憶目錄
├── plugins/ # 插件系統
├── query/ # 查詢引擎(46K 行,最大模塊)
├── services/ # 服務層(含 autoDream 記憶整合)
├── skills/ # 用戶自定義技能
├── tools/ # 40+ 工具模塊
├── utils/ # 工具函數(含 undercover.ts)
├── voice/ # 語音輸入
├── main.tsx # 入口(785KB)
├── QueryEngine.ts # 查詢引擎核心
└── Tool.ts # 工具基類(29K 行)
事件時間軸
3 月 26 日
Anthropic CMS 配置錯誤,約 3,000 個未發佈資產(包括 Mythos 模型草稿)被公開訪問。Fortune 報道後 Anthropic 修復
3 月 30 日 05:57 UTC
攻擊者發佈乾淨版本 plain-crypto-js@4.2.0
3 月 30 日 23:59 UTC
攻擊者發佈帶毒版本 plain-crypto-js@4.2.1
3 月 31 日 00:21 UTC
使用被劫持的 npm 賬號發佈帶毒的 axios@1.14.1
3 月 31 日 01:00 UTC
發佈帶毒的 axios@0.30.4
3 月 31 日 約 03:15 UTC
帶毒的 axios 版本從 npm 移除
3 月 31 日
Chaofan Shou 發現 @anthropic-ai/claude-code v2.1.88 包含 source map 文件,指向完整源碼
3 月 31 日(1 小時內)
備份倉庫 instructkr/claude-code 突破 11,000 star,17,000 fork
截至發稿,Anthropic 尚未就源碼泄露事件發表公開回應
“不好,有人 clone 了!”