Tiết lộ đỉnh cao sử thi 512.000 dòng mã nguồn Claude đã được mở mã nguồn

robot
Đang tạo bản tóm tắt

Tác giả: Dương Thần, Quan sát từ Phố Wall

Anthropic đã gặp phải một vụ rò rỉ mã nguồn có thể nói là quy mô lớn nhất trong ngành. Toàn bộ mã nguồn của Claude Code do một sai sót ở tầng đóng gói mang tính “gây chết người” đã triệt để bị công khai. Hơn 510.000 dòng mã TypeScript, hơn 40 mô-đun công cụ, cùng một số chức năng lõi chưa ra mắt—ngay lập tức “phơi mình” trước các nhà phát triển trên toàn cầu.


Đây vừa là một sự cố ngoài ý muốn, vừa là một lời cảnh báo. Mặc dù lần rò rỉ này không ảnh hưởng đến trọng số mô hình lõi Claude hay dữ liệu người dùng, nhưng nó đã phơi bày toàn bộ logic kiến trúc nội bộ của Claude Code, thiết kế câu lệnh hệ thống (system prompt) và cơ chế gọi công cụ, đồng thời đưa một loạt các tính năng chưa công bố và các logic bảo mật tiềm ẩn ra tầm nhìn công chúng.

Người trong ngành cho rằng, sự kiện này sẽ nén đáng kể ngưỡng kiến thức cho quá trình “kỹ nghệ hóa” (engineering) AI Agent, đồng thời thúc đẩy sự tiến hóa cạnh tranh của toàn bộ hệ sinh thái nhà phát triển.

Đáng chú ý là đây không phải lần đầu Anthropic mắc phải loại sai sót như vậy. Tháng 2/2025, một phiên bản Claude Code giai đoạn đầu của công ty đã từng bị lộ do sơ suất cùng loại với source map; lần rò rỉ này, tiếp tục làm dấy lên nghi ngờ từ bên ngoài về mức độ trưởng thành về an toàn chuỗi cung ứng phần mềm của “ngôi sao AI” này, với định giá vượt 18 tỷ USD.

Một tệp .map, “kích nổ” 510.000 dòng mã

Nhà nghiên cứu của công ty an ninh blockchain Fuzzland, Chaofan Shou, đã là người đầu tiên phanh phui sự việc này trên X. Trong gói phần mềm npm chính thức của Anthropic @anthropic-ai/claude-code, phiên bản 2.1.88, đã vô tình bao gồm một tệp cli.js.map kích thước khoảng 60MB.

Trong tệp cli.js.map có hai mảng then chốt: sources (danh sách đường dẫn tệp) và sourcesContent (nội dung mã nguồn hoàn chỉnh tương ứng). Hai mảng này được đánh chỉ mục khớp với nhau. Điều này có nghĩa là, bất kỳ ai chỉ cần tải xuống tệp JSON đó là có thể trích xuất đầy đủ toàn bộ mã nguồn gốc, với rào cản thao tác cực thấp.

Theo phân tích, tệp source map này tổng cộng chứa nội dung 4756 tệp nguồn, trong đó 1906 tệp là các tệp TypeScript/TSX của chính Claude Code, còn lại 2850 tệp là các phụ thuộc node_modules. Tổng lượng mã vượt 510,2 nghìn dòng.

Trong vòng vài giờ sau khi sự việc bị phơi bày, số lượt đánh sao (star) của các kho lưu trữ mirror trên GitHub đã tăng vọt vượt 5000. Anthropic đã loại bỏ source map này khỏi gói npm. Tuy nhiên, các phiên bản gói npm thời kỳ đầu đã bị nhiều bên lưu trữ, và nội dung liên quan vẫn tiếp tục được lan truyền trong cộng đồng phát triển.

Toàn cảnh kiến trúc lần đầu lộ diện

Mã nguồn sau khi được khôi phục cung cấp cho bên ngoài bức nhìn kiến trúc Claude Code đầy đủ nhất cho tới nay.

Code cho thấy Claude Code được xây dựng giao diện terminal bằng React và khung Ink, chạy trên runtime Bun, phần lõi là một vòng lặp REPL, hỗ trợ nhập dữ liệu bằng ngôn ngữ tự nhiên và lệnh dạng gạch chéo (slash commands). Ở lớp dưới, hệ thống công cụ tương tác với LLM API.

Về tầng công cụ, mã có hơn 40 mô-đun độc lập, bao gồm đọc/ghi tệp, thực thi lệnh Bash, tích hợp giao thức LSP và năng lực tạo “tác nhân con” (sub-agent), tạo thành một “hộp công cụ vạn năng” đầy đủ tính năng.

Ở tầng suy luận, một tệp lõi có tên QueryEngine.ts có lượng mã lên tới 46.000 dòng, đảm nhiệm toàn bộ công việc xử lý logic suy luận, đếm Token và vòng lặp “chuỗi suy nghĩ” (thought chain).

Ở tầng đa tác nhân (multi-agent), mã rò rỉ xuất hiện mô-đun coordinator (bộ điều phối đa tác nhân) và mô-đun bridge; trong đó mô-đun sau chịu trách nhiệm kết nối với VS Code và các IDE phổ biến như JetBrains, cho thấy Claude Code đã có năng lực kỹ thuật cho phối hợp đa máy và tích hợp sâu vào môi trường phát triển.

Tính năng chưa phát hành vô tình lộ diện

Trong lần rò rỉ này, những thứ được chú ý nhất có lẽ là một số tính năng vốn chưa từng được công bố.

Chế độ mã hiệu Kairos là một trong những hạng mục nổi bật nhất. Mã cho thấy đây là một tiến trình tự bảo vệ có vòng đời bền vững, hỗ trợ các phiên hội thoại chạy nền và tích hợp trí nhớ. Điều đó có nghĩa là Claude có thể đóng vai một tác nhân AI “thường trực” ở nền, liên tục xử lý tác vụ và tích lũy hiểu biết về dự án.

Ngoài ra, một bộ hệ thống “Buddy System” (hệ thống thú cưng điện tử) được nhúng sẵn trong code, bao gồm 18 loài, các cấp độ hiếm, biến thể dạng lấp lánh (shiny) và thống kê thuộc tính—thiết kế này hiển nhiên xuất phát từ sự tinh nghịch của các kỹ sư Anthropic, tồn tại song song trong kho mã cùng với kiến trúc lõi.

Ở tầng thiết kế chế độ, code cũng hé lộ “Coordinator Mode” (chế độ điều phối), cho phép Claude điều phối các tác nhân con thông minh chạy song song, cùng “Auto Mode”, một bộ phân loại AI có thể tự động phê duyệt quyền công cụ, nhằm đơn giản hóa luồng xác nhận thao tác.

Ngoài ra, một tính năng được đặt tên “Undercover Mode” (chế độ nằm vùng) đã gây tranh cãi—theo mô tả trong code, khi nhân viên Anthropic thực hiện thao tác trong kho công cộng (public repository), chế độ này sẽ tự động kích hoạt, xóa mọi dấu vết liên quan đến AI trong lịch sử các lần commit, và không thể tắt thủ công.

Rủi ro bảo mật và cảnh báo chuỗi cung ứng

Các nhà nghiên cứu bảo mật cho biết, dù lần rò rỉ này không trực tiếp liên quan đến trọng số mô hình hay dữ liệu riêng tư người dùng, nhưng rủi ro tiềm ẩn không thể xem nhẹ.

Theo báo cáo, nội dung bị rò rỉ đã phơi bày đầy đủ logic bảo mật nội bộ, và có thể vạch ra các vector tấn công như giả mạo yêu cầu phía máy chủ (SSRF), cung cấp điểm cắt cho các nghiên cứu an ninh tiếp theo. Cộng đồng mã nguồn mở đã bắt đầu dựa trên mã bị rò rỉ để khám phá các phiên bản fork và thử kết hợp với các khung tác nhân (agent framework) khác.

Xét bối cảnh ngành, npm là kho lưu trữ gói JavaScript lớn nhất toàn cầu, xử lý hàng triệu lượt tải xuống mỗi ngày. Những sai sót kiểu đóng gói như vậy cho thấy doanh nghiệp, khi chạy theo nhịp độ phát hành nhanh, phải tăng cường cơ chế rà soát tệp nguồn trong pipeline CI/CD.

Cảnh báo trực tiếp dành cho tất cả nhà phát triển phát hành gói npm là: trước khi phát hành, nhất định phải kiểm tra xem tệp .map có nằm trong các “hạng mục phát hành” hay không. Chỉ cần một dòng trường sourcesContent cũng đủ để đưa toàn bộ mã nguồn công khai ra ngoài.

Hệ sinh thái Agent có thể bước vào điểm ngoặt tăng tốc

Xét từ góc độ tác động công nghiệp, ý nghĩa của sự kiện lần này có thể vượt xa bản thân một tai nạn kỹ thuật.

Phương án hiện thực kỹ nghệ đầy đủ của một top AI Agent bất ngờ bị công khai, sẽ giảm đáng kể rào cản kiến thức trong lĩnh vực này. Các nhà phát triển có thể trực tiếp tham chiếu để học hỏi và rút kinh nghiệm từ thiết kế kiến trúc của Claude Code, logic prompt và cơ chế gọi công cụ, qua đó rút ngắn chu kỳ tìm tòi cho việc tự nghiên cứu và phát triển độc lập.

Trong khi đó, sự kiện này cũng vô tình chứng thực sự tích lũy kỹ thuật của Anthropic theo hướng kỹ nghệ hóa Agent—dù là cơ chế điều phối đa tác nhân hay thiết kế tiến trình bảo vệ chạy nền có tính bền vững, đều thể hiện chiều sâu kỹ thuật vượt trội so với các sản phẩm cùng loại.

Claude Code, với vai trò là công cụ mở rộng trong hệ sinh thái Anthropic, chủ yếu hướng tới các nhà phát triển chuyên nghiệp, và cạnh tranh với các trợ lý mã hóa AI như GitHub Copilot, Cursor. Liệu việc công khai mã nguồn lần này có thể, trong bối cảnh áp lực cạnh tranh gia tăng, ngược lại thúc đẩy ngành đổi mới tập thể về kiến trúc AI Agent hay không—giới trong ngành đang đặc biệt chú ý tới các phản ứng tiếp theo của nó.

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
  • Ghim