[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-claude-code-source-leak-analysis-zh":3,"tags-claude-code-source-leak-analysis-zh":33,"related-lang-claude-code-source-leak-analysis-zh":48,"related-posts-claude-code-source-leak-analysis-zh":52,"series-tools-b8017776-9752-43f0-ba35-cec093dae349":89},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":21,"translated_content":10,"views":22,"is_premium":23,"created_at":24,"updated_at":24,"cover_image":11,"published_at":25,"rewrite_status":26,"rewrite_error":10,"rewritten_from_id":27,"slug":28,"category":29,"related_article_id":30,"status":31,"google_indexed_at":32,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":23},"b8017776-9752-43f0-ba35-cec093dae349","Claude Code 源码外洩後，我看到什麼","\u003Cp>2026 年 3 月 31 日，\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\" target=\"_blank\" rel=\"noopener\">Anthropic\u003C\u002Fa> 的 \u003Ca href=\"https:\u002F\u002Fclaude.ai\u002Fcode\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 因一個殘留的 \u003Ccode>.map\u003C\u002Fcode> 檔外洩。起點很土炮。\u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@anthropic-ai\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">npm 套件\u003C\u002Fa> 留下了可追蹤的下載線索，最後整份原始碼被翻出來。這種翻車方式，說真的，蠻像工程團隊最怕的那種低級失誤。\u003C\u002Fp>\u003Cp>但這件事好看的地方，不是八卦。是它把一個真正在跑的 AI 編程工具，直接攤在開發者眼前。你可以看到它怎麼切功能，怎麼處理權限，怎麼把模型呼叫包進產品。我的結論很直接：\u003Ca href=\"\u002Fnews\u002Fclaudes-c-compiler-benchmarks-analysis-zh\">Clau\u003C\u002Fa>de Code 不是靠花俏介面撐場，它更像一個把終端、狀態、權限和模型輸出拼起來的高密度軟體。\u003C\u002Fp>\u003Cp>如果你平常就在寫 Node、看打包流程，這次事件其實很有感。因為它不是什麼神秘滲透。它就是發布鏈條沒收乾淨。這也提醒我們，越是面向開發者的產品，越容易在 build、publ\u003Ca href=\"\u002Fnews\u002Fdistsim-distributed-systems-on-your-laptop-zh\">is\u003C\u002Fa>h、debug 這三個地方出包。\u003C\u002Fp>\u003Ch2>外洩是怎麼發生的\u003C\u002Fh2>\u003Cp>這次的入口很明確。有人在 \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@anthropic-ai\u002Fclaude-code\" target=\"blank\" rel=\"noopener\">@anthropic-ai\u002Fclaude-code\u003C\u002Fa> 裡，看到構建產物殘留的 source map。source map 的本意，是把壓縮後的程式碼對回原始檔。問題是，只要發布時沒清乾淨，原本只該留在內部的路徑、檔名、甚至儲存桶資訊，就可能被外部拿到。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775304426447-1y6q.png\" alt=\"Claude Code 源码外洩後，我看到什麼\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這類問題在前端圈不算少見。Webpack、Vite、esbuild、Rollup，大家都碰過 source map 管理不當的坑。差別在於，一般網站漏掉 source map，影響通常有限。可是一個 AI 編程產品漏掉，外洩的就不只是前端檔案，還可能連功能切分、請求流程、內部命名都一起露出來。\u003C\u002Fp>\u003Cp>講白了，這不是「駭客很強」的故事。這是「發布流程有洞」的故事。Anthropic 這次被抓到的，不是防線被打穿，而是包裝沒包好。對開發者來說，這種事故最刺眼，因為它太常見，也太不該發生。\u003C\u002Fp>\u003Cul>\u003Cli>外洩入口：npm 套件中的 \u003Ccode>.map\u003C\u002Fcode> 檔\u003C\u002Fli>\u003Cli>暴露內容：Claude Code 的完整原始碼\u003C\u002Fli>\u003Cli>問題核心：構建產物沒有清理乾淨\u003C\u002Fli>\u003Cli>影響面：產品實作、流程設計、命名習慣\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>原始碼裡最值得看的，不是秘密\u003C\u002Fh2>\u003Cp>我讀完後，最深的感覺不是「原來內部長這樣」。而是「原來它做得這麼克制」。Claude Code 沒有把自己做成一個大而全的 IDE 巨獸。它比較像一個圍繞命令列體驗打磨出來的工作流工具。輸入、整理上下文、呼叫模型、渲染結果，這幾步分得很清楚。\u003C\u002Fp>\u003Cp>這種設計其實很務實。AI 工具最怕什麼？最怕把所有東西都塞進一個入口。最後看起來功能很多，實際上每個功能都卡卡的。Claude Code 的做法剛好相反。它把複雜度藏在內部，外面只留必要的互動。開發者還是用熟悉的 shell，節奏不會被打斷。\u003C\u002Fp>\u003Cp>另一個重點，是它對會話狀態和上下文的處理。AI 編程工具真正難的，不是送一次 prompt。難的是多輪互動時，怎麼維持任務邊界。怎麼避免模型把前文、目錄、指令混成一鍋粥。從公開出來的程式碼看，Claude Code 在這部分下了不少功夫。\u003C\u002Fp>\u003Cul>\u003Cli>互動層偏薄，重點放在終端完成任務\u003C\u002Fli>\u003Cli>會話狀態有明確管理\u003C\u002Fli>\u003Cli>上下文整理比介面裝飾更重要\u003C\u002Fli>\u003Cli>模型回應和本地執行分工清楚\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>它和其他 AI 編程工具差在哪\u003C\u002Fh2>\u003Cp>如果把 Claude Code 和 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\" target=\"_blank\" rel=\"noopener\">GitHub Copilot\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Fcodex\" target=\"_blank\" rel=\"noopener\">OpenAI Codex\u003C\u002Fa> 放一起看，差異就很明顯。Copilot 長期比較像補全層。它擅長在編輯器裡補一行、接一段、給你提示。Codex 則更偏任務執行。Claude Code 的位置介於兩者之間，但氣質更偏 shell 使用者。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775304418994-hjoh.png\" alt=\"Claude Code 源码外洩後，我看到什麼\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這代表它的產品策略很明白：不是把 AI 塞進介面角落，而是把 AI 直接接進開發者原本就會用的工作流。這個選擇很重要。因為專業開發者最討厭的，不是功能少，而是工具要他改習慣。只要你要我換一套操作方式，我就會先皺眉。\u003C\u002Fp>\u003Cp>從程式碼結構也能看出，Anthropic 很在意命令、權限、檔案操作和輸出格式的邊界。這讓工具在做複雜任務時比較可控。也比較像真的工程軟體，而不是一個很會聊天的 demo。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\" target=\"_blank\" rel=\"noopener\">GitHub Copilot\u003C\u002Fa> 強在行級補全\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Fcodex\" target=\"_blank\" rel=\"noopener\">OpenAI Codex\u003C\u002Fa> 偏代理式任務執行\u003C\u002Fli>\u003Cli>Claude Code 更偏終端內閉環\u003C\u002Fli>\u003Cli>它的預設入口更像 shell，不是重度 IDE\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這種差異會直接影響使用者。\u003Ca href=\"\u002Fnews\u002Fmicrosoft-365-copilot-cowork-claude-partnership-zh\">Copi\u003C\u002Fa>lot 適合大量日常補全。Claude Code 則更適合願意把 AI 放進命令列的人。前者降低摩擦，後者像是把一個能做事的代理放到你眼前。\u003C\u002Fp>\u003Ch2>這次外洩透露了 Anthropic 的產品判斷\u003C\u002Fh2>\u003Cp>最有價值的部分，其實是 Anthropic 的產品判斷。Claude Code 的實作說明了一件事：開發者願意接受 AI 參與寫程式，但前提是它不能破壞原本工作方式。工具越像額外一層能力，接受度越高。工具越像逼你改流程，阻力就越大。\u003C\u002Fp>\u003Cp>這也解釋了為什麼 Anthropic 把力氣放在終端體驗、權限控制、上下文組織，而不是把畫面做得很炫。對很多專業開發者來說，終端本來就是高頻入口。你能直接把 AI 接進這個入口，價值通常比做一個漂亮面板更實際。\u003C\u002Fp>\u003Cp>這裡可以借一句 \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJeff_Atwood\" target=\"_blank\" rel=\"noopener\">Jeff Atwood\u003C\u002Fa> 的話：\u003Cblockquote>“The best code is no code at all.”\u003C\u002Fblockquote> 這句不是在講 Claude Code，但放在這裡很合。AI 編程工具的目標，不是讓你多寫幾段看起來很聰明的程式碼。它的目標，是少寫那些重複、機械、又很煩的東西。\u003C\u002Fp>\u003Cp>從這個角度看，Claude Code 的程式碼透露得很清楚。Anthropic 想證明的，不只是「AI 會寫 code」。而是「AI 能在真實開發流程裡穩定工作」。這包含權限、上下文、輸出格式、錯誤處理，還有不要吵到使用者。\u003C\u002Fp>\u003Ch2>和競品比，差異其實很現實\u003C\u002Fh2>\u003Cp>如果只看功能表，很多 AI 編程工具都差不多。都能對話，都能補 code，都能跑一些任務。但真正拉開距離的，通常是工程細節。誰能處理檔案系統。誰能控權限。誰能把上下文維持住。誰能在失敗時不要亂炸。\u003C\u002Fp>\u003Cp>這次外洩後，Claude Code 的輪廓反而更清楚了。它不是那種把所有能力攤在 UI 上的產品。它更像把模型能力收斂成一個可執行的工程層。這種做法看起來沒那麼炫，卻更接近真實工作場景。\u003C\u002Fp>\u003Cp>我整理幾個實際對比點，會比較好懂：\u003C\u002Fp>\u003Cul>\u003Cli>Copilot 比較像編輯器內的即時助手\u003C\u002Fli>\u003Cli>Codex 比較偏任務導向的代理\u003C\u002Fli>\u003Cli>Claude Code 更像終端裡的工作夥伴\u003C\u002Fli>\u003Cli>Claude Code 對本地狀態和輸出格式更重視\u003C\u002Fli>\u003Cli>它比較適合 shell 使用者，不是只靠 GUI 的人\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這種定位很現實，也很殘酷。因為它把門檻放在「你是不是熟 shell」。但換個角度看，這也正是它能打進工程團隊的原因。它沒有逼大家重學一套介面。\u003C\u002Fp>\u003Ch2>這次事故也在提醒整個產業\u003C\u002Fh2>\u003Cp>如果只把它當安全事故，就太小看這件事了。對外界來說，外洩讓 Claude Code 的內部實作提前攤開。對 Anthropic 來說，這是一次很直接的提醒：發布鏈路裡任何一個小洞，都可能把產品工程細節整包送出去。\u003C\u002Fp>\u003Cp>更重要的是，它讓大家對 AI 編程工具的討論，有了更硬的參照物。真正能留下來的工具，通常不是功能最多的那個，而是最懂開發者工作方式的那個。它要嘛融進終端，要嘛融進編輯器，要嘛融進任務流。它不能要求使用者為它重建習慣。\u003C\u002Fp>\u003Cp>我自己的判斷很簡單。接下來幾個月，Anthropic 應該會更嚴格處理構建產物、調試資訊和套件發布。其他做 AI 編程工具的團隊，也會更重視 source map、私有路徑、log 清理這些細節。因為這次事件很直接地告訴大家：很多事故不是被攻破，而是被順手帶出去。\u003C\u002Fp>\u003Cp>如果你是開發者，我反而建議你現在就回頭看自己的發布管線。source map 有沒有關。debug log 有沒有留。build 產物有沒有混進私有資訊。這些東西平常看起來很瑣碎，但真的出事時，往往就是它們。\u003C\u002Fp>\u003Cp>下一次你看到一個很會講 AI 的產品時，不妨先問一句：它的發布流程乾不乾淨？如果連這個都沒顧好，其他都只是包裝。\u003C\u002Fp>\u003Ch2>我會怎麼看接下來\u003C\u002Fh2>\u003Cp>我的預測很直接。接下來 AI 編程工具會更重視可回放、可稽核、可控權限這幾件事。因為只要工具真的進入團隊工作流，大家就會開始問：它到底做了什麼？改了哪些檔？誰批准的？能不能重跑？\u003C\u002Fp>\u003Cp>Claude Code 這次外洩，表面上是事故。實際上，它也讓市場更清楚看到一件事。AI 編程產品要活下來，不是靠聲量。是靠工程紀律。你把細節處理好，使用者才會真的拿它來做事。\u003C\u002Fp>","Claude Code 因 .map 檔外洩後，程式碼透露了它的產品節奏、工程取捨與 Anthropic 的發布方式，也暴露出 AI 編程工具常見的發布風險。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2022389695955346888",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775304426447-1y6q.png",[13,14,15,16,17,18,19,20],"Claude Code","Anthropic","source map","npm","AI 編程工具","原始碼外洩","GitHub Copilot","OpenAI Codex","zh",2,false,"2026-04-04T12:06:40.330526+00:00","2026-04-04T12:06:40.191+00:00","done","5676ca22-4a91-4cd0-9e2f-4138dc3a0275","claude-code-source-leak-analysis-zh","tools","8a93c4fc-8e53-49e9-b2d3-b7940eb26188","published","2026-04-07T07:41:07.534+00:00",[34,35,37,39,41,43,45,47],{"name":16,"slug":16},{"name":17,"slug":36},"ai-編程工具",{"name":20,"slug":38},"openai-codex",{"name":19,"slug":40},"github-copilot",{"name":13,"slug":42},"claude-code",{"name":14,"slug":44},"anthropic",{"name":15,"slug":46},"source-map",{"name":18,"slug":18},{"id":30,"slug":49,"title":50,"language":51},"claude-code-source-leak-analysis-en","Claude Code源码泄露后，读完我发现了什么","en",[53,59,65,71,77,83],{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":29},"68e4be16-dc38-4524-a6ea-5ebe22a6c4fb","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-zh","為什麼 VidHub 會員互通不是「買一次全設備通用」","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789450987-advz.png","2026-05-14T20:10:24.048988+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":29},"7a1e174f-746b-4e82-a0e3-b2475ab39747","why-buns-zig-to-rust-experiment-is-right-zh","為什麼 Bun 的 Zig-to-Rust 實驗是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767879127-5dna.png","2026-05-14T14:10:26.886397+00:00",{"id":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":29},"e742fc73-5a65-4db3-ad17-88c99262ceb7","why-openai-api-pricing-is-product-strategy-zh","為什麼 OpenAI API 定價是產品策略，不是註腳","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749859485-chvz.png","2026-05-14T09:10:26.003818+00:00",{"id":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":29},"c757c5d8-eda9-45dc-9020-4b002f4d6237","why-claude-code-prompt-design-beats-ide-copilots-zh","為什麼 Claude Code 的提示設計贏過 IDE Copilot","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742645084-dao9.png","2026-05-14T07:10:29.371901+00:00",{"id":78,"slug":79,"title":80,"cover_image":81,"image_url":81,"created_at":82,"category":29},"4adef3ab-9f07-4970-91cf-77b8b581b348","why-databricks-model-serving-is-right-default-zh","為什麼 Databricks Model Serving 是生產推論的正確預設","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692245329-a2wt.png","2026-05-13T17:10:30.659153+00:00",{"id":84,"slug":85,"title":86,"cover_image":87,"image_url":87,"created_at":88,"category":29},"b3305057-451d-48e4-9fb9-69215f7effad","why-ibm-bob-right-kind-ai-coding-assistant-zh","為什麼 IBM 的 Bob 才是對的 AI 寫碼助手","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778664653510-64hc.png","2026-05-13T09:30:21.881547+00:00",[90,95,100,105,110,115,120,125,130,135],{"id":91,"slug":92,"title":93,"created_at":94},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":136,"slug":137,"title":138,"created_at":139},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]