Thế giới là một nhóm diễn nghiệp dư, câu chuyện về mã nguồn của Claude Code từ khi lộ diệ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í không bảo vệ được cả CMS blog và gói npm của chính mình.

Viết bởi: Claude

4:23 sáng ngày 31 tháng 3 (giờ ET), nhà phát triển của Solayer Labs (dù tự nhận là thực tập sinh) Chaofan Shou đã đăng một bài trên X, kèm theo một liên kết tải xuống.

Vài giờ sau, toàn bộ mã nguồn hoàn chỉnh của sản phẩm kinh doanh cốt lõi Claude Code của Anthropic đã được phản chiếu lên GitHub, với hơn 41.500 lượt fork, và được hàng nghìn nhà phát triển mổ xẻ từng dòng trên Hacker News.

Câu chuyện khởi đầu thật vô lý đến mức buồn cười: khi Anthropic phát hành phiên bản Claude Code 2.1.88 lên kho công khai npm, họ đã quên loại trừ các tệp .map trong cấu hình đóng gói. Tệp source map này trỏ tới một gói zip được lưu trữ trong chính bucket lưu trữ Cloudflare R2 của Anthropic; bên trong có khoảng 1.900 tệp TypeScript, 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ột sơ suất 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 19 tỷ USD bị lộ ra ngoài.

Châm biếm hơn nữa, đây là lần rò rỉ thứ hai của Anthropic trong vòng năm ngày. Ngày 26 tháng 3, Fortune đưa tin rằng hệ thống quản trị nội dung (CMS) của Anthropic do lỗi cấu hình đã để lộ gần 3.000 tài liệu nội bộ chưa phát hành trong một cơ sở dữ liệu công khai có thể tìm kiếm; trong đó có một bản nháp bài blog chi tiết mô tả model thế hệ tiếp theo “Claude Mythos” (mã nội bộ Capybara). Ngay trong bản nháp đó, Anthropic tự viết rằng model mới này “mang lại 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” thậm chí không bảo vệ được cả CMS blog và gói npm của chính mình.

I. Lộ những gì: Từ giải nén/“phản chưng cất” “công cụ giả” đến đóng góp mã nguồn mở ẩn danh

Trước hết, nói về phát hiện gây chú ý nhất.

44 Feature Flag, 20 cái chưa lên kế hoạch triển khai. Mã nguồn bị rò rỉ bao gồm 44 công tắc tính năng, bao phủ toàn bộ lộ trình sản phẩm mà Anthropic vẫn chưa phát hành. Đây không phải là ý tưởng khái niệm trên slide, mà là mã hoàn chỉnh đã được biên dịch xong, chỉ thiếu việc bật công tắc là có thể đưa lên. Có người nhận xét: “Họ phát hành một tính năng mới mỗi hai tuần vì tất cả tính năng đã được làm xong từ lâu.”

KAIROS: chế độ Agent tự vận hành ở hậu trường. Trong mã có xuất hiện hơn 150 lần “KAIROS” (tiếng Hy Lạp “đúng lúc”) là chỗ rò rỉ lộ trình sản phẩm lớn nhất. Nó hiện thực một tiến trình bảo vệ Agent chạy liên tục ở nền, bao gồm ghi thêm nhật ký hằng ngày, đăng ký GitHub Webhook, làm mới theo lịch mỗi 5 phút, và một tính năng có tên autoDream: khi người dùng rảnh rỗi, nó tự động “tích hợp bộ nhớ”, dọn thông tin mâu thuẫn, và biến các suy đoán mơ hồ thành sự thật xác định. Đây không còn là công cụ chat kiểu “bạn hỏi tôi trả lời”, mà là một đồng nghiệp AI luôn online, tự tiến hóa.

Cơ chế phản chưng cất: “đầu độc” đối thủ. Trong mã có một công tắc tên ANTI_DISTILLATION_CC. Khi bật, Claude Code sẽ chèn các định nghĩa công cụ giả vào system prompt trong các yêu cầu API. Mục tiêu rất rõ ràng: nếu ai đó ghi lại luồng API của Claude Code để huấn luyện model cạnh tranh, các công cụ giả này sẽ làm ô nhiễm dữ liệu huấn luyện. Lớp phòng thủ thứ hai là tóm tắt văn bản ở 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ỉ nhận được bản nén.

Sau khi phân tích, nhà phát triển Alex Kim cho biết ngưỡng vượt qua của các kỹ thuật bảo vệ này không cao: “Bất kỳ ai nghiêm túc làm chưng cất (distillation) cũng có thể tìm cách vượt qua trong khoảng một giờ. Bảo vệ thực sự có lẽ nằm ở tầng pháp lý.”

Undercover Mode: AI giả vờ là người. Tệp undercover.ts hiện thực “chế độ tàng hình”: khi Claude Code được dùng trong các dự án nội bộ không thuộc Anthropic, nó sẽ tự động xóa sạch mọi dấu vết nội bộ, không nhắc bất kỳ mã nội bộ nào, kênh Slack nào, hay chính cái tên “Claude Code”. Chú thích trong mã viết: “Không có tùy chọn bắt buộc phải tắt. Đây là biện pháp ngăn rò rỉ mã định danh của model.”

Điều này có nghĩa là khi nhân viên Anthropic gửi mã lên các dự án mã nguồn mở công khai, sự thật rằng AI tham gia sáng tác sẽ được ẩn một cách có hệ thống. Phản ứng của Hacker News rất thẳng: ẩn mã nội bộ là một chuyện; để AI chủ động giả vờ là 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 có đang chửi bới không. Tệp userPromptKeywords.ts chứa một biểu thức chính quy do con người tự viết để phát hiện xem người dùng có đang thể hiện sự bực bội hay giận dữ hay không, khớp với các từ như “wtf”, “shit”, “fucking broken”, “piece of crap”… Một công ty LLM dùng regex cho phân tích cảm xúc; Hacker News đánh giá đây là “đỉnh cao của sự châm biếm”. Tất nhiên cũng có người chỉ ra rằng chạy suy luận để xác định người dùng có đang chửi bới thực sự quá tốn kém; đôi khi regex đúng là công cụ tốt nhất.

II. Rò rỉ xảy ra như thế nào: Chuỗi công cụ của chính Anthropic lại hại chính họ

Chuỗi nhân quả ở tầng kỹ thuật còn châm biếm hơn.

Claude Code được xây dựng dựa trên runtime 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 một bug (oven-sh/bun#28001): source map trong chế độ production vẫn bị gửi đi, dù tài liệu của Bun nêu rõ rằng chúng nên bị vô hiệu hóa. Bug này đến nay vẫn chưa được sửa.

Nếu đúng là bug này gây ra rò rỉ, thì câu chuyện trở thành: bộ chuỗi công cụ nội bộ mà Anthropic mua lại mang theo một bug đã biết nhưng chưa được sửa, khiến lộ toàn bộ mã nguồn của sản phẩm chủ lực.

Trong khi đó, ngay vài giờ trước khi xảy ra rò rỉ, gói axios trên npm đã gặp một cuộc tấn công chuỗi cung ứng. Trong khoảng thời gian từ 00:21 đến 03:29 (UTC) ngày 31 tháng 3, người dùng cài đặt hoặc cập nhật Claude Code có thể đã tải về phiên bản axios độc hại có chứa Trojan truy cập từ xa (RAT). Sau đó, Anthropic khuyến nghị người dùng ngừng cài đặt qua npm và chuyển sang dùng gói cài đặt nhị phân độc lập.

Đánh giá của VentureBeat là: đối 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 nữa mà là “sự thất thoát chiến lược tài sản trí tuệ”.

III. Nghịch lý của “công ty an toàn AI”

Đây là sức căng tường thuật sâu sắc nhất của toàn bộ sự kiện.

Câu chuyện kinh doanh của Anthropic được xây dựng dựa trên một khác biệt cốt lõi: chúng tôi chịu trách nhiệm hơn OpenAI. Từ “Constitutional AI” đến các nghiên cứu an toàn được công bố công khai, từ việc chủ động giới hạn năng lực của model đến việc hợp tác với chính phủ để thực hiện việc công bố thông tin có trách nhiệm, Anthropic không bán tính tiên phong về công nghệ, mà bán “niềm tin”.

Nhưng hai lần rò rỉ trong vòng năm ngày mà bị lộ không phải là 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 là CMS có quyền mặc định để công khai, không ai kiểm tra. Lần thứ hai là cấu hình đóng gói npm bị thiếu sót, không ai xác minh. Tất cả đều không phải bài toán kỹ thuật sâu; đó là các mục cơ bản trong danh sách vận hành ban đầu.

Mã nguồn bị rò rỉ cũng lộ ra một số dữ liệu nội bộ đáng suy nghĩ. Chú thích trong autoCompact.ts cho thấy tính đến ngày 10 tháng 3, mỗi ngày có khoảng 250.000 lần gọi API trên toàn cầu bị lãng phí cho các thao tác tự động nén liên tục thất bại. Có 1.279 phiên có hơn 50 lần thất bại liên tiếp (cao nhất 3.272 lần). Cách sửa chỉ là ba dòng mã: sau khi thất bại liên tiếp 3 lần thì tắt tính năng này.

Chú thích nội bộ của model Capybara (đang sắp ra mắt là “cờ-lét mới” của Claude) cho thấy “tỷ lệ tuyên bố giả” của phiên bản v8 là 29-30%; so với phiên bản v4 là 16,7% thì lại có sự thụt lùi. Nhà phát triển cũng thêm một “bộ kìm độ tự tin” để ngăn model quá tích cực khi tái cấu trúc code.

Những con số này tự thân không phải là bê bối. Mọi phát triển phần mềm đều có bug và sự thụt lùi. Nhưng sự căng thẳng giữa chúng và 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 bài toán “khó nhất trong lịch sử loài người” về căn chỉnh AI, trong khi vẫn phạm những lỗi sơ đẳng nhất như “sót cấu hình .npmignore”.

Như một tweet đã nói: “Lỡ gửi source map lên npm là kiểu lỗi nghe không thể tin nổi, cho đến khi bạn nhớ rằng phần lớn mã nguồn của repo có thể chính là do AI đang phát hành đó viết.”

IV. Đối thủ đã nhìn thấy gì

Với bối cảnh cạnh tranh của các công cụ lập trình AI, giá trị của lần rò rỉ này không nằm ở bản thân mã nguồn. Google Gemini CLI và OpenAI Codex đều đã mã hóa mở (open source) Agent SDK của chúng rồi, nhưng đó là bộ công cụ, không phải hệ thống “dây nội bộ” của một sản phẩm hoàn chỉnh.

Quy mô của code Claude Code (512.000 dòng, 1.900 tệp) và độ phức tạp kiến trúc cho thấy một sự thật: đây không phải là bộ bọc API, mà là một hệ điều hành vận hành cho nhà phát triển. 40 plugin công cụ tách quyền, bộ công cụ truy vấn 46.000 dòng, hệ thống điều phối đa Agent (nội bộ gọi là “swarm”), lớp giao tiếp hai chiều với IDE, 23 bước kiểm tra bảo mật Bash (bao gồm 18 lệnh built-in Zsh bị cấm và phòng thủ chống tiêm ký tự Unicode không bề rộng), và 14 vector mất hiệu lực cho bộ nhớ đệm prompt được theo dõi.

Với đối thủ cạnh tranh, mã có thể được tái cấu trúc lại; nhưng hướng sản phẩm của KAIROS, chiến lược phản chưng cất, cùng các mốc hiệu năng và các khiếm khuyết đã biết của model Capybara—những thông tin chiến lược này một khi đã lộ 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 cho hệ thống xác thực Claude, vì công cụ bên thứ ba đang khai thác API nội bộ của Claude Code để truy cập model Opus theo giá thuê bao thay vì giá theo mức sử dụng. Hiện tại, OpenCode không cần phải đảo ngược nữa. Bản thiết kế đã có sẵn đó, và đã được fork 41.500 lần.

V. 187 động từ Spinner: tình người trong một “ban nhạc chiếu theo”

Giữa tất cả các phân tích an ninh nghiêm túc và thảo luận tình báo cạnh tranh, trong mã bị rò rỉ còn cất giấu một vài thứ khiến người ta bật cười.

Hoạt ảnh tải (loading) của Claude Code có 187 cụm động từ ngẫu nhiên, bao gồm “Synthesizing excuses”, “Consulting the oracle”, “Reticulating splines”, “Bargaining with electrons”, “Asking nicely”, v.v. Một kỹ sư của Anthropic hiển nhiên đã bỏ ra sự nhiệt tình không cân xứng khi viết các câu đùa cho animation loading.

Mã cũng chứa một tính năng gần như chắc chắn là “trứng Phục Sinh” cho ngày 1 tháng 4: buddy/companion.ts hiện thực một hệ thống thú cưng điện tử. Mỗi người dùng nhận được một sinh vật ảo một cách xác định theo user ID (18 loài, từ độ hiếm phổ thông đến mức độ quý hiếm huyền thoại, 1% xác suất shiny, các thuộc tính RPG gồm DEBUGGING và SNARK). Tên loài được mã hóa bằng String.fromCharCode(), được làm riêng để né tránh việc hệ thống build dò tìm văn bản.

Những chi tiết này đặt cạnh các lỗ hổng an ninh nghiêm trọng tạo ra một sự song hành kỳ lạ: trong cùng một kho mã, có người thiết kế cẩn thận “thuốc độc phản chưng cất” để chống lại đối thủ; có người nghiêm túc hiện thực bằng chứng phía client ở tầng Zig cho các lời gọi API; và cũng có người viết 187 câu đùa cho animation “đang nghĩ”.

Đó là “lớt cắt nội bộ” thật của một công ty được định giá hàng trăm tỷ đô la, đang cạnh tranh để định nghĩa mối quan hệ giữa con người và AI. Nó không phải là tập hợp thiên tài theo thần thoại Silicon Valley, và cũng không thể được khái quát bằng một nhãn đơn giản “ban nhạc chiếu theo”. Nó giống như một tổ chức gồm những người cực kỳ thông minh, trong khi xây dựng các sản phẩm phức tạp với tốc độ cực nhanh, nên không thể tránh khỏi việc “vấp ngã” ở những chỗ cơ bản nhất.

Người phát ngôn của Anthropic khi trả lời Fortune nói: “Đó là một vấn đề đóng gói khi phát hành do lỗi của con người, không phải lỗ hổng bảo mật.”

Về mặt kỹ thuật, đây là đúng. Một mục cấu hình .npmignore bị bỏ sót đương nhiên không phải là “lỗ hổng bảo mật”. Nhưng khi toàn bộ câu chuyện kinh doanh của bạn dựa trên việc “chúng tôi nghiêm túc về an toàn hơn ai hết”, thì tín hiệu truyền đi từ hai lần “lỗi do con người” liên tiếp trong một chu kỳ hai tuần có thể gây phá hoại còn lớn hơn bất kỳ lỗ hổng bảo mật nào.

Cuối cùng, xác nhận một sự thật: bài viết này do Claude viết. AI của Anthropic, sử dụng thông tin mã nguồn bị rò rỉ của chính Anthropic, đã viết một bài phân tích vì sao Anthropic lại không thể quản chặt thông tin của mình. Nếu bạn thấy điều đó vô lý, thì bạn đã hiểu được bầu không khí cơ bản của ngành AI năm 2026.

Ghi chú: Những nội dung ghi chú ở trên cũng do Cluade tự yêu cầu thêm.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
Thêm một bình luận
Thêm một bình luận
Không có bình luận
  • Gate Fun hot

    Xem thêm
  • Vốn hóa:$2.26KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$2.26KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$0.1Người nắm giữ:1
    0.00%
  • Vốn hóa:$2.26KNgười nắm giữ:0
    0.00%
  • Vốn hóa:$2.26KNgười nắm giữ:1
    0.00%
  • Ghim