Claude Code 原始碼外洩完整解析:512,000 行程式碼揭露 AI Agent 設計秘密

更新 發佈閱讀 16 分鐘
raw-image

一、事件起因:一個遺漏的 .npmignore

要理解這場外洩怎麼發生,要先了解 npm 套件的發布機制。

當開發者把程式碼發布為 npm 套件時,JavaScript 的打包工具通常會同時生成 .map 檔(source map)。這類檔案的用途是「對應混淆後的程式碼與原始碼」,方便開發者在瀏覽器或 Node.js 環境中除錯。在開發環境裡,source map 是寶貴的工具;但如果你不想讓外部看到你的原始碼,就必須明確把它們排除在發布套件之外。

Anthropic 在 2025 年下半年收購了 JavaScript 執行環境 Bun,並用 Bun 來建構 Claude Code。問題在於:Bun 預設會產生 source map,而負責發布 v2.1.88 版本的工程師,忘記在 .npmignorepackage.jsonfiles 欄位中,把 *.map 檔排除掉。

結果是,一個 59.8 MB 的 source map 就這樣靜靜地躺在公開的 npm registry 上。

第一個發現這件事的人,是加州大學柏克萊分校的研究員 Chaofan Shou(Twitter 帳號 @Fried_rice)。他在檢視 Claude Code 套件內容時,發現這個異常的 .map 檔,進一步展開後,看到的是完整的 TypeScript 原始碼。他隨即發文公告這個發現,整個科技社群的注意力在幾分鐘內湧入。

Anthropic 事後確認:「這是一個 release 打包的人為失誤,並非安全漏洞。沒有任何客戶資料或憑證外洩。」但問題是,原始碼已經出去了。


二、外洩後的連鎖反應:GitHub 史上最快破百萬的討論

程式碼一旦在公開 registry 上出現,網際網路就接管了後續的一切。

在最初幾個小時內,社群開發者開始把 512,000 行 TypeScript 轉成 Python、Rust、Go 的對應版本。各種分析文章、架構圖、功能解讀如洪水般湧現。一個名為「claw-code」的 clean-room 重寫版本(完全從頭寫起,不直接使用洩漏原始碼以規避法律風險)在一天內累積了 100,000 個 GitHub stars,創下 GitHub 平台有史以來成長最快 repository 的紀錄。

Anthropic 的法務反應很快。他們根據美國數位千禧年著作權法(DMCA)向 GitHub 發出下架通知,要求移除含有洩漏程式碼的 repository。這份通知最終覆蓋到約 8,100 個 repo,但執行過程中出現嚴重的「誤傷」問題,大量本來只是討論或引用的 repo 也被一併下架。

Anthropic 在發現問題後,公開承認這是過度執行,並且撤回了大部分 repo 的通知,只保留最初那一個原始鏡像 repo 的下架要求。TechCrunch 在報導中指出,Anthropic 對誤傷事件表示「非常遺憾」。

然而,去中心化平台上的備份帳號早已宣告:「這份程式碼永遠不會消失。」

從法律與現實的角度來看,Anthropic 已經無法讓這份原始碼「消失」。網際網路對資訊的保存能力,遠超過任何企業的法律行動速度。


三、外洩揭露了什麼:那些 Anthropic 從未公開的設計決策

讓這次外洩如此轟動的,不只是「原始碼流出」這件事本身,而是原始碼裡藏著的那些秘密。

臥底模式(Undercover Mode)

外洩程式碼中有一個 undercover.ts 檔案,裡面的系統提示寫得很清楚:「你現在正以臥底身份在一個公開 / 開源的 repository 中運作。你的 commit message、PR 標題、PR 說明,絕對不能包含任何 Anthropic 內部資訊。不要暴露你的身份。」

更值得注意的是,程式碼的注釋明確寫著:「這個模式沒有強制關閉的機制(There is NO force-OFF)。這是為了防止模型代號外洩。」這意味著,當 Anthropic 的工程師使用 Claude Code 對公開開源專案提交程式碼時,這些貢獻在表面上看起來會像是人類所寫,不留任何 Anthropic 的痕跡。這項發現在社群中引起了廣泛的倫理討論。

KAIROS:尚未公開的背景代理模式

程式碼中有一個代號 KAIROS 的功能模組,這是一個完全自主的 daemon 模式,設計讓 Claude Code 能在背景持續執行,包含定期抓取 GitHub webhook、自動修正程式錯誤、每五分鐘更新一次記憶體狀態,甚至主動發送推播通知給使用者。這個功能在正式版本中完全沒有出現,但程式碼已經寫好,只是 compile 時 feature flag 設為 false。

Dream Mode:持續思考的 AI

另一個隱藏功能 Dream Mode,設計讓 Claude 能在背景不斷思考,即使使用者沒有在對話,AI 也在處理問題。結合 KAIROS,這代表 Anthropic 對於「永遠在線的 AI 助手」的產品願景,遠比目前公開展示的更為激進。

44 個隱藏 Feature Flags

研究人員在程式碼中發現 44 個已開發完成但尚未對外開放的功能,這些不是「正在開發中」的半成品,而是編譯完成、可以執行的程式碼,只是在發布設定中被關閉。這份清單讓競爭對手看到了 Anthropic 未來六到十二個月的產品路線圖。

反模型蒸餾機制(Anti-Distillation)

外洩程式碼中有兩套防止競爭對手「蒸餾」Claude 模型的機制:一是向 API 發送虛假的 tool 定義,污染任何試圖記錄 API 流量來仿製模型的訓練資料;二是在 tool call 之間用帶有加密簽章的摘要取代完整推理過程,讓外部觀察者只能看到結論,看不到完整的思考鏈。研究員指出,這兩種機制理論上都可以透過 man-in-the-middle proxy 繞過,但在一般使用場景下確實有效。

挫折感偵測(Frustration Detection)

這是一個出乎意料的小細節:Claude Code 偵測使用者的挫折情緒,用的不是 AI,而是正則表達式(regex)。程式碼中有一組 pattern,匹配像是「wtf」、「broken」、「this sucks」等表達。這個選擇很務實,regex 的成本遠低於一次 LLM 推理呼叫,但對一家 AI 公司來說,用規則比用 AI 來理解情緒,顯得相當耐人尋味。


四、已有人開源,我們能從中學到什麼

外洩事件讓 Claude Code 的架構設計成為所有 AI 開發者公開研究的對象。這份程式碼被稱為「第一梯隊 AI agent harness」最完整的公開參考,以下是從中萃取出最具價值的設計模式。

1. 統一的 Tool Interface:讓模型與行動脫鉤

Claude Code 的 66 個內建工具,全部實作同一個介面,涵蓋五個維度:

  • Identity(工具的名稱、描述、用途)
  • Execution(執行邏輯)
  • Validation(參數驗證)
  • Permissions(需要哪些授權)
  • Presentation(輸出結果如何呈現給使用者)

這個設計讓 harness(框架層)能夠在不了解工具內部邏輯的前提下,推理工具的行為,包含「這個工具能不能並發執行」、「這個工具會不會修改狀態」、「這個工具需要使用者確認嗎」。

工具也依照安全性分成兩類:唯讀的工具可以並行執行,有副作用的工具(如寫入檔案、執行指令)則必須序列化,確保一致性。

2. 三層記憶體架構:解決 Context Entropy 問題

傳統 AI agent 最大的挑戰之一,是隨著對話變長,重要資訊會被稀釋或遺忘,這個問題業界稱為 context entropy。Claude Code 用一套精妙的分層設計解決這個問題:

最外層是 CLAUDE.mdMEMORY.md,這個檔案始終載入在 context 中,但它不直接儲存知識,而是儲存「指針」,記錄哪個主題的詳細資訊在哪個檔案裡。

實際的知識分散在各個 topic file 中,只有當對話需要時才按需載入(on-demand fetch)。

此外,記憶體依類型分層,包含使用者偏好與工作風格、過去的錯誤更正與有效方法、專案決策與團隊脈絡,以及指向外部資源的連結。這套設計讓 Claude Code 在極長的工作 session 中,依然能保持對相關資訊的精確掌握,而不會因為塞入太多資訊導致模型表現下降。

3. 25 個以上的 Lifecycle Hook:完整的可插拔擴充系統

Claude Code 在每個關鍵節點都暴露了 hook,讓使用者或開發者能夠介入 AI 的行為流程:

  • PreToolUse:工具執行前(可以攔截、修改、或取消)
  • PostToolUse:工具執行後(可以記錄、觸發後續動作)
  • UserPromptSubmit:使用者送出提示前
  • SessionStart / SessionEnd:session 生命週期
  • 以及更多針對各種互動節點的 hook

Hook 的回傳值決定行為:exit 0 代表允許繼續,exit 2 代表阻擋,其他回傳值代表警告但允許繼續。這讓 Claude Code 變成一個高度可客製化的平台,而不只是一個固定功能的工具。

4. 四種專門化子代理設計

Claude Code 採用的不是一個全能的單一代理,而是四個有明確職責分工的專門化代理:

  • Explore Agent:負責探索和理解 codebase 結構
  • Plan Agent:負責規劃解決策略和執行步驟
  • General Agent:負責處理複雜的多步驟任務
  • Guide Agent:負責解釋功能和提供指引

這四個代理各自運作在獨立的 context window 中,並向主控的 orchestrator 回報結果。更聰明的是,子代理分叉時會建立 byte-identical 的 parent context 副本,共享 prompt cache,讓同時執行多個代理的成本幾乎等同於執行單一代理。

5. QueryEngine:對話生命週期的中央編排器

QueryEngine 是整個 Claude Code 運作的核心,負責協調三個角色之間的互動:使用者、語言模型、工具執行環境。

它實作了一套「continue sites pattern」,定義了多種失敗恢復策略:當 context 過長時的壓縮機制(context collapse)、當 token 不足時的升級策略(token escalation)、以及多輪對話的延續機制(multi-turn continuation)。這讓系統即使在邊緣情況下也能優雅地降級,而不是直接崩潰。

6. 五層權限系統

Claude Code 的權限設計採用了類似 Git 設定的五層串接(cascade)架構:

環境變數(最低優先級)→ 使用者全域設定 → 專案根目錄設定 → 專案層級設定 → 本機設定(最高優先級)

這讓團隊可以在組織層級設定統一的安全策略,同時允許個別開發者在自己的本機做客製化調整,兼顧標準化與彈性。


五、開源社群的快速回應與產業影響

外洩事件後,AI 工具社群進入了一個前所未有的「公開學習模式」。OpenCode、Aider 等開源 AI coding agent 的維護者公開表示,正在研究 Claude Code 的架構設計,並計畫將其中最有效的模式整合進自己的框架。

這場意外,讓商業 AI 工具與開源社群之間的差距,在短短幾天內大幅縮小。

研究人員的共識是:這次外洩最重要的啟示,不是 Claude 的模型有多強,而是 Anthropic 在 harness 設計上投入了多深的工程心力。如同一位研究員所說:「AI 的競賽,已經不只是誰的模型最聰明,而是誰的框架最可靠、最可控、最能擴展。」

就算是競爭對手,現在也必須承認:在 agentic AI harness 的設計細膩度上,Claude Code 所呈現的架構,代表了這個領域目前可以公開研究的最高水準。


結語:一個遺漏的設定,改變了 AI 工具的格局

一個工程師在深夜發布套件時,沒有在 .npmignore 裡加上一行 *.map,就這樣意外地把 Anthropic 最機密的產品設計交付給了全世界。

這不是 Anthropic 第一次遭遇資訊安全問題,也很可能不是最後一次。但這次外洩的規模和影響,在 AI 產業史上是前所未有的。

從法律角度,Anthropic 已無法讓這 512,000 行程式碼從網路上消失。從競爭角度,這份程式碼讓所有人都看到了第一梯隊 AI agent 的真實面貌。從工程角度,這是一份難得的學習材料,展示了如何設計一個足夠複雜、足夠可靠、足夠安全的 AI 工作框架。

如果你在開發 AI agent 或自動化工作流程,這次外洩留下的架構藍圖,是目前公開可取得最有價值的參考資料之一。唯一的代價,是 Anthropic 付出的那次意外。


參考來源

  1. The Claude Code Source Leak: 512,000 Lines, a Missing .npmignore, and the Fastest-Growing Repo in GitHub History — Layer5
  2. Anthropic confirms it leaked 512,000 lines of Claude Code source code — TechRadar
  3. Anthropic took down thousands of GitHub repos trying to yank its leaked source code — TechCrunch
  4. Leaked Claude Code source spawns fastest growing repository in GitHub's history — Cybernews
  5. Claude Code Source Code Leaked: What 512K Lines Reveal About the Best AI Coding Harness — Superframeworks
  6. The Claude Code Leak: 10 Agentic AI Harness Patterns That Change Everything — Ken Huang on Substack
  7. The Claude Code Source Leak: fake tools, frustration regexes, undercover mode, and more — Alex Kim's blog
  8. Claude Code's source code appears to have leaked: here's what we know — VentureBeat
留言
avatar-img
零食大總統的沙龍
2會員
10內容數
吾心吾行,澄如明鏡
2026/03/27
Vibe Coding 讓人人都能靠描述生出程式,但 45% 的 AI 代碼含安全漏洞,16 位 CTO 親歷生產事故。拆解黑盒崩潰、技術債與維護陷阱,讓你用 AI 寫程式前先看清代價。
Thumbnail
2026/03/27
Vibe Coding 讓人人都能靠描述生出程式,但 45% 的 AI 代碼含安全漏洞,16 位 CTO 親歷生產事故。拆解黑盒崩潰、技術債與維護陷阱,讓你用 AI 寫程式前先看清代價。
Thumbnail
2026/03/11
臺灣的開放銀行(Open Banking)推動已久,為何用戶仍需手動記帳?本文深入解析開放銀行的核心概念、臺灣的推動進度,並點出銀行參與度低、法規強制力不足、生態系發展緩慢等核心困境。文末更提供在開放銀行基礎建設完善前,CWMoney、Moneybook、Synx 等實用工具,幫助讀者掌握個人財務。
Thumbnail
2026/03/11
臺灣的開放銀行(Open Banking)推動已久,為何用戶仍需手動記帳?本文深入解析開放銀行的核心概念、臺灣的推動進度,並點出銀行參與度低、法規強制力不足、生態系發展緩慢等核心困境。文末更提供在開放銀行基礎建設完善前,CWMoney、Moneybook、Synx 等實用工具,幫助讀者掌握個人財務。
Thumbnail
2026/03/09
RevenueCat 最新報告揭示 2026 訂閱制 App 市場關鍵趨勢:每月新 App 暴增至 14,700 個、AI App 轉換率高但留存差、Hard Paywall 比免費增值轉換高 5 倍。本文拆解 6 大核心洞察,幫助開發者搶占先機。
Thumbnail
2026/03/09
RevenueCat 最新報告揭示 2026 訂閱制 App 市場關鍵趨勢:每月新 App 暴增至 14,700 個、AI App 轉換率高但留存差、Hard Paywall 比免費增值轉換高 5 倍。本文拆解 6 大核心洞察,幫助開發者搶占先機。
Thumbnail
看更多
你可能也想看
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
看完上篇 4 位新成員的靈魂拷問,是不是意猶未盡?別急,野格團新血的驚喜正接著登場!今天下篇接力的另外 4 位「個人主題專家」,戰力同樣驚人──領域從旅行美食、運動、商業投資到自我成長;這些人如何維持長跑般的創作動力?在爆紅的文章背後,又藏著哪些不為人知的洞察?5 大靈魂拷問繼續出擊
Thumbnail
看完上篇 4 位新成員的靈魂拷問,是不是意猶未盡?別急,野格團新血的驚喜正接著登場!今天下篇接力的另外 4 位「個人主題專家」,戰力同樣驚人──領域從旅行美食、運動、商業投資到自我成長;這些人如何維持長跑般的創作動力?在爆紅的文章背後,又藏著哪些不為人知的洞察?5 大靈魂拷問繼續出擊
Thumbnail
本文整理了 Claude Code 開發者 Boris Cherny 分享的十大實用心法,涵蓋平行作業、計畫模式(plan mode)、自訂 Skills、Subagents等,旨在幫助開發者、AI Coder、Vibe Coder 更有效率地利用 Claude Code 進行 AI 寫程式!
Thumbnail
本文整理了 Claude Code 開發者 Boris Cherny 分享的十大實用心法,涵蓋平行作業、計畫模式(plan mode)、自訂 Skills、Subagents等,旨在幫助開發者、AI Coder、Vibe Coder 更有效率地利用 Claude Code 進行 AI 寫程式!
Thumbnail
Claude Code 提供了一套 可自動化執行的 Hooks 機制,幫助我們在大型專案中避免常見錯誤、保持程式碼品質穩定。這篇文章將分享幾個實用的 Claude Code Hooks 範例與進階技巧,讓你打造更聰明、更可靠的開發流程。
Thumbnail
Claude Code 提供了一套 可自動化執行的 Hooks 機制,幫助我們在大型專案中避免常見錯誤、保持程式碼品質穩定。這篇文章將分享幾個實用的 Claude Code Hooks 範例與進階技巧,讓你打造更聰明、更可靠的開發流程。
Thumbnail
2025 GAI 開發者年會重點條列,包含多家企業導入AI應用的實例,涵蓋金融業、製造業、供應鏈、廣告業等,探討AI開發工具、技術趨勢、企業導入AI的挑戰,以及近期新興技術MCP協定結合AI應用的發展。
Thumbnail
2025 GAI 開發者年會重點條列,包含多家企業導入AI應用的實例,涵蓋金融業、製造業、供應鏈、廣告業等,探討AI開發工具、技術趨勢、企業導入AI的挑戰,以及近期新興技術MCP協定結合AI應用的發展。
Thumbnail
Model Context Protocol (MCP) 是 Anthropic 於 2024 年11月推出的開放標準,旨在簡化 AI 應用與外部工具、資料及提示的整合。通過客戶端-伺服器模型與 JSON-RPC 2.0 通訊,MCP 將傳統 M×N 整合複雜性降至 M+N,提升互操作性與開發效率。
Thumbnail
Model Context Protocol (MCP) 是 Anthropic 於 2024 年11月推出的開放標準,旨在簡化 AI 應用與外部工具、資料及提示的整合。通過客戶端-伺服器模型與 JSON-RPC 2.0 通訊,MCP 將傳統 M×N 整合複雜性降至 M+N,提升互操作性與開發效率。
Thumbnail
OpenAI宣布支持MCP OpenAI最近宣布全面支持由競爭對手Anthropic開發的模型上下文協議(Model Context Protocol,簡稱MCP),這一決定被視為AI產業在工具和數據連接標準化方面邁出的關鍵一步。 MCP的推出旨在解決大型語言模型(LLM)與外部工具之間
Thumbnail
OpenAI宣布支持MCP OpenAI最近宣布全面支持由競爭對手Anthropic開發的模型上下文協議(Model Context Protocol,簡稱MCP),這一決定被視為AI產業在工具和數據連接標準化方面邁出的關鍵一步。 MCP的推出旨在解決大型語言模型(LLM)與外部工具之間
Thumbnail
Claude AI 3.7 學習指南 Claude AI 3.7 Sonnet 是由 Anthropic 開發的最新一代人工智慧助手,具備強大的推理能力和多種應用功能。以下是一些關於如何學習和使用 Claude AI 3.7 的重要資訊和指導。 1. 了解 Claude AI 的基本功能 Cl
Thumbnail
Claude AI 3.7 學習指南 Claude AI 3.7 Sonnet 是由 Anthropic 開發的最新一代人工智慧助手,具備強大的推理能力和多種應用功能。以下是一些關於如何學習和使用 Claude AI 3.7 的重要資訊和指導。 1. 了解 Claude AI 的基本功能 Cl
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News