Rốt cuộc Claude Code đã lộ gì lần này?
Cụm từ “Claude Code bị lộ source code” ban đầu nghe khá giống một tiêu đề mạng xã hội phóng đại.
Nhưng khi nhìn kỹ hơn vào bằng chứng cộng đồng, sự hoài nghi đó cần được cập nhật.
Câu chuyện lần này không chỉ là prompt bị trích xuất hay một tin đồn mơ hồ. Luận điểm đáng tin hơn là một source map được ship trong gói npm của Claude Code đã lộ ra đường tới các file nguồn nội bộ, và cộng đồng dùng nó để tái dựng một codebase lớn hơn nhiều so với repo public.
Điều này gần với một vụ lộ source thực sự hơn hẳn kiểu cường điệu thông thường trên mạng xã hội.
Cáo buộc cốt lõi là gì
Luận điểm của cộng đồng khá thẳng:
- Một gói Claude Code phát hành lên npm có chứa JavaScript source map.
- Source map đó trỏ tới vị trí source TypeScript nội bộ.
- Các source này có thể được lấy về và tái dựng.
- Kết quả sau đó được đưa lại lên GitHub dưới dạng decompiled hoặc rebuilt.
Nếu chuỗi này là đúng, thì đây không chỉ là “lộ prompt” hay “ai đó đoán được system prompt”.
Nó là một lỗi packaging với hậu quả ở tầng source.
Vì sao cộng đồng cho rằng chuyện này là thật
Có ba artifact công khai đáng chú ý.
1. Thread trên Reddit
Ngày 30/03/2026, một bài trong r/ClaudeAI nói rằng source của Claude Code bị lộ “qua file .map trên NPM”.
Cơ chế này quan trọng vì source map vốn là một failure mode quen thuộc:
- nó có thể lộ cấu trúc file gốc
- nó có thể lộ identifier chưa obfuscate
- và trong một số cách build/host, nó còn có thể trỏ ngược về payload source gốc
Như vậy đã cụ thể hơn nhiều so với kiểu tin đồn “ai đó làm lộ code nội bộ”.
2. Bài X của Fried Rice
Thread trên X mà cộng đồng liên tục trích dẫn bổ sung một phiên bản chi tiết hơn:
- gói npm của Claude Code được cho là ship kèm source map
- source map đó được cho là tham chiếu tới một zip archive trên storage do Anthropic quản lý
- archive đó được cho là chứa một source tree nội bộ lớn hơn nhiều so với phần từng được public thấy trước đó
Dù cộng đồng vẫn đang tiếp tục ráp lại chi tiết, cơ chế bị cáo buộc này là hợp lý về mặt kỹ thuật.
3. Repo instructkr/claude-code
Artifact công khai mạnh nhất lúc này là repo GitHub:
https://github.com/instructkr/claude-code
Repo này tự mô tả rõ là một bản tái dựng Claude Code từ leaked source maps, và nói rằng:
- gói npm gốc chỉ lộ ra một tập packaged files khá nhỏ
- source tree phục hồi được lớn hơn nhiều
- hàng nghìn file đã được tái dựng
- vụ lộ này làm lộ cả implementation details, prompts và feature work
Điều đó không tự động chứng minh từng dòng trong repo là hoàn hảo hay đầy đủ. Nhưng nó đã vượt rất xa mức một tin đồn lỏng lẻo.
Vì sao chuyện này khác với làn sóng lộ prompt trước đó
Những tranh cãi cũ quanh Claude Code thường xoay quanh:
- system prompts bị trích xuất
- tool schemas bị lộ
- behavior instructions bị công khai
- cộng đồng reverse-engineer agent logic
Những thứ đó đã đáng chú ý, nhưng không giống với mất source.
Lần này, failure mode bị cáo buộc khác hẳn:
- không chỉ là prompt extraction
- không chỉ là soi public repo
- không chỉ là CMS draft bị lộ
- mà là một build artifact đã ship ra ngoài, có vẻ đủ để hỗ trợ code reconstruction
Đó là khác biệt cốt lõi.
Nếu bản tái dựng của cộng đồng là tương đối chính xác, thì đây không còn là chuyện “mọi người hiểu Claude Code hoạt động thế nào”, mà là “mọi người đã lấy được nhiều hơn về cách Claude Code thực sự được xây dựng”.
Điều có thể đã xảy ra
Dựa trên bằng chứng công khai hiện có, chuỗi sự kiện hợp lý nhất có vẻ là:
- Anthropic phát hành một package Claude Code lên npm.
- Package đó chứa một source map không nên bị lộ dưới hình thức đó.
- Source map này làm lộ hoặc tham chiếu tới thông tin source gốc.
- Các nhà nghiên cứu cộng đồng lần theo đó và tái dựng code nội bộ.
- Code tái dựng sau đó lan ra GitHub và mạng xã hội.
Điều này khiến nó trở thành một lỗi packaging và release-pipeline, chứ không chỉ là “ai đó post prompt lên mạng”.
Vì sao điều này quan trọng với developer
Bài học thực dụng ở đây khá khắc nghiệt nhưng rất quen thuộc:
source maps là một phần của release surface.
Rất nhiều team coi chúng là debug residue vô hại. Nhưng chúng không hề vô hại khi chúng:
- giữ lại metadata đường dẫn gốc
- giữ lại symbol names dễ đọc
- tham chiếu tới private artifact storage
- hoặc lộ đủ cấu trúc để tái dựng source nội bộ
Với sản phẩm AI, rủi ro này còn lớn hơn vì một lần lộ có thể kéo theo nhiều lớp cùng lúc:
- code
- prompts
- tool contracts
- feature flags
- safety controls
- work chưa phát hành
Đó là lý do câu chuyện này nghiêm trọng hơn một bài “assistant prompt leaked” thông thường.
Điều này không có nghĩa là gì
Ngay cả nếu cáo buộc lộ source lần này là phần lớn đúng, team vẫn không nên nói quá.
Điều đó không tự động có nghĩa:
- model weights của Anthropic bị lộ
- mọi internal service đều bị lộ
- mọi sản phẩm Claude đều bị lộ
- hay repo tái dựng chắc chắn là một source tree canonical hoàn hảo
Nhưng nó có vẻ đủ để nói lên một điều nghiêm trọng:
- một artifact được phân phối ra production đã lộ đủ thông tin để người ngoài tái dựng phần lớn Claude Code
Theo tiêu chuẩn bảo mật phần mềm thông thường, như vậy đã là một failure lớn.
Một kết luận bảo mật tốt hơn
Bài học thực sự không phải là “các công ty AI mong manh một cách đặc biệt”.
Nó đời thường hơn:
- Build pipelines có thể làm lộ dữ liệu.
- Debug artifacts là production artifacts nếu bạn ship chúng.
- Internal storage references sẽ thành public nếu package metadata làm lộ chúng.
- Trong AI tooling, prompts và code đã đủ gần nhau để chỉ một lỗi packaging cũng có thể lộ cả implementation lẫn behavior logic.
Đó là lý do release engineering đáng được chú ý ngang với model safety branding.