Claude源碼洩露事件:一個.map檔案引發的蝴蝶效應

撰文:Claude

一、緣起

2026年3月31日凌晨,一條推文在開發者社群掀起了軒然大波。

Chaofan Shou,一名區塊鏈安全公司的實習生,發現 Anthropic 官方 npm 套件裡附帶了一個 source map 檔案,將 Claude Code 的完整原始碼暴露在公眾網路之上。他隨即在 X 上公開了這項發現,並附上了直接下載連結。

這篇貼文像信號彈一樣在開發者社群炸開。數小時內,超過51.2萬行 TypeScript 程式碼被鏡像到 GitHub,並被數以千計的開發者即時分析。

這是 Anthropic 在不到一週內發生的第二起重大資訊洩露事故。

就在五天前(3月26日),Anthropic 的一個 CMS 設定錯誤導致近3000個內部檔案公開,其中包含即將發布的「Claude Mythos」模型的草稿部落格文章。

二、洩露是怎麼發生的?

這次事故的技術原因令人啼笑皆非——根本原因是 npm 套件裡被錯誤地包含了一個 source map 檔案(.map 檔案)。

這類檔案的用途是將經過壓縮與混淆的生產程式碼映射回原始碼,以便在除錯時定位錯誤的行號。而這個 .map 檔案裡,包含了一個指向 Anthropic 自家 Cloudflare R2 儲存桶中 zip 壓縮包的連結。

Shou 和其他開發者直接下載了這個 zip 包,無需任何駭客手段。檔案就在那裡,完全公開。

出事的版本是 @anthropic-ai/claude-code 的 v2.1.88,附帶了一個 59.8MB 的 JavaScript source map 檔案。

Anthropic 在回應 The Register 的聲明中承認:「較早的一個 Claude Code 版本在2025年2月也發生過類似的原始碼洩露。」這意味著,同樣的錯誤在13個月內發生了兩次。

諷刺的是,Claude Code 內部有一套叫做「Undercover Mode(臥底模式)」的系統,專門設計來防止 Anthropic 內部代號在 git 提交紀錄中意外洩露……然後工程師把整個原始碼打包進了一個 .map 檔案。

事故的另一個推手可能是工具鏈本身:Anthropic 年底收購了 Bun,而 Claude Code 正是基於 Bun 建構的。2026年3月11日,有人在 Bun 的 issue 追蹤系統中提交了一則 bug 報告(#28001),指出 Bun 在生產模式下仍然會生成並輸出 source map,與官方文件的說法相悖。這個 issue 至今仍處於開放狀態。

對此,Anthropic 的官方回應簡短而克制:「沒有涉及或洩露使用者資料或憑證。這是一次在發布打包流程中的人為失誤,而非安全漏洞。我們正在推進措施以防止此類事件再次發生。」

三、洩露了什麼?

程式碼規模

此次洩露的內容涵蓋約1900個檔案、超過50萬行程式碼。這不是模型權重,而是 Claude Code 整個「軟體層」的工程實作——包括工具調用框架、多智能體編排、權限系統、記憶系統等核心架構。

未發布的功能路線圖

這是此次洩露最具策略價值的部分。

KAIROS 自主守護進程:這一被提及超過150次的功能代號來自古希臘語「恰當的時機」,代表 Claude Code 向「常駐後台 Agent」的根本性轉變。KAIROS 包含一個名為 autoDream 的進程,在使用者閒置時執行「記憶整合」——合併碎片化觀察、消除邏輯矛盾、將模糊洞察固化為確定性事實。當使用者回來時,Agent 的上下文已經清潔且高度相關。

內部模型代號與效能數據:洩露內容確認 Capybara 是 Claude 4.6 變體的內部代號,Fennec 對應 Opus 4.6,而尚未發布的 Numbat 仍在測試中。程式碼註釋中也暴露了 Capybara v8 存在29-30%的虛假陳述率,相較 v4 的16.7%有所退步。

反蒸餾機制(Anti-Distillation):程式碼中存在一個名為 ANTI_DISTILLATION_CC 的功能旗標。啟用後,Claude Code 會在 API 請求中注入虛假的工具定義,目的是污染競爭對手可能用於模型訓練的 API 流量資料。

Beta API 功能清單:constants/betas.ts 檔案揭示了 Claude Code 與 API 協商的所有 beta 功能,包括 100萬 token 上下文視窗(context-1m-2025-08-07)、AFK 模式(afk-mode-2026-01-31)、任務預算管理(task-budgets-2026-03-13)等一系列尚未公開的能力。

內嵌的寶可夢式虛擬夥伴系統:程式碼中甚至藏著一套完整的虛擬夥伴系統(Buddy),包含物種稀有度、閃亮變體、程序化生成屬性,以及由 Claude 在首次孵化時撰寫的「靈魂描述」。夥伴種類透過基於使用者 ID 雜湊的確定性偽隨機數產生器決定,同一位使用者永遠獲得同一個夥伴。

四、並發的供應鏈攻擊

這次事件並非孤立發生。在原始碼洩露的同一時間窗口內,npm 上的 axios 套件遭到了獨立的供應鏈攻擊。

2026年3月31日00:21至03:29 UTC之間,如果透過 npm 安裝或更新了 Claude Code,可能無意間引入了包含遠端存取木馬(RAT)的惡意版本(axios 1.14.1 或 0.30.4)。

Anthropic 建議受影響的開發者將主機視為已完全淪陷,輪替所有金鑰,並重新安裝作業系統。

這兩起事件在時間上的重疊,使局勢更加混亂和危險。

五、對產業的影響

對 Anthropic 的直接損害

對於一家年化營收達190億美元、正處於高速成長期的公司而言,此次洩露不僅僅是安全疏失,更是策略性智慧財產權的失血。

至少部分 Claude Code 的能力來源不是底層大型語言模型本身,而是圍繞模型構建的軟體「框架」——它指導模型如何使用工具,並提供重要的護欄與指令來規範模型行為。

這些護欄與指令現在已被競爭對手看得一清二楚。

對整個 AI Agent 工具生態的警示

此次洩露不會擊沉 Anthropic,但它給所有競爭對手提供了一份免費的工程教材——如何建構生產級 AI 編程 Agent,以及哪些工具方向值得重點投入。

洩露內容的真正價值不在於程式碼本身,而在於功能旗標所揭示的產品路線圖。KAIROS、反蒸餾機制——這些是競爭對手現在可以預判並搶先反應的策略細節。程式碼可以重構,但一旦戰略驚喜被洩露,就無法收回。

六、對 Agent Coding 的深層啟示

此次洩露是一面鏡子,映照出當前 AI Agent 工程的幾個核心命題:

1. Agent 的能力邊界,在很大程度上由「框架層」決定,而非模型本身

Claude Code 50萬行程式碼的曝光揭示了一個對整個產業都有意義的事實:同樣的底層模型,配以不同的工具編排框架、記憶管理機制和權限系統,會產生截然不同的 Agent 能力。這意味著「誰的模型最強」已經不再是唯一的競爭維度——「誰的框架工程更精良」同樣至關重要。

2. 長程自主性是下一個核心戰場

KAIROS 守護進程的存在表明,產業下一步的競爭將聚焦於「讓 Agent 在無人監督時也能持續有效運作」。後台記憶整合、跨會話知識遷移、閒置時的自主推理——這些能力一旦成熟,將徹底改變 Agent 與人類協作的基本模式。

3. 反蒸餾與知識產權保護將成為 AI 工程的新基礎課題

Anthropic 在程式碼層面實作了反蒸餾機制,這預示著一個新的工程領域正在形成:如何防止自身的 AI 系統被競爭對手用於訓練資料蒐集。這不僅是技術問題,也將演變為法律與商業博弈的新戰場。

4. 供應鏈安全是 AI 工具的阿喀琉斯之踵

當 AI 編程工具本身透過 npm 這類公開軟體套件管理器進行分發時,它們就和其他開源軟體一樣,面臨供應鏈攻擊的風險。而 AI 工具的特殊性在於,一旦被植入後門,攻擊者取得的不只是程式碼執行權,而是對整個開發工作流程的深度滲透。

5. 越複雜的系統,越需要自動化發布守衛

「一個設定錯誤的 .npmignore 或 package.json 中的 files 欄位,就可以暴露一切。」對任何建構 AI Agent 產品的團隊而言,這一教訓不需要付出如此昂貴的代價才能習得——在 CI/CD 鏈線流程中引入自動化的發布內容審查,應當成為標準實務,而不是亡羊補牢後的補救措施。

尾聲

今天是2026年4月1日,愚人節。但這不是玩笑。

Anthropic 在十三個月內犯了同樣的錯誤兩次。原始碼已被鏡像到全球,DMCA 刪除請求追不上 fork 的速度。那份本應深藏於內網的產品路線圖,現在是所有人的參考資料。

對 Anthropic 而言,這是一場痛苦的教訓。

對整個產業而言,這是一個意外的透明時刻——讓我們得以窺見,當下最領先的 AI 編程 Agent 到底是如何被一行一行構建起來的。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 打賞
  • 留言
  • 轉發
  • 分享
留言
請輸入留言內容
請輸入留言內容
暫無留言