Mã Nguồn Claude Code Leak Qua npm – Sự Việc 31/3/2026

Nội dung

Ngày 31/3/2026, toàn bộ source code Claude Code bị exposed qua npm sourcemap. Đây là cách leak xảy ra và những gì đã bị lộ.

Tóm tắt nhanh

  • Ngày 31/3/2026, Chaofan Shou phát hiện toàn bộ mã nguồn của Claude Code bị lộ qua file sourcemap trong gói npm
  • File sourcemap chứa toàn bộ mã nguồn gốc trong trường sourcesContent
  • Lỗi xảy ra do không thêm *.map vào .npmignore hoặc không tắt tính năng sourcemap khi build production
  • Mã nguồn đã được cộng đồng backup lên GitHub để lưu trữ
Claude Code source code leak concept
Toàn bộ mã nguồn Claude Code bị lộ qua sourcemap của gói npm

Sourcemap là gì và tại sao nó chứa toàn bộ mã nguồn?

Sourcemap là file JSON dùng để ánh xạ giữa mã đã được rút gọn (minify/bundle) và mã nguồn gốc. Khi xuất bản gói JavaScript/TypeScript lên npm, quy trình build thường tự động tạo ra các file .map này. Mục đích là khi xảy ra lỗi trong môi trường production, stack trace có thể chỉ đúng dòng code trong file gốc thay vì dòng code bị rút gọn.

Tuy nhiên, ít người biết rằng: file sourcemap chứa toàn bộ mã nguồn gốc. Cấu trúc cơ bản của một file .map như sau:

{
  "version": 3,
  "sources": ["../src/main.tsx", "../src/tools/BashTool.ts", "..."],
  "sourcesContent": ["// TOÀN BỘ mã nguồn gốc của từng file", "..."],
  "mappings": "AAAA sausages mởm..."
}

Trường sourcesContent chứa tất cả mọi thứ: toàn bộ file, comment, hằng số nội bộ, system prompt… Tất cả đều được nhúng dưới dạng chuỗi JSON và npm sẽ phục vụ công khai cho bất kỳ ai chạy lệnh npm pack hoặc xem nội dung gói.

Cấu trúc file sourcemap JSON chứa sourcesContent
Cấu trúc sourcemap với trường sourcesContent chứa mã nguồn gốc

Sự cố lộ mã nguồn xảy ra như thế nào?

Đây là một lỗi khá phổ biến trong cộng đồng lập trình. Khi xuất bản gói lên npm, nhiều người quên thêm *.map vào file .npmignore hoặc không tắt sourcemap trong bản build production. Với Bun bundler (công cụ mà Claude Code sử dụng), sourcemap được tạo mặc định trừ khi bạn chủ động tắt nó.

Điều đáng chú ý là Anthropic có hệ thống “Undercover Mode” được thiết kế để ngăn chặn thông tin nội bộ bị lộ. Họ thậm chí xây dựng cơ chế riêng để tránh AI vô tình tiết lộ codename nội bộ trong git commit… nhưng lại vô tình để lộ toàn bộ mã nguồn qua file .map.

Các file trong npm package Claude Code với sourcemap exposed
Các file trong gói npm của Claude Code

Claude Code là gì?

Claude Code là công cụ dòng lệnh (CLI) chính thức của Anthropic hỗ trợ lập trình bằng Claude — đồng thời là AI coding agent phổ biến nhất hiện nay.

Nếu bạn chưa quen với các công cụ AI hỗ trợ lập trình, có thể tham khảo bài viết MCP (Model Context Protocol) để hiểu cách các AI agent kết nối với hệ thống. Hoặc đọc thêm về Agentic AI trong thiết kế website để nắm xu hướng hiện tại.

Bên ngoài, đây là một công cụ CLI khá mượt mà và dễ sử dụng. Bên trong lại là một hệ thống rất phức tạp:

  • Điểm vào chính main.tsx nặng 785KB
  • Trình render terminal tùy chỉnh dựa trên React
  • Hơn 40 công cụ (tools) được tích hợp
  • Hệ thống điều phối đa agent
  • Engine “dream” dùng để củng cố bộ nhớ

Trong các phần sau, mình sẽ chia sẻ chi tiết hơn về những phát hiện thú vị từ mã nguồn, bao gồm hệ thống Buddy Tamagotchi, chế độ KAIROS always-on, Dream system và nhiều tính năng chưa công bố [1].

Những thông tin đã bị lộ?

Qua việc phân tích mã nguồn bị lộ, cộng đồng đã khám phá được nhiều nội dung thú vị:

Buddy — Tamagotchi trong Terminal

Claude Code có một hệ thống thú cưng đồng hành hoàn chỉnh kiểu Tamagotchi mang tên “Buddy” với các tính năng:

  • Hệ thống gacha xác định (deterministic) gồm 18 loài, có cả phiên bản shiny
  • 5 chỉ số: DEBUGGING, PATIENCE, CHAOS, WISDOM, SNARK
  • Sprite ASCII art với nhiều khung hình động
  • Mô tả “Soul” do Claude tự viết khi Buddy lần đầu tiên được tạo ra
Buddy pet system concept with stats and gacha
Hệ thống Buddy – Tamagotchi trong Claude Code

KAIROS — “Always-On Claude”

Đây là chế độ hoàn toàn mới mang tên KAIROS — một trợ lý Claude liên tục hoạt động, không cần chờ người dùng nhập lệnh. Nó chủ động theo dõi, ghi log và thực hiện hành động khi phát hiện điều thú vị. Chế độ này được ẩn sau các feature flag PROACTIVE/KAIROS và chưa xuất hiện trong phiên bản công khai.

Always-on AI assistant concept with notification
KAIROS – chế độ always-on của Claude Code

ULTRAPLAN — Lập kế hoạch từ xa trong 30 phút

Claude Code có khả năng chuyển giao nhiệm vụ lập kế hoạch phức tạp sang môi trường Cloud Container Runtime (CCR) chạy mô hình Opus 4.6, cho phép suy nghĩ tối đa 30 phút trước khi trả kết quả để người dùng duyệt qua trình duyệt.

“Dream” System — Claude mơ

Đây là engine củng cố bộ nhớ hoạt động như một subagent riêng biệt. Nó thực hiện quá trình “dream” mỗi 24 giờ sau khi có ít nhất 5 phiên làm việc. Hệ thống gồm 4 giai đoạn: Orient → Gather Recent Signal → Consolidate → Prune and Index.

Bài học rút ra

Bảo mật là việc khó. Nhưng việc cấu hình .npmignore dường như còn khó hơn :P

Đây không phải lần đầu và chắc chắn cũng không phải lần cuối. Lỗi thường lặp lại ở việc quên thêm *.map vào .npmignore hoặc không tắt sourcemap khi build production.

Điều đáng suy ngẫm là chính Anthropic — một trong những công ty hàng đầu về an ninh AI — lại mắc phải lỗi bảo mật cơ bản như vậy. Điều này nhắc nhở rằng ngay cả những tổ chức rất chú trọng đến bảo mật cũng có thể bỏ sót những vấn đề tưởng chừng đơn giản.

Trong phần tiếp theo, mình sẽ phân tích sâu hơn về cấu trúc multi-agent, Undercover Mode, cùng các mô hình sắp ra mắt như Capybara, Opus 4.7, Sonnet 4.8. Đừng bỏ lỡ!

Nếu bạn muốn tìm hiểu chi tiết hơn về các tính năng nội bộ như Multi-Agent Orchestration, Undercover Mode và các mô hình sắp ra mắt, hãy xem bài: Phân Tích Chi Tiết Source Code Claude Code Bị Leak.

Nguồn tham khảo

  1. Kuber Studio – Claude Code Source Code Leak Analysis

Các câu hỏi thường gặp

Claude Code là gì?

Claude Code là công cụ dòng lệnh (CLI) chính thức của Anthropic, giúp lập trình viên sử dụng Claude AI ngay trong terminal. Đây là một trong những AI coding agent phổ biến nhất hiện nay.

Sourcemap là gì?

Sourcemap là file JSON dùng để kết nối giữa mã đã được rút gọn và mã nguồn gốc. Nó giúp debug dễ dàng hơn nhưng lại chứa toàn bộ mã nguồn trong trường sourcesContent.

Sự cố lộ mã nguồn xảy ra như thế nào?

Sự cố xảy ra vì gói npm không loại trừ file sourcemap (.map) khi xuất bản. Người phát triển quên thêm *.map vào .npmignore hoặc không tắt việc tạo sourcemap trong bản build production.

Buddy trong Claude Code là gì?

Buddy là hệ thống thú cưng đồng hành kiểu Tamagotchi trong Claude Code, bao gồm 18 loài, hệ thống gacha, các chỉ số, sprite ASCII art và mô tả “Soul” do Claude tự viết khi Buddy được tạo ra.

KAIROS là gì?

KAIROS là chế độ “always-on” của Claude Code – một trợ lý liên tục hoạt động, chủ động theo dõi và thực hiện hành động khi phát hiện điều thú vị, thay vì chỉ chờ người dùng nhập lệnh.

Làm sao để tránh lộ sourcemap?

Để tránh lộ sourcemap, hãy thêm *.map vào file .npmignore hoặc cấu hình bundler tắt sourcemap khi build production. Với Bun, bạn có thể dùng các tùy chọn để loại trừ sourcemap khỏi bản build production.

Tú Anh

Cây bút chính tại VietnamTutor

Bài viết cùng chuyên mục

Phân Tích vụ Claude Code Leak – Multi-Agent, Undercover Mode, Models Sắp Ra Mắt

Phân tích chi tiết source code Claude Code bị leak: hệ thống multi-agent, Undercover Mode, các model sắp ra mắt và feature gating nội bộ.

Thiết Kế Website Agentic AI 2026: Hướng Dẫn Toàn Diện

Website tĩnh đang dần biến mất. Năm 2026, thiết kế website agentic AI giúp website tự động cá nhân hóa trải nghiệm người dùng, tối ưu

AI tạo hình ảnh 2026: Midjourney vs DALL-E vs Gemini — so sánh & hướng dẫn

Bạn đang tìm kiếm công cụ AI tạo hình ảnh tốt nhất năm 2026? Bài viết này so sánh chi tiết Midjourney, DALL-E và Gemini Imagen,

MCP (Model Context Protocol) là gì? Chuẩn Kết Nối AI Agent 2026

MCP (Model Context Protocol) là giao thức mã nguồn mở giúp AI agents kết nối với công cụ, dữ liệu và dịch vụ bên ngoài một

SEO On-Page Checklist cho WordPress: 37 Bước Tối Ưu 2026

Trong bài viết này, tôi sẽ đưa ra checklist 37 bước SEO on-page cho WordPress dựa trên thực hành tốt nhất năm 2026. Mỗi bước đều

Claude vs GPT vs Gemini 2026: So Sánh 3 AI Mạnh Nhất

OpenAI với GPT-5.2, Anthropic với Claude 4.6, và Google với Gemini 3.1. Mỗi bên đều có chiến lược riêng, và không có câu trả lời chung

Sự thật đằng sau “reset 5 giờ” của Antigravity Pro: Toàn bộ là dối trá?

Quota Antigravity Pro bị khóa cả tuần thay vì reset 5h? Google ép lên Ultra hay chống “bào” token? Đọc ngay để biết sự thật &

Mã độc VS Code, Go, npm, Rust: Nguy cơ đánh cắp dữ liệu dev

Mã độc trong VS Code extensions, gói Go, npm, Rust đang âm thầm đánh cắp dữ liệu dev. Tìm hiểu cách bảo vệ thông tin cá

Vibe Coding: Bí quyết dẫn đầu marketing AI 2025-2030

Vibe Coding - chìa khóa bứt phá marketing kỷ nguyên AI. Làm chủ sự kết hợp sáng tạo và tư duy hệ thống để tự động

Bảng xếp hạng công cụ AI xây dựng ứng dụng tối ưu

Bạn muốn xây ứng dụng AI? Khám phá bảng xếp hạng công cụ AI hàng đầu. Tìm nền tảng phù hợp cho ứng dụng cá nhân,

Lập trình viên: Xây doanh nghiệp một người, kiếm 10.000 USD/tháng

Lập trình viên: Khám phá khung làm việc để xây dựng doanh nghiệp một người, kiếm 10.000 USD/tháng. Biến kỹ năng code thành cỗ máy tiền,