Claude Code npm 外洩 51.2 萬行
Anthropic 因打包失誤讓 Claude Code 原始碼短暫外洩到 npm,超過 51.2 萬行、近 2,000 個 TypeScript 檔案曝光,也把 AI 軟體供應鏈風險攤在陽光下。

Anthropic 這次不是被駭。是打包失誤。Anthropic 的 Claude Code 版本 2.1.88,短暫把原始碼丟到 npm。外洩規模超過 51.2 萬行,還牽出近 2,000 個 TypeScript 檔案。
講白了,這不是小洞。這是把內部藍圖公開給陌生人看。就算官方後來下架,鏡像站和討論串早就把內容傳開了。
這種事會讓開發者很有感。因為你平常用來 debug 的 source map,今天可能直接把整包內部邏輯送出去。說真的,這東西蠻猛的,也蠻雷的。
到底外洩了什麼
訂閱 AI 趨勢週報
每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。
不會寄垃圾信,隨時可取消。
這次出包的核心,是 npm 套件版本 2.1.88 帶了 source map。Source map 在 JavaScript 和 TypeScript 很常見。它能把編譯後的程式,對回原始碼,方便除錯。

問題是,這東西一旦帶著原始碼一起發佈,就很危險。因為它不只是除錯工具,也可能變成洩密工具。尤其是 AI 軟體,裡面常有 agent 邏輯、工具呼叫、記憶模組,這些都很值錢。
這次曝光的不是幾個函式而已。它牽出一整個大型 codebase。外部的人可以直接看 Claude Code 怎麼做 orchestrate,怎麼處理工具,怎麼跟 IDE 整合。
- 外洩版本:2.1.88
- 檔案數量:近 2,000 個 TypeScript 檔案
- 程式碼規模:超過 512,000 行
- 處置結果:版本已從 npm 下架
Anthropic 後來說,這是人為失誤,不是資料庫被打穿。也沒有客戶資料或憑證外流。這句話很重要,但不代表事件小。
因為對攻擊者來說,原始碼外洩本身就很有價值。它能告訴你內部設計、邊界處理、錯誤流程,還有哪裡可能塞 prompt injection。
研究者為什麼第一時間盯上
第一個公開點出這件事的人,是安全研究員 Chaofan Shou。他在 X 上直接說,Claude Code 的 source code 是透過 npm 的 map file 外洩。
這種爆料會快速擴散,不是因為標題聳動。是因為它很好驗證。只要去看套件內容,就知道有沒有問題。這種透明度,對研究者來說反而省事。
另一個原因是,AI 工具已經進入日常開發流程。它不再只是聊天機器人。它會讀檔、改檔、跑 shell、呼叫 API。這代表外洩的不只是程式碼,而是整套代理人行為模型。
“Claude code source code has been leaked via a map file in their npm registry!” — Chaofan Shou
外洩內容也讓人看到 Claude Code 的一些內部設計。像是 memory 系統,用來繞過固定 context 長度。還有 tools layer,負責檔案與 shell 操作。再來是 query engine,處理 API 編排。
你可能會想問,這有多嚴重。答案是,這會讓研究者和攻擊者都更容易測試它的弱點。差別只在於,前者想看風險,後者想找洞。
這次數字為什麼很刺眼
51.2 萬行不是一般小工具的等級。這代表它不是單一腳本,而是一個有分層、有模組、有行為控制的大系統。從這種規模,你能反推出很多內部架構。

更麻煩的是,外洩的還不只是功能碼。報導指出,裡面還出現一些內部模式名稱,像背景模式 KAIROS、夢境模式 dream,還有協助開源貢獻的 undercover mode。這些名字本身就透露產品設計方向。
這裡有幾個重點比較:
- Anthropic 說是打包失誤,但外界拿到的是完整 source map。
- npm 版本已下架,但公開鏡像仍可能保留副本。
- 研究者看到的是架構,攻擊者看到的是測試藍圖。
- 內部模組名稱外流後,typosquatting 風險會上升。
- AI agent 的 memory 與 tool call 流程,也更容易被逆向。
這種外洩還有一個現實問題。它會幫助人做 fuzzing。因為你知道函式怎麼串,哪裡進 context,哪裡做 compaction,就能設計更準的 payload。
講白了,這比亂打 jailbreak 提示詞有效太多。因為你不是瞎猜。你是拿著地圖進場。
供應鏈風險沒有只停在原始碼
這件事更煩的地方,在於它不是單一事故。文章提到,3 月 31 日 00:21 到 03:29 UTC 之間安裝或更新 Claude Code 的使用者,可能還碰到另一個 trojanized HTTP client。
那代表有兩條風險線同時在跑。第一條是 source code 外洩。第二條是依賴套件可能被污染。這兩件事放在一起,對 DevOps 團隊很不友善。
如果你的團隊在那段時間有拉 npm 套件,做法不要花俏。先回退到已知安全版本。再查 lockfile。接著檢查 CI/CD 產物。最後才是看有沒有憑證需要輪替。
這裡也能看出 AI 軟體的供應鏈問題。它常把很多層東西包在一起。CLI、agent、插件、依賴、build artifact,任何一層出事,都可能拖累整個流程。
我覺得最麻煩的不是這次漏了幾行碼。是外界會開始問:你們的 release 流程,到底有沒有真的檢查 source map、private module、以及 publish 設定。
開發團隊現在該做什麼
如果你們團隊有用 Claude Code,這件事不要只當新聞看。它其實是在提醒你,release hygiene 不能只管版本號。build artifact、source map、內部套件名稱,都要一起管。
尤其是 npm 生態。很多團隊會在 CI 裡自動安裝套件。這很方便,也很危險。因為你只要少看一個 lockfile,就可能把不該進來的東西帶進去。
下面這些動作很實際,也很值得立刻做:
- 檢查最近是否安裝過 npm 上的 AI 相關套件。
- 若碰到可疑時間窗,先輪替密鑰。
- 把 source map 從 production 發佈流程移除。
- 在 allowlist 擋掉可疑的套件變體。
- 檢查 CI log,有沒有洩露內部路徑。
如果你在做 AI agent,這次事件還有另一層提醒。內部 prompt、工具編排、記憶策略,現在都算安全邊界的一部分。它們不是純產品細節而已。
一旦這些內容外流,別人就能更準地研究你的控制流。這對防守方很傷,因為你失去的是結構資訊,不只是單一函式。
這件事放在產業脈絡裡看
AI coding assistant 這幾年都在往更深的工作流滲透。從補字,到改檔,再到跑測試,甚至幫你操作 shell。功能越多,暴露面就越大。
這也解釋了為什麼 source map、private package、internal prompt 會變成安全議題。以前這些東西多半是工程細節。現在它們直接影響產品安全。
另外,Anthropic 這次不是第一次碰到資料外洩相關事件。當同一家公司的 release 管理連續出包,業界自然會開始看它的內控流程,而不是只看單次失誤。
從競品角度看,OpenAI、Cursor、Codeium 這類工具,現在都在比速度,也在比供應鏈管理。誰的發佈流程更嚴,誰就少一點翻車機會。
我覺得接下來 6 到 12 個月,AI 工具的安全審查會更像傳統軟體供應鏈審查。source map、SBOM、簽章、artifact provenance,這些詞會越來越常出現在產品會議裡。
接下來會怎麼走
這次事件最實際的結論很簡單。AI 工具的風險,不只在模型本身。也在打包、發佈、依賴和權限管理。
如果你是開發者,現在就該問自己一個問題:你的工具鏈裡,有多少東西其實不該公開?答案可能比你想像中多。
我會給一個直接預測:接下來 1 年,更多 AI 工具會開始預設關閉 source map,或把它們移到內部 artifact store。原因很簡單。大家終於知道,debug 便利性和外洩風險,常常是一體兩面。