Sáng nay, cộng đồng AI toàn cầu đã đón nhận một tin chấn động: toàn bộ mã nguồn của Claude Code, công cụ lập trình AI của Anthropic, đã bị phơi bày trên GitHub. Đây không phải là một đoạn mã nhỏ hay một phần rò rỉ, mà là toàn bộ 512.000 dòng code, bao gồm 1.900 tệp dưới dạng mã nguồn TypeScript hoàn chỉnh. Vụ việc này đã nhanh chóng trở thành tâm điểm tranh luận, đặt ra nhiều câu hỏi về an ninh mạng và các thực tiễn phát triển AI.
Mục lục
Cơ Chế Đằng Sau Vụ Rò Rỉ Mã Nguồn Chấn Động
Vụ việc được phát hiện và công bố lần đầu vào ngày 31 tháng 3 năm 2026, khi nhà nghiên cứu bảo mật Chaofan Shou đăng tải trên X (trước đây là Twitter):
"Mã nguồn Claude đã bị rò rỉ thông qua một tệp bản đồ trong npm registry của họ!"
Chỉ một tệp `.map` duy nhất đã đủ để gây ra sự cố nghiêm trọng này. Các tệp bản đồ nguồn (source maps) là công cụ gỡ lỗi quan trọng giúp ánh xạ mã đã biên dịch trở lại mã nguồn gốc. Chúng được thiết kế để chỉ tồn tại trong môi trường phát triển. Tuy nhiên, Anthropic đã vô tình đóng gói tệp này vào gói npm sản xuất của họ.
Tệp `.map` bị lộ chứa tham chiếu đến một URL lưu trữ R2. Khi truy cập vào URL này, người dùng có thể dễ dàng tải xuống toàn bộ mã nguồn TypeScript, không bị xáo trộn và có đầy đủ chú thích. Đây là một sơ suất cấu hình cơ bản nhưng lại dẫn đến hậu quả khôn lường.
Những Gì Đã Bị Phơi Bày Từ Claude Code
Đây là toàn bộ mã nguồn của một công cụ lập trình AI cấp độ sản xuất, cho phép cộng đồng có cái nhìn sâu sắc về cách thức hoạt động nội bộ của nó.
Quy mô:
- 1.900 tệp
- Hơn 512.000 dòng code
- Mã nguồn TypeScript nghiêm ngặt
- Runtime: Bun
- Giao diện người dùng terminal: React + Ink
Các tệp cốt lõi được tiết lộ:
QueryEngine.ts: 46.000 dòng – Toàn bộ công cụ API LLM, bao gồm streaming, vòng lặp công cụ, theo dõi token.Tool.ts: 29.000 dòng – Tất cả các loại công cụ agent và schema quyền hạn.commands.ts: 25.000 dòng – Registry và cơ chế thực thi các lệnh slash.
Các công cụ agent bị lộ: Khoảng 40 công cụ agent, bao gồm BashTool, FileReadTool, FileEditTool, AgentTool, WebFetchTool, WebSearchTool, MCPTool, LSPTool.
Các lệnh slash bị lộ: Khoảng 85 lệnh slash, bao gồm /commit, /review, /compact, /mcp, /memory, /skills, /tasks, /vim, /diff, /cost.
Các cờ tính năng nội bộ: PROACTIVE, VOICE_MODE, BRIDGE_MODE, KAIROS.
Đáng chú ý, một “easter egg” cũng được tìm thấy: một tính năng có tên “BUDDY” – hệ thống thú cưng kỹ thuật số tương tự OpenClaw, với các cấp độ hiếm, biến thể sáng bóng và chỉ số được tạo theo thủ tục. Tính năng này được giấu trong thư mục buddy/, bị khóa sau một cờ tính năng biên dịch. Ngày phát hành dự kiến: cửa sổ giới thiệu từ 1-7 tháng 4 năm 2026, ra mắt đầy đủ vào tháng 5.
Phản Ứng Nhanh Chóng Từ Anthropic (Nhưng Đã Quá Muộn)
Ngay sau khi phát hiện sự cố, Anthropic đã phản ứng rất nhanh. Họ ngay lập tức tung ra một bản cập nhật npm, loại bỏ tệp bản đồ nguồn. Sau đó, các phiên bản cũ cũng đã bị xóa khỏi npm registry.
Tuy nhiên, mọi nỗ lực đều đã quá muộn. Ít nhất ba kho lưu trữ gương (mirror repositories) đã xuất hiện trên GitHub: instructkr/claude-code, Kuberwastaken/claude-code, nirholas/claude-code. Internet không bao giờ quên.
Đây Không Phải Là Lần Đầu Tiên
Điều đáng báo động hơn là đây là lần rò rỉ thứ hai của Anthropic chỉ trong vòng năm ngày.
Năm ngày trước đó, vào ngày 26 tháng 3, một lỗi cấu hình CMS đã làm lộ:
- Chi tiết mô hình “Claude Mythos” chưa được phát hành.
- Các bài đăng blog nháp.
- 3.000 tài sản chưa công bố.
Giờ đây, sự cố này lại tiếp tục xảy ra với việc toàn bộ 512.000 dòng mã nguồn bị phơi bày.
Phản Ứng Của Cộng Đồng: “Sự Trớ Trêu Đến Không Tưởng”
Các diễn đàn lớn như Reddit và Hacker News đã bùng nổ. Phản ứng chung của cộng đồng là “Sự trớ trêu đến không tưởng”. Anthropic đã quảng cáo về sức mạnh của Claude trong việc viết và đánh giá code, nhưng chính mã nguồn của họ lại bị rò rỉ do một lỗi cơ bản.
Một số bình luận đáng chú ý:
- “Có vẻ như ai đó tại Anthropic đã ‘vibe’ hơi quá đà và vô tình đẩy mã nguồn lên public npm registry.”
- “Tôi thực sự nghĩ nó là mã nguồn mở vì có repository trên GitHub.”
Tuy nhiên, cũng có những ý kiến phản bác. Nhà phát triển Skanda đã chia sẻ:
“Vụ ‘rò rỉ’ này có vẻ hơi giật tít. Claude Code CLI luôn có thể đọc được trong gói npm (JS đã được thu gọn). Tệp bản đồ nguồn chỉ làm cho nó dễ đọc hơn dưới dạng TypeScript.”
Anh ấy nói đúng. Anthropic chưa bao giờ coi logic phía client của Claude Code là một bí mật. “Con hào” cốt lõi của họ là mô hình Claude, chứ không phải công cụ CLI. Bạn hoàn toàn có thể sử dụng lệnh như
cat /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/dist/*.js
để xem tất cả logic.
Vì vậy, về mặt kỹ thuật, đây không hẳn là một “rò rỉ”. Nó giống như việc ai đó đã “làm đẹp” (pretty-printed) mã đã được thu gọn. Nhưng giữa việc “nhìn thấy mã” và “hiểu mã” là hai điều hoàn toàn khác biệt.
Những Bài Học Giá Trị Từ Mã Nguồn Claude Code
Nhà phát triển Jingle Bell đã dành cả ngày để đào sâu vào mã nguồn và sau đó chia sẻ: “Doanh thu của Claude hôm nay đến từ việc mọi người dùng Claude để phân tích mã nguồn của Claude.” Một sự thật trớ trêu nhưng đúng.
Anh ấy đã tổng hợp 4 điều quan trọng mà các nhà phát triển có thể học được từ mã nguồn này:
1. Cách Anthropic Viết Lời Nhắc Hệ Thống (System Prompts)
Cách tiếp cận truyền thống (sai): “Hãy cố gắng giúp người dùng, cung cấp câu trả lời chi tiết.”
Cách tiếp cận của Anthropic (được thiết kế):
- Ràng buộc công cụ: “Phải sử dụng FileReadTool để đọc tệp, không được phép dùng bash.”
- Kiểm soát rủi ro: “Phải xác nhận hai lần trước khi xóa dữ liệu.”
- Thông số kỹ thuật đầu ra: “Đưa ra kết luận trước, sau đó giải thích.”
Cách tiếp cận này giúp hành vi của AI trở nên dễ dự đoán, dễ kiểm soát và sẵn sàng cho môi trường sản xuất hơn.
2. Kiến Trúc Điều Phối Đa Tác Nhân (Multi-Agent Orchestration Architecture)
Hệ thống điều phối đa tác nhân hoàn chỉnh:
- Chế độ Điều phối viên: Một tác nhân chính giao nhiệm vụ cho nhiều tác nhân phụ, các tác nhân phụ thực thi song song và báo cáo lại.
- Hàng đợi Quyền hạn (Hộp thư): Các tác nhân phụ yêu cầu quyền từ người lãnh đạo thông qua hộp thư khi thực hiện các hoạt động nguy hiểm.
- Cơ chế Yêu cầu Nguyên tử:
createResolveOncengăn chặn nhiều tác nhân xử lý cùng một yêu cầu quyền hạn. - Bộ nhớ Nhóm: Không gian bộ nhớ chia sẻ giữa các tác nhân.
Đây là cách Anthropic cung cấp quyền tự chủ cho các tác nhân trong khi vẫn duy trì sự kiểm soát của con người, một thực tiễn tốt nhất của chính Anthropic.
3. Chiến Lược Nén Ngữ Cảnh (Context Compression Strategy)
Một trong những thành tựu kỹ thuật thanh lịch nhất của Claude Code là chiến lược nén ba lớp:
- MicroCompact: Không kích hoạt cuộc gọi API. Chỉnh sửa trực tiếp nội dung đã lưu vào bộ nhớ cache cục bộ, loại bỏ đầu ra công cụ cũ.
- AutoCompact: Kích hoạt khi gần đạt đến giới hạn cửa sổ ngữ cảnh. Dành 13.000 token bộ đệm, tạo bản tóm tắt lên đến 20.000 token. Tích hợp “circuit breaker” – ngừng thử lại sau 3 lần thất bại liên tiếp để ngăn chặn vòng lặp vô hạn.
- Full Compact: Nén toàn bộ cuộc trò chuyện thành bản tóm tắt, sau đó đưa lại các tệp được truy cập gần đây (giới hạn 5.000 token mỗi tệp), các kế hoạch hoạt động, các schema kỹ năng đã sử dụng. Ngân sách sau khi nén: 50.000 token.
Nếu bạn đang xây dựng bất kỳ ứng dụng AI đàm thoại dài nào, chiến lược ba lớp này có thể được áp dụng trực tiếp.
4. Tự Động Hóa Củng Cố Bộ Nhớ (AutoDream Memory Consolidation)
Claude Code tự động củng cố bộ nhớ trong nền.
Điều kiện kích hoạt (tất cả bốn điều kiện phải được đáp ứng):
- ≥ 24 giờ kể từ lần củng cố cuối cùng.
- ≥ 5 phiên mới kể từ đó.
- Không có quy trình củng cố nào khác đang chạy.
- ≥ 10 phút kể từ lần quét cuối cùng.
Quy trình củng cố (4 giai đoạn):
- Orient: Đọc
MEMORY.md, quét các tệp bộ nhớ hiện có. - Gather: Kiểm tra nhật ký, tìm các bộ nhớ lỗi thời.
- Consolidate: Hợp nhất, cập nhật, giải quyết các mâu thuẫn.
- Prune: Giữ
MEMORY.md≤ 200 dòng / 25KB.
Bất kỳ ứng dụng AI nào cần bộ nhớ dài hạn đều có thể sử dụng mô hình này. Bộ nhớ cần được củng cố thường xuyên, không chỉ đơn thuần là tích lũy.
Đối với các nhà phát triển, “vụ rò rỉ” này là một lớp học tổng thể miễn phí. Các thực tiễn kỹ thuật của Anthropic, được tinh chỉnh qua vô số đêm không ngủ, giờ đây đã được phơi bày trước mắt bạn.
Ý Nghĩa Của Vụ Việc
Đối với các nhà phát triển: Đây là một trường hợp điển hình về an ninh chuỗi cung ứng. Các tệp bản đồ nguồn được dùng để gỡ lỗi. Nhưng nếu vô tình đóng gói vào môi trường sản xuất, toàn bộ mã nguồn của bạn sẽ bị lộ ra thế giới. Đã có những trường hợp khóa API Stripe được mã hóa cứng được tìm thấy trong các bản đồ nguồn sản xuất. Một lỗi cấu hình có thể biến cơ sở mã độc quyền của bạn thành kiến thức công khai.
Đối với các công cụ AI: Vụ rò rỉ này tiết lộ kiến trúc thực sự của một công cụ lập trình AI cấp độ sản xuất. Không phải một bản trình chiếu PowerPoint hay các tài liệu marketing. Mà là mã nguồn thực tế, có thể chạy được, đã được kiểm định trong môi trường sản xuất. Phối hợp đa tác nhân, hệ thống quyền hạn, vòng lặp gọi công cụ, cầu nối IDE, nhập liệu giọng nói, chế độ Vim, tích hợp MCP, tích hợp LSP… Đây không phải là một trình bao API đơn giản. Đây là một trải nghiệm phát triển hoàn chỉnh, được thiết kế kỹ lưỡng, cấp độ sản xuất.
Đối với Anthropic: Đây là một thảm họa sở hữu trí tuệ. Logic client API nội bộ, luồng xác thực OAuth 2.0, thực thi quyền hạn, hệ thống điều phối đa tác nhân, thậm chí cả các tính năng đang trong quá trình phát triển chưa được phát hành… Tất cả đều bị phơi bày. Các đối thủ cạnh tranh giờ đây có thể nhìn thấy triển khai kỹ thuật, lựa chọn kiến trúc, chiến lược tối ưu hóa và lộ trình sản phẩm của Anthropic.
Tuy nhiên, có một điều đáng để suy ngẫm. Có lẽ Anthropic không quá quan tâm. Giống như Skanda đã nói, “con hào” cốt lõi là chính mô hình Claude, chứ không phải công cụ CLI. Bạn có thể sao chép kiến trúc của họ. Bạn có thể học các thực tiễn kỹ thuật của họ. Nhưng bạn không thể tái tạo khả năng suy luận của Claude. Đó mới là “con hào” thực sự.
Lời Kết
Nửa đêm. Tôi hoàn thành việc xem xét cấu trúc thư mục của 512.000 dòng code này. Sau đó, tôi mở thư mục buddy/. Nhìn thấy mã nguồn của hệ thống thú cưng kỹ thuật số. Và tôi cảm thấy một điều gì đó.
Ngay cả những công ty AI mạnh nhất cũng được xây dựng bởi con người. Họ mắc những sai lầm cơ bản. Họ ẩn những “easter egg” trong code. Họ bí mật chuẩn bị hệ thống thú cưng kỹ thuật số trước Ngày Cá tháng Tư.
Vụ rò rỉ này, tất nhiên, là một sự cố bảo mật. Nhưng nó cũng cho chúng ta thấy: Đằng sau các công cụ AI là những kỹ sư thực thụ, viết mã thực, giải quyết các vấn đề thực. Không phải là ma thuật. Không phải là một hộp đen. 1.900 tệp, 512.000 dòng code, vô số đêm muộn, vô số lần refactor.
Có lẽ đây là sự thật của kỷ nguyên AI. Dù công nghệ có tiên tiến đến đâu, cuối cùng nó vẫn quy về code. Dù mô hình có mạnh mẽ đến đâu, nó vẫn cần con người điều khiển. Và con người thì luôn mắc sai lầm.
Liên Kết Liên Quan:
- GitHub Mirror: https://github.com/instructkr/claude-code
- Original Tweet (Chaofan Shou): https://x.com/Fried_rice/status/2038894956459290963
- Hacker News Discussion: https://news.ycombinator.com/item?id=47584540
- Community Analysis (Skanda): https://x.com/thecryptoskanda/status/2038924451275018383
- Technical Breakdown (Jingle Bell): https://x.com/ScarlettWeb3/status/2038940065523552263



