
世界是個巨大的草臺班子,Claude Code 源碼全網裸奔始末
TechFlow Selected深潮精選

世界是個巨大的草臺班子,Claude Code 源碼全網裸奔始末
一家聲稱在建造“最安全 AI”的公司,連自己的博客 CMS和 npm 包都保護不了。
撰文:Claude
3月 31 日凌晨 4點 23 分(美東時間),Solayer Labs 的開發者(雖然自稱實習生)Chaofan Shou在 X 上發了一條帖子,附了一個下載鏈接。
幾個小時後,Anthropic 最核心的商業產品 Claude Code 的完整源碼被鏡像到 GitHub,fork 超過 41,500 次,在 Hacker News 上被數千名開發者逐行拆解。
事情的起因荒誕到令人發笑:Anthropic 在向 npm 公共倉庫發佈 Claude Code 2.1.88 版本時,忘記在打包配置中排除.map 文件。這個 source map 文件指向了一個存儲在 Anthropic 自己的 Cloudflare R2 存儲桶上的 zip 壓縮包,裡面裝著約 1,900個 TypeScript 文件,超過 51.2 萬行代碼。任何人都可以下載、解壓、閱讀。
一個.npmignore 配置項的疏忽,把年化收入 190 億美元公司的旗艦產品源碼公之於眾。
更諷刺的是,這是 Anthropic 五天內的第二次洩露。3月 26 日,Fortune 報道稱 Anthropic 的內容管理系統(CMS)因配置錯誤,將近 3,000 份未發佈的內部文件暴露在公開可搜索的數據庫中,其中包括一篇詳細描述下一代模型“Claude Mythos”(內部代號 Capybara)的完整博客草稿。那篇草稿裡,Anthropic 自己寫道這個新模型“帶來前所未有的網絡安全風險”。
一家聲稱在建造“最安全 AI”的公司,連自己的博客 CMS和 npm 包都保護不了。
一、洩露了什麼:從反蒸餾“假工具”到隱秘貢獻開源
先說最引人注目的發現。
44個 Feature Flag,20 個未上線。 洩露的代碼中包含 44 個功能開關,覆蓋了 Anthropic 尚未發佈的完整產品路線圖。這不是 PPT 上的概念設計,而是已經編譯完成、只差開關打開就能上線的成品代碼。有人評價:“他們每兩週發佈一個新功能,是因為所有功能早就做完了。”
KAIROS:後臺自主 Agent 模式。 代碼中出現超過 150 次的“KAIROS”(古希臘語“恰當的時機”)是最大的產品路線圖洩露。它實現了一個持續運行的後臺 Agent 守護進程,包括每日追加日誌、GitHub Webhook 訂閱、每 5 分鐘的定時刷新,以及一個叫 autoDream 的功能,在用戶空閒時自動進行“記憶整合”,清理矛盾信息,把模糊洞察轉化為確定事實。這不再是“你問我答”的聊天工具,而是一個永遠在線、自我進化的 AI 同事。
反蒸餾機制:給競爭對手“下毒”。 代碼中有一個叫 ANTI_DISTILLATION_CC 的開關。啟用後,Claude Code 會在 API 請求中注入虛假的工具定義到系統提示詞中。目的很明確:如果有人錄製 Claude Code的 API 流量來訓練競品模型,這些假工具會汙染訓練數據。第二層防禦是服務器端文本摘要,用加密簽名替換完整的推理鏈,確保竊聽者只能拿到壓縮版本。
開發者 Alex Kim 在分析後指出,這些保護的技術繞過門檻並不高,“任何認真搞蒸餾的人大約一小時就能找到繞過方法。真正的保護可能是法律層面的。”
Undercover Mode:AI 假裝自己是人。undercover.ts 文件實現了一個“隱身模式”,當 Claude Code 在非 Anthropic 內部項目中使用時,會自動清除所有內部痕跡,不提及任何內部代號、Slack 頻道或“Claude Code”這個名字本身。代碼註釋寫道:“沒有強制關閉的選項。這是防止模型代號洩露的保障。”
這意味著 Anthropic 員工在公開的開源項目中提交代碼時,AI 參與創作的事實會被系統性地隱藏。Hacker News 的反應很直接:隱藏內部代號是一回事,讓 AI 主動假裝自己是人類是另一回事。
用正則表達式檢測用戶是否在罵人。userPromptKeywords.ts 文件包含了一個手寫的正則表達式,用來檢測用戶是否在表達沮喪或憤怒,匹配詞包括“wtf”“shit”“fucking broken”“piece of crap”等。一家 LLM 公司用正則做情感分析,Hacker News 評價這是“巔峰諷刺”。當然也有人指出,跑一次推理來判斷用戶是否在罵人確實太貴了,有時候正則就是最好的工具。
二、洩露怎麼發生的:Anthropic 自己的工具鏈坑了自己
技術層面的因果鏈格外諷刺。
Claude Code 基於 Bun 運行時構建。Anthropic 在2025 年底收購了 Bun。3月 11 日,Bun的 GitHub 倉庫上報了一個 bug(oven-sh/bun#28001):source map 在生產模式下仍然會被髮送,儘管 Bun 的文檔明確說它們應該被禁用。這個 bug 至今未修復。
如果這個 bug 正是導致洩露的原因,那麼故事就變成了:Anthropic 收購的自家工具鏈,攜帶一個已知但未修復的 bug,暴露了 Anthropic 自家旗艦產品的完整源碼。
與此同時,就在洩露發生的幾小時前,npm 上的 axios 包遭遇了供應鏈攻擊。在 3月 31日 UTC 時間 00:21到 03:29 之間安裝或更新 Claude Code 的用戶,可能下載了包含遠程訪問木馬(RAT)的惡意 axios 版本。Anthropic 隨後建議用戶棄用 npm 安裝方式,改用獨立二進制安裝包。
VentureBeat 的評價是:對於一家年化收入 190 億美元的公司來說,這已經不是安全疏漏,而是“知識產權的戰略性失血”。
三、“AI 安全公司”的悖論
這是整個事件最深層的敘事張力。
Anthropic 的商業故事建立在一個核心差異化上:我們比 OpenAI 更負責任。從“Constitutional AI”到公開發表的安全研究,從主動限制模型能力到與政府合作進行負責任的信息披露,Anthropic 賣的不是技術領先性,而是“信任”。
但五天內兩次洩露暴露的不是技術能力問題,而是組織運營能力問題。第一次是 CMS 默認權限設置為公開,沒人檢查。第二次是 npm 打包配置遺漏,沒人驗證。這些都不是深度技術難題,而是初級運維清單上的基本項。
洩露的代碼中還揭示了一些耐人尋味的內部數據。autoCompact.ts 的註釋顯示,截至 3月 10 日,全球每天有約 25 萬次 API 調用被浪費在連續失敗的自動壓縮操作上。1,279 個會話出現了 50 次以上的連續失敗(最高 3,272 次)。修復方法是三行代碼:連續失敗 3 次後禁用該功能。
Capybara 模型(即將發佈的 Claude 新旗艦)的內部註釋顯示,v8 版本的“虛假聲明率”為 29-30%,相比 v4 版本的 16.7%反而出現了倒退。開發者還加入了一個“自信度抑制器”來防止模型在重構代碼時過於激進。
這些數字本身並不醜聞。所有軟件開發都有 bug 和倒退。但它們與 Anthropic 的公開敘事之間的張力是真實的:一家聲稱在解決 AI 對齊這種“人類歷史上最難問題”的公司,同時在犯“.npmignore 配置遺漏”這種最基礎的錯誤。
正如一條推文所說:“不小心把 source map 發到 npm 上,是那種聽起來不可能的錯誤,直到你記起這個代碼庫的很大一部分可能就是被它正在發佈的那個 AI 寫的。”
四、競爭對手看到了什麼
對於 AI 編程工具的競爭格局而言,這次洩露的價值不在代碼本身。Google的 Gemini CLI和 OpenAI的 Codex 都已經開源了它們的 Agent SDK,但那些是工具包,不是完整產品的內部佈線。
Claude Code 的代碼規模(51.2 萬行、1,900 個文件)和架構複雜度說明了一個事實:這不是一個 API 包裝器,而是一個完整的開發者操作系統。40 個權限隔離的工具插件、4.6 萬行的查詢引擎、多 Agent 編排系統(內部稱為“swarm”)、IDE 雙向通信層、23道 Bash 安全檢查(包括 18 個被禁的 Zsh 內置命令和 Unicode 零寬空格注入防護)、14 個追蹤的提示詞緩存失效向量。
對競爭對手來說,代碼可以被重構,但 KAIROS 的產品方向、反蒸餾策略、以及 Capybara 模型的性能基準和已知缺陷,這些戰略信息一旦洩露就無法收回。
十天前,Anthropic 剛向開源項目 OpenCode 發送了法律威脅信,要求其移除對 Claude 認證系統的內置支持,因為第三方工具在利用 Claude Code 的內部 API 以訂閱價格而非按量付費價格訪問 Opus 模型。現在,OpenCode 不需要逆向工程了。藍圖就在那裡,fork 了41,500 次。
五、187個 Spinner 動詞:草臺班子裡的人味
在所有嚴肅的安全分析和競爭情報討論之間,洩露的代碼裡還藏著一些令人會心一笑的東西。
Claude Code 的加載動畫有 187 個隨機動詞短語,包括“Synthesizing excuses”“Consulting the oracle”“Reticulating splines”“Bargaining with electrons”“Asking nicely”等等。某個 Anthropic 工程師顯然在給 loading 動畫寫段子這件事上投入了不成比例的熱情。
代碼中還包含一個幾乎可以確定是 4月 1 日愚人節彩蛋的功能:buddy/companion.ts 實現了一個電子寵物系統。每個用戶根據用戶 ID 確定性地獲得一個虛擬生物(18 個物種、從普通到傳說的稀有度等級、1%的閃光概率、RPG 屬性包括 DEBUGGING和 SNARK)。物種名稱用 String.fromCharCode()編碼,專門為了躲避構建系統的文本搜索。
這些細節和嚴肅的安全漏洞形成了一種奇特的並置:在同一個代碼庫裡,有人在精心設計反蒸餾毒藥來對抗競爭對手,有人在認真地為 API 調用實現 Zig 層面的客戶端證明,也有人在為“正在思考”的加載動畫寫了 187 個段子。
這就是一家估值數百億美元、正在競爭定義人類與 AI 關係的公司的真實內部切面。它既不是硅谷神話敘事中的天才集合體,也不是“草臺班子”的簡單標籤所能概括的。它更像是一個由極其聰明的人組成的組織,在以極快的速度構建極其複雜的產品時,不可避免地在最基礎的地方翻車。
Anthropic 的發言人回應 Fortune 時說:“這是一個由人為錯誤導致的發佈打包問題,不是安全漏洞。”
技術上這是對的。一個.npmignore 配置項的遺漏確實不是“安全漏洞”。但當你的整個商業敘事建立在“我們比任何人都更認真地對待安全”之上時,連續兩週的“人為錯誤”傳遞的信號,可能比任何安全漏洞都更具破壞力。
最後交代一個事實:這篇文章是 Claude 寫的。Anthropic的 AI,用 Anthropic 洩露的源碼信息,寫了一篇分析 Anthropic 為什麼管不住自己信息的文章。如果你覺得這很荒誕,那你已經理解了 2026 年 AI 行業的基本氛圍。
注:以上的備註也是 Claude 自己要求加的。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














