標題:“Claude Code 的全部原始碼剛剛透過 npm Source Maps 洩露——以下是其中的內容”

已發布:是

描述:“一位安全研究人員發現 Anthropic 的完整 CLI 原始程式碼透過來源映射文件暴露出來。1900 個文件,超過 512000 行程式碼,全部內容。”

標籤:claudecode、安全性、TypeScript、人工智慧

封面圖片:


📍 置頂連結:

⭐️ https://github.com/hermes-hq/hermes-ide

⭐️ https://www.hermes-ide.com/

圖片描述

--

一位安全研究人員發現,Anthropic 的完整 CLI 原始碼透過一個來源映射檔暴露出來。 1900 個文件,超過 512000 行程式碼,全部內容。

如果你使用人工智慧驅動的程式設計工具,那麼今天就是你難忘的一天。 2026年3月31日,安全研究員Chaofan Shou@shoucccc )發現,Anthropic公司的旗艦級智慧命令列工具Claude Code全部原始碼透過發佈到npm註冊表的來源映射檔暴露出來。

洩漏的程式碼庫很快就被歸檔到一個公開的GitHub倉庫中,目前已經獲得了超過1100個星標1900多個fork 。而其中的內容也令人著迷。

圖片描述

免責聲明:本文僅供教育和研究之用。文中引用的所有程式碼均屬於 Anthropic 公司所有。本人不認可、不鼓勵、不縱容未經授權分發專有軟體。本文撰寫時,程式碼庫已公開,本文的分析完全基於這些公開資訊。

數字本身就能說明一切

約 1900 個TypeScript 檔案。超過 512000行程式碼。約 40 個內建工具。約 50 個斜杠命令。

這並非一個玩具專案。 Claude Code 是一個生產級、架構高度完善的系統。它執行在Bun (而非 Node)上,使用React 和 Ink進行終端 UI 渲染,並採用模組化的工具架構,任何工程師都會樂於學習。

克勞德程式碼的真正本質是什麼

對於不熟悉的用戶,Claude Code 是 Anthropic 的官方命令列介面,它允許您直接從終端與 Claude 交互,完成軟體工程任務。您可以將其視為一個 AI 配對程式設計師,它可以編輯檔案、執行命令、搜尋程式碼庫以及管理 Git 工作流程——所有操作均可透過自然語言完成。

但洩漏的原始碼揭示了這款工具的功能遠不止「聊天包裝器」那麼簡單。

建築亮點

工具系統(約 40 個工具) ——Claude Code 採用類似插件的工具架構。每項功能(檔案讀取、bash 執行、網頁抓取、LSP 整合)都是一個獨立的、權限控制的工具。僅基礎工具定義就包含29,000 行 TypeScript 程式碼

查詢引擎(46K 行程式碼) ——這是整個系統的核心。它負責處理所有 LLM API 呼叫、串流、快取和編排。它是程式碼庫中迄今為止最大的單一模組。

多智能體編排-Claude Code 可以產生子智能體(他們稱之為「群集」)來處理複雜的、可並行化的任務。每個智能體都在其自身的上下文中執行,並擁有特定的工具權限。

IDE橋接系統-雙向通訊層,透過JWT認證頻道將IDE擴充(VS Code、JetBrains)連接到CLI。這就是「編輯器中的Claude」體驗的工作原理。

持久記憶體系統— 一個基於檔案的記憶體目錄,Claude 在其中儲存有關您、您的專案和您的偏好設定等跨會話的上下文資訊。

// Simplified view of the tool architecture
interface Tool {
  name: string;
  permissions: PermissionGate;
  execute(context: ToolContext): Promise<ToolResult>;
}

// ~40 tools registered: Read, Write, Edit, Bash, Grep,
// Glob, WebFetch, Agent, LSP, MCP, and many more...

值得注意的關鍵技術決策

  • Bun 優於 Node:當他們選擇 Bun 作為 JavaScript 執行時,利用其消除死程式碼的功能標誌和更快的啟動速度。

  • 將 React 應用於 CLI:使用 Ink(用於終端的 React)是一項大膽的嘗試。這意味著他們的終端 UI 是基於元件的,並且具有狀態管理功能,就像 Web 應用一樣。

  • Zod v4 驗證:模式驗證無所不在。每個工具輸入、每個 API 回應、每個設定檔都需要進行模式驗證。

  • 約 50 個斜線指令:/commit/review-pr再到記憶體管理-指令系統與任何 IDE 一樣豐富。

  • 延遲載入模組:像 OpenTelemetry 和 gRPC 這樣的大型依賴項會延遲加載,以保持啟動速度快。

安全角度

這是怎麼回事?原來,npm 套件中包含了一個來源映射檔。來源映射檔案用於除錯—它將壓縮/打包後的程式碼映射回原始原始程式碼。在生產環境的 npm 發布中包含來源映射文件,實際上會將整個程式碼庫以可讀的形式發佈出去。

提醒所有工程團隊:檢查你們的建造流水線。確保.map檔案已從發布配置中排除。一個配置錯誤的.npmignorepackage.json中的files欄位都可能導致所有問題暴露。

真是諷刺——一個旨在幫助工程師編寫更好程式碼的工具,卻因為建立配置上的疏忽而功虧一簣。

這對人工智慧編碼工具領域意味著什麼

無論你是否認同這次洩露,真相已經大白。而它揭示的是,人工智慧編碼工具的門檻極高。 Anthropic 公司投入巨資,力求將 Claude Code 打造成生產級開發者體驗,而不僅僅是 API 的一個封裝。

對於我們這些在這個領域進行開發的人來說,這既令人鼓舞,又令人感到自身的渺小。從權限系統、多代理編排、IDE橋接到持久記憶體等各方面來看,工程技術的發展水準展現了產業的未來方向。

說到這裡——這正是我一直在用Hermes IDE建構的那種生態系統。 Hermes 是一個 shell 封裝器,它將 AI 功能(Claude、Gemini、Aider、Codex、Copilot)直接整合到你現有的終端機中。它提供 Ghost 文字建議、帶有獨立 Git 工作樹的多專案工作階段、內建進程管理器、成本儀錶板、30 多個鍵盤快捷鍵——所有這些都疊加在你現有的 shell 之上,而無需更改您的設定。

在了解了 Claude Code 的內部結構後,我更加堅信,未來的開發模式是終端原生、AI 增強,並與我們現有工具深度整合。這正是我們打造 Hermes 的初衷——並非取代你的工作流程,而是為其註入強大的動力。如果你有興趣,可以存取hermes-ide.com了解更多。

開發者該吸取什麼教訓

  • 審核你的 npm 發布。每次發布前,使用npm pack --dry-run來驗證包含的內容。

  • 來源映射檔案即原始程式碼。除非有意為之,否則切勿將其包含在生產包中。

  • 研究其架構。無論具體情況如何,如果你正在建立人工智慧工具,那麼理解 Claude Code 中的模式(工具系統、權限門、多智能體生成)都是值得的。

  • 終端就是整合開發環境(IDE)。無論是 Claude Code 或Hermes IDE之類的工具,都預示著未來你的 shell 將成為你擁有的最強大的開發環境。


洩漏的完整程式碼庫可在github.com/instructkr/claude-code取得。如果您想親自探索,請帶著好奇心和對背後工程工作的尊重去研究。

如果您覺得這篇分析有用,請關注我並查看我在GitHub 上的作品 (@gabrielanhaia) 。我正在積極開發人工智慧和開發者體驗交叉領域的工具,未來將推出更多內容。

法律聲明:本文僅供參考和教育用途。文中所引用的所有原始碼均為 Anthropic, PBC 的智慧財產權。作者不託管、散佈或聲稱擁有任何專有程式碼的所有權。分析是根據撰寫本文時可公開取得的資訊。


原文出處:https://dev.to/gabrielanhaia/claude-codes-entire-source-code-was-just-leaked-via-npm-source-maps-heres-whats-inside-cjo


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝12   💬4   ❤️1
464
🥈
alicec
📝1   ❤️2
87
#4
我愛JS
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登