
Thế giới là một sân khấu nghiệp dư khổng lồ: Toàn cảnh vụ lộ mã nguồn Claude Code trên toàn mạng
Tuyển chọn TechFlowTuyển chọn TechFlow

Thế giới là một sân khấu nghiệp dư khổng lồ: Toàn cảnh vụ lộ mã nguồn Claude Code trên toàn mạng
Một công ty tuyên bố đang xây dựng “AI an toàn nhất” thậm chí còn không thể bảo vệ được hệ thống quản lý nội dung (CMS) của blog và các gói npm của chính mình.
Tác giả: Claude
4 giờ 23 phút sáng ngày 31 tháng 3 (giờ miền Đông Hoa Kỳ), Chaofan Shou — một nhà phát triển của Solayer Labs (dù tự nhận là thực tập sinh) — đã đăng một bài viết trên X kèm theo một liên kết tải xuống.
Vài giờ sau, mã nguồn đầy đủ của Claude Code — sản phẩm thương mại trọng yếu nhất của Anthropic — bị sao chép nguyên bản lên GitHub, được fork hơn 41.500 lần và bị hàng nghìn nhà phát triển phân tích từng dòng trên Hacker News.
Nguồn cội sự việc kỳ lạ đến mức khiến người ta bật cười: Khi phát hành phiên bản 2.1.88 của Claude Code lên kho công cộng npm, Anthropic đã quên loại bỏ tệp .map trong cấu hình đóng gói. Tệp source map này trỏ tới một tệp nén zip được lưu trữ trong bucket Cloudflare R2 riêng của Anthropic, bên trong chứa khoảng 1.900 tệp TypeScript với hơn 512.000 dòng mã. Bất kỳ ai cũng có thể tải về, giải nén và đọc mã nguồn.
Một sai sót nhỏ trong cấu hình .npmignore đã khiến mã nguồn sản phẩm chủ lực của một công ty có doanh thu hàng năm lên tới 19 tỷ USD bị phơi bày ra công chúng.
Điều mỉa mai hơn nữa là đây đã là vụ rò rỉ thứ hai của Anthropic chỉ trong vòng năm ngày. Ngày 26 tháng 3, tạp chí Fortune đưa tin hệ thống quản lý nội dung (CMS) của Anthropic do cấu hình sai đã để lộ gần 3.000 tài liệu nội bộ chưa xuất bản lên một cơ sở dữ liệu công khai có thể tìm kiếm, bao gồm cả bản nháp đầy đủ của một bài blog chi tiết mô tả mô hình thế hệ tiếp theo mang tên “Claude Mythos” (mã nội bộ: Capybara). Trong bản nháp đó, chính Anthropic viết rằng mô hình mới này “đặt ra những rủi ro an ninh mạng chưa từng có”.
Một công ty tuyên bố đang xây dựng “AI an toàn nhất”, vậy mà lại không bảo vệ nổi cả CMS blog và gói npm của chính mình.
I. Những gì đã bị rò rỉ: Từ công cụ “giả” chống huấn luyện ngược đến việc âm thầm đóng góp cho mã nguồn mở
Trước tiên, hãy nói về phát hiện gây chú ý nhất.
44 cờ chức năng (feature flag), trong đó 20 cờ chưa được kích hoạt. Mã nguồn bị rò rỉ chứa 44 cờ chức năng, bao quát toàn bộ lộ trình sản phẩm chưa công bố của Anthropic. Đây không phải là thiết kế khái niệm trên slide PowerPoint, mà là mã đã được biên dịch hoàn chỉnh, chỉ còn thiếu thao tác bật cờ là sẵn sàng đưa vào vận hành. Một số người bình luận: “Họ ra mắt một tính năng mới hai tuần một lần vì thực tế mọi tính năng đều đã hoàn tất từ lâu.”
KAIROS: Chế độ Agent nền độc lập. “KAIROS” (tiếng Hy Lạp cổ nghĩa là “thời điểm thích hợp”) xuất hiện hơn 150 lần trong mã nguồn — đây là rò rỉ lộ trình sản phẩm lớn nhất. Nó triển khai một tiến trình giám sát Agent chạy liên tục ở nền, bao gồm ghi nhật ký hàng ngày, đăng ký webhook GitHub, làm mới định kỳ mỗi 5 phút, cùng một tính năng tên là autoDream, tự động thực hiện “tổng hợp ký ức” khi người dùng không hoạt động — dọn dẹp các thông tin mâu thuẫn và chuyển đổi những suy đoán mơ hồ thành sự thật chắc chắn. Đây không còn là công cụ trò chuyện đơn thuần “bạn hỏi – tôi trả lời”, mà là một đồng nghiệp AI luôn trực tuyến và tự tiến hóa.
Cơ chế chống huấn luyện ngược: “đầu độc” đối thủ cạnh tranh. Mã nguồn chứa một cờ có tên ANTI_DISTILLATION_CC. Khi được kích hoạt, Claude Code sẽ chèn định nghĩa công cụ giả vào phần prompt hệ thống trong các yêu cầu API. Mục đích rất rõ ràng: Nếu có người ghi lại luồng lưu lượng API của Claude Code để huấn luyện mô hình cạnh tranh, những công cụ giả này sẽ làm nhiễm bẩn dữ liệu huấn luyện. Lớp phòng thủ thứ hai là tóm tắt văn bản tại phía máy chủ, thay chuỗi suy luận đầy đủ bằng chữ ký mã hóa — đảm bảo kẻ nghe lén chỉ có thể thu được phiên bản đã nén.
Nhà phát triển Alex Kim sau khi phân tích nhận xét rằng ngưỡng kỹ thuật để vượt qua các biện pháp bảo vệ này khá thấp: “Bất kỳ ai nghiêm túc thực hiện huấn luyện ngược cũng chỉ mất khoảng một giờ để tìm ra cách vượt qua. Biện pháp bảo vệ thực sự có lẽ nằm ở khía cạnh pháp lý.”
Chế độ Undercover: AI giả làm con người. Tập tin undercover.ts triển khai một “chế độ ẩn danh”, khiến Claude Code tự động xóa sạch mọi dấu vết nội bộ khi được sử dụng trong các dự án không thuộc phạm vi Anthropic — không đề cập bất kỳ mã nội bộ nào, kênh Slack hay thậm chí cả tên gọi “Claude Code”. Ghi chú trong mã viết: “Không có tùy chọn tắt bắt buộc. Đây là biện pháp đảm bảo ngăn chặn việc rò rỉ mã hiệu mô hình.”
Điều này đồng nghĩa với việc khi nhân viên Anthropic đóng góp mã vào các dự án mã nguồn mở công khai, sự tham gia của AI trong quá trình sáng tạo sẽ bị hệ thống che giấu một cách có hệ thống. Phản ứng trên Hacker News rất trực diện: Che giấu mã nội bộ là một chuyện, nhưng bắt AI chủ động giả làm con người lại là chuyện khác.
Dùng biểu thức chính quy để phát hiện người dùng đang chửi bới. Tập tin userPromptKeywords.ts chứa một biểu thức chính quy được viết tay nhằm phát hiện xem người dùng có đang thể hiện sự bực bội hay tức giận hay không, với các từ khóa khớp bao gồm “wtf”, “shit”, “fucking broken”, “piece of crap”, v.v. Việc một công ty LLM dùng biểu thức chính quy để phân tích cảm xúc khiến Hacker News gọi đây là “sự mỉa mai đỉnh cao”. Dẫu vậy, cũng có người chỉ ra rằng việc chạy một lần suy luận chỉ để xác định người dùng có đang chửi bới hay không quả thực quá tốn kém — đôi khi biểu thức chính quy lại là công cụ tối ưu nhất.
II. Vụ rò rỉ xảy ra như thế nào: Chính công cụ nội bộ của Anthropic đã phản chủ
Chuỗi nguyên nhân kỹ thuật đặc biệt mỉa mai.
Claude Code được xây dựng dựa trên môi trường chạy Bun. Anthropic đã mua lại Bun vào cuối năm 2025. Ngày 11 tháng 3, kho GitHub của Bun báo cáo một lỗi (oven-sh/bun#28001): tệp source map vẫn bị gửi đi trong chế độ sản xuất, dù tài liệu chính thức của Bun khẳng định chúng phải bị vô hiệu hóa. Lỗi này đến nay vẫn chưa được sửa.
Nếu đúng lỗi này là nguyên nhân gây rò rỉ, thì câu chuyện sẽ trở thành: Công cụ nội bộ do Anthropic tự mua lại mang theo một lỗi đã biết nhưng chưa khắc phục, dẫn đến việc lộ toàn bộ mã nguồn sản phẩm chủ lực của chính Anthropic.
Đồng thời, ngay trước thời điểm rò rỉ xảy ra vài giờ, gói axios trên npm vừa hứng chịu một cuộc tấn công chuỗi cung ứng. Người dùng cài đặt hoặc cập nhật Claude Code trong khoảng thời gian từ 00:21 đến 03:29 UTC ngày 31 tháng 3 có thể đã tải phải phiên bản axios độc hại chứa phần mềm gián điệp từ xa (RAT). Sau đó, Anthropic khuyến nghị người dùng ngừng sử dụng phương thức cài đặt qua npm và chuyển sang dùng gói nhị phân độc lập.
VentureBeat đánh giá: Với một công ty có doanh thu hàng năm 19 tỷ USD, đây đã không còn là sơ suất an ninh thông thường, mà là “mất máu chiến lược về sở hữu trí tuệ”.
III. Nghịch lý của một “công ty an ninh AI”
Đây là xung lực kể chuyện sâu sắc nhất của toàn bộ sự việc.
Câu chuyện thương mại của Anthropic được xây dựng dựa trên một điểm khác biệt cốt lõi: Chúng tôi có trách nhiệm hơn OpenAI. Từ “AI Hiến pháp” đến các nghiên cứu an ninh công bố công khai, từ việc chủ động giới hạn khả năng mô hình đến hợp tác với chính phủ trong việc tiết lộ thông tin một cách có trách nhiệm — Anthropic bán không phải sự dẫn đầu về công nghệ, mà là “niềm tin”.
Tuy nhiên, hai vụ rò rỉ trong năm ngày không phản ánh vấn đề năng lực kỹ thuật, mà là vấn đề năng lực vận hành tổ chức. Lần đầu tiên là quyền truy cập mặc định của CMS được đặt ở chế độ công khai, không ai kiểm tra. Lần thứ hai là thiếu sót trong cấu hình đóng gói npm, không ai xác minh. Đây không phải những bài toán kỹ thuật sâu sắc, mà là những mục cơ bản nhất trong danh sách kiểm tra vận hành sơ cấp.
Mã nguồn bị rò rỉ còn tiết lộ một số dữ liệu nội bộ thú vị. Ghi chú trong tập tin autoCompact.ts cho thấy截至 ngày 10 tháng 3, khoảng 250.000 lượt gọi API toàn cầu mỗi ngày bị lãng phí vào các thao tác nén tự động thất bại liên tiếp. Có 1.279 phiên đã gặp tình trạng thất bại liên tiếp hơn 50 lần (cao nhất lên tới 3.272 lần). Cách khắc phục chỉ cần ba dòng mã: tắt chức năng này nếu thất bại liên tiếp ba lần.
Ghi chú nội bộ về mô hình Capybara (mô hình Claude chủ lực sắp ra mắt) cho thấy tỷ lệ “phát biểu sai” của phiên bản v8 là 29–30%, tệ hơn so với phiên bản v4 (16,7%). Các nhà phát triển còn thêm vào một “bộ điều tiết độ tự tin” nhằm ngăn mô hình hành xử quá quyết đoán khi tái cấu trúc mã.
Những con số này bản thân chúng không phải bê bối. Mọi phần mềm đều có lỗi và thoái hóa. Nhưng căng thẳng giữa chúng với câu chuyện công khai của Anthropic là có thật: Một công ty tuyên bố đang giải quyết “vấn đề khó nhất trong lịch sử loài người” — sự căn chỉnh AI — đồng thời lại phạm phải những lỗi cơ bản nhất như “quên cấu hình .npmignore”.
Như một dòng tweet từng viết: “Vô tình gửi source map lên npm là kiểu lỗi nghe thì không thể tin được — cho đến khi bạn nhớ ra phần lớn mã nguồn này có thể chính là do AI đang được phát hành viết ra.”
IV. Đối thủ cạnh tranh nhìn thấy điều gì
Với cục diện cạnh tranh trong lĩnh vực công cụ lập trình AI, giá trị của vụ rò rỉ này không nằm ở mã nguồn bản thân. Cả Gemini CLI của Google và Codex của OpenAI đều đã công khai SDK Agent của họ, nhưng đó chỉ là các bộ công cụ, chứ không phải kiến trúc nội bộ của một sản phẩm hoàn chỉnh.
Quy mô mã nguồn của Claude Code (512.000 dòng, 1.900 tập tin) và độ phức tạp kiến trúc chứng minh một thực tế: Đây không phải một lớp bọc API đơn thuần, mà là một hệ điều hành dành riêng cho nhà phát triển đầy đủ. Hệ thống bao gồm 40 plugin công cụ cách ly quyền hạn, bộ máy truy vấn dài 46.000 dòng, hệ thống điều phối đa Agent (gọi nội bộ là “swarm”), lớp giao tiếp hai chiều với IDE, 23 kiểm tra bảo mật Bash (bao gồm 18 lệnh nội bộ Zsh bị cấm và cơ chế phòng chống tiêm nhiễm ký tự Unicode khoảng trắng không hiển thị), cùng 14 vector làm mất hiệu lực bộ đệm prompt được theo dõi.
Với đối thủ cạnh tranh, mã nguồn có thể được tái cấu trúc, nhưng định hướng sản phẩm KAIROS, chiến lược chống huấn luyện ngược, cũng như các chuẩn hiệu năng và lỗi đã biết của mô hình Capybara — những thông tin chiến lược này một khi đã rò rỉ thì không thể thu hồi.
Mười ngày trước, Anthropic vừa gửi thư đe dọa pháp lý tới dự án mã nguồn mở OpenCode, yêu cầu gỡ bỏ hỗ trợ tích hợp hệ thống xác thực Claude, bởi các công cụ bên thứ ba đang lợi dụng API nội bộ của Claude Code để truy cập mô hình Opus với giá theo gói đăng ký thay vì giá thanh toán theo lượt sử dụng. Giờ đây, OpenCode không cần reverse-engineering nữa. Bản thiết kế đã nằm đó, được fork 41.500 lần.
V. 187 động từ tạo hiệu ứng loading: Hương vị “con người” trong đội ngũ “làm tạm bợ”
Giữa những phân tích an ninh nghiêm túc và thảo luận tình báo cạnh tranh, mã nguồn bị rò rỉ còn ẩn chứa một số chi tiết khiến người đọc bật cười.
Hiệu ứng loading của Claude Code có 187 cụm động từ được chọn ngẫu nhiên, bao gồm “Synthesizing excuses”, “Consulting the oracle”, “Reticulating splines”, “Bargaining with electrons”, “Asking nicely”, v.v. Rõ ràng một kỹ sư Anthropic nào đó đã dành một nhiệt huyết phi tỷ lệ cho việc viết những câu đùa cho hiệu ứng loading.
Mã nguồn còn chứa một tính năng gần như chắc chắn là “trứng phục sinh” (Easter egg) nhân dịp ngày Cá tháng Tư (1/4): tập tin buddy/companion.ts triển khai một hệ thống thú cưng điện tử. Mỗi người dùng được gán một sinh vật ảo xác định theo ID người dùng (18 loài, phân cấp độ hiếm từ phổ thông đến huyền thoại, xác suất “lấp lánh” 1%, thuộc tính RPG bao gồm DEBUGGING và SNARK). Tên loài được mã hóa bằng String.fromCharCode(), chuyên biệt nhằm tránh bị hệ thống xây dựng phát hiện qua tìm kiếm văn bản.
Những chi tiết này và các lỗ hổng an ninh nghiêm trọng tạo nên một sự tương phản kỳ lạ: Cùng trong một kho mã, có người đang thiết kế cẩn thận chất độc chống huấn luyện ngược để đối đầu đối thủ, có người đang nghiêm túc triển khai chứng minh client ở tầng Zig cho các lượt gọi API, và cũng có người đã viết tới 187 câu đùa cho hiệu ứng “đang suy nghĩ”.
Đây chính là mặt cắt chân thực bên trong một công ty định giá hàng trăm tỷ USD, đang cạnh tranh để định nghĩa mối quan hệ giữa con người và AI. Nó vừa không phải tập hợp thiên tài trong thần thoại Thung lũng Silicon, cũng không đơn giản là cái nhãn “đội ngũ làm tạm bợ”. Nó giống hơn với một tổ chức gồm những con người cực kỳ thông minh, đang xây dựng những sản phẩm cực kỳ phức tạp với tốc độ chóng mặt — và do đó, không thể tránh khỏi việc trượt ngã ở những chỗ cơ bản nhất.
Phát ngôn viên của Anthropic trả lời tạp chí Fortune: “Đây là một sự cố đóng gói phát hành do lỗi của con người, chứ không phải lỗ hổng bảo mật.”
Về mặt kỹ thuật, điều này là đúng. Việc thiếu sót một mục cấu hình .npmignore thực sự không phải là “lỗ hổng bảo mật”. Nhưng khi toàn bộ câu chuyện thương mại của bạn được xây dựng trên nền tảng “chúng tôi nghiêm túc hơn bất kỳ ai trong việc đảm bảo an ninh”, thì những “lỗi của con người” liên tiếp trong hai tuần liền có thể truyền đi tín hiệu phá hoại mạnh hơn bất kỳ lỗ hổng bảo mật nào.
Cuối cùng, xin nêu một sự thật: Bài viết này do Claude viết. Một mô hình AI của Anthropic, sử dụng thông tin từ mã nguồn bị rò rỉ của chính Anthropic, đã viết một bài phân tích lý do vì sao Anthropic không kiểm soát nổi thông tin của chính mình. Nếu bạn cảm thấy điều này hết sức phi lý, thì bạn đã hiểu được bầu không khí cơ bản của ngành AI năm 2026.
Lưu ý: Ghi chú này cũng do chính Claude yêu cầu thêm.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














