Claude Code Source 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ộ source code Claude Code bị exposed qua file sourcemap trong npm package
  • Source map 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 sourcemap trong production build
  • Code đã được backup lên GitHub để lưu trữ
Claude Code source code leak concept
Toàn bộ source code Claude Code bị leak qua npm sourcemap

Sourcemap là gì và tại sao nó chứa toàn bộ source code?

Sourcemap là file JSON đóng vai trò cầu nối giữa code đã minify/bundle và source code gốc. Khi bạn publish package JavaScript/TypeScript lên npm, build toolchain thường tạo ra các file .map này để khi có lỗi xảy ra trong production, stack trace có thể chỉ ra dòng code thực trong file gốc thay vì dòng vô nghĩa trong code đã minify.

Thế nhưng điều ít ai biết: sourcemap chứa toàn bộ source code gốc. Cấu trúc của một file .map trông như sau:

{
  "version": 3,
  "sources": ["../src/main.tsx", "../src/tools/BashTool.ts", "..."],
  "sourcesContent": ["// TOÀN BỘ source code gốc của mỗi file", "..."],
  "mappings": "AAAA,SAAS,OAAO..."
}

Trường sourcesContent chứa mọi thứ: mọi file, mọi comment, mọi hằng số nội bộ, mọi system prompt — tất cả được nhúng dưới dạng chuỗi trong file JSON mà npm thoải mái phục vụ cho bất kỳ ai chạy npm pack hoặc đơn giản là duyệt nội dung package.

Cấu trúc file sourcemap JSON chứa sourcesContent
Cấu trúc sourcemap với trường sourcesContent chứa source code gốc

Leak xảy ra như thế nào?

Lỗi này thực ra khá phổ biến trong ngành. Khi publish package lên npm, người ta thường quên thêm *.map vào .npmignore hoặc không cấu hình bundler tắt sourcemap cho production build. Với Bun bundler (Claude Code dùng), sourcemap được generate mặc định trừ khi bạn explicitly tắt nó.

Điều trớ trêu là Anthropic có cả một hệ thống gọi là “Undercover Mode” được thiết kế để ngăn thông tin nội bộ bị leak. Họ xây dựng cả một subsystem để ngăn AI vô tình reveal internal codename trong git commits… rồi lại ship toàn bộ source trong file .map, có thể do chính Claude viết ra.

Các file trong npm package Claude Code với sourcemap exposed
Các file trong npm package Claude Code

Claude Code là gì?

Claude Code là CLI tool chính thức của Anthropic cho coding với Claude — và là AI coding agent phổ biến nhất hiện nay.

Nếu bạn chưa biết về các công cụ AI coding, có thể tham khảo bài MCP (Model Context Protocol) để hiểu thêm về cách các AI agents kết nối với hệ thống. Hoặc xem thêm về Agentic AI trong thiết kế website để hiểu xu hướng AI agent hiện nay.

Nhìn từ bên ngoài, đây là một CLI tool khá mượt mà và đơn giản. Nhìn từ bên trong, đây là một hệ thống cực kỳ phức tạp:

  • 785KB entry point main.tsx
  • Custom React terminal renderer
  • 40+ công cụ (tools)
  • Hệ thống multi-agent orchestration
  • Engine nền tảng memory consolidation có tên “dream”

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

Những gì đã bị lộ?

Qua việc phân tích source code bị leak, cộng đồng đã khám phá được nhiều thông tin thú vị:

Buddy — Tamagotchi trong Terminal

Claude Code có một hệ thống companion pet hoàn chỉnh kiểu Tamagotchi gọi là “Buddy” với:

  • Hệ thống gách-a (gacha) xác định (deterministic) với 18 loài (species), shiny variants
  • 5 chỉ số (stats) được tạo: DEBUGGING, PATIENCE, CHAOS, WISDOM, SNARK
  • ASCII art sprites với nhiều animation frames
  • “Soul” description được Claude viết khi Buddy nở ra lần đầu
Buddy pet system concept with stats and gacha
Hệ thống Buddy – Tamagotchi trong Claude Code

KAIROS — “Always-On Claude”

Một chế độ hoàn toàn mới gọi là KAIROS — trợ lý Claude liên tục (persistent), luôn chạy, không chờ bạn gõ. Nó chủ động theo dõi, ghi log và hành động khi phát hiện điều gì đó thú vị. Chế độ này được hidden sau các feature flag PROACTIVE/KAIROS và hoàn toàn vắng mặt trong bản public.

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

ULTRAPLAN — Remote Planning 30 phút

Claude Code có khả năng offload task planning phức tạp sang remote Cloud Container Runtime (CCR) chạy Opus 4.6, cho phép nó suy nghĩ đến 30 phút trước khi trả về kết quả cho bạn duyệt từ browser.

“Dream” System — Claude Mơ

Một engine memory consolidation chạy như một subagent được fork (tách tiến trình), thực hiện “dream” mỗi 24h sau ít nhất 5 sessions. System này có 4 phases: Orient → Gather Recent Signal → Consolidate → Prune and Index.

Bài học rút ra

Bảo mật rất khó. Nhưng .npmignore còn khó hơn, có vẻ như :P

Đây không phải lần đầu tiên và cũng sẽ không phải lần cuối. Lỗi gần như luôn giống nhau: quên thêm *.map vào .npmignore hoặc không configure bundler tắt sourcemap cho production.

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

Trong phần tiếp theo, mình sẽ phân tích chi tiết hơn về các tính năng nội bộ bị lộ, bao gồm cấu trúc multi-agent, Undercover Mode, và các model sắp ra mắt như Capybara, Opus 4.7, Sonnet 4.8. Đừng bỏ lỡ nhé!

Nếu bạn muốn tìm hiểu thêm về các tính năng nội bộ như Multi-Agent Orchestration, Undercover Mode và các model sắp ra mắt, hãy xem 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ụ CLI chính thức của Anthropic cho phép lập trình viên sử dụng Claude AI 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 đóng vai trò cầu nối giữa code đã minify và source code gốc. Nó giúp debug dễ dàng hơn nhưng có nhược điểm là chứa toàn bộ source code trong trường sourcesContent.

Leak xảy ra như thế nào?

Leak xảy ra do npm package không loại trừ file sourcemap (.map) trong quá trình publish. Người ta quên thêm *.map vào .npmignore hoặc không tắt sourcemap generation trong production build.

Buddy trong Claude Code là gì?

Buddy là hệ thống companion pet kiểu Tamagotchi trong Claude Code, với 18 species, hệ thống gacha, stats, ASCII art sprites và “soul” description được Claude viết khi nở ra.

KAIROS là gì?

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

Làm sao để tránh leak sourcemap?

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

Tú Anh

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

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

Claude Code Leak Phân Tích – 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,