Mười ba gói npm, 48 giây, một SDK ví giả mạo
Một cuộc tấn công có phối hợp vào registry npm đã tung ra 13 gói SDK ví giả mạo kiểu Coinbase chỉ trong vòng 48 giây, cho thấy mã độc có thể giả dạng thành các công cụ đáng tin cậy nhanh đến mức nào. Những nhà phát triển cài đặt một gói chỉ dựa trên một cái tên quen thuộc có thể vô tình đưa một SDK giả mạo vào ứng dụng của họ.
Các gói này xuất hiện trong khoảng thời gian từ 04:54:59 đến 04:55:48 UTC ngày 7 tháng 9 năm 2026. Những cái tên như cb-wallet-http và scw-core gợi nhắc đến namespace chính thức @coinbase/wallet-sdk. Thay vì sử dụng kỹ thuật typo-squatting, những kẻ tấn công đã thêm tiền tố vào tên bằng các chuỗi ký tự quen thuộc, hy vọng rằng sự đề xuất của một đồng nghiệp hoặc một bài đăng trên diễn đàn sẽ thuyết phục người dùng về tính chính thống của chúng.
Tất cả 13 bản phát hành đều có chung một cấu hình sơ sài: phiên bản 0.0.1-security, danh sách người duy trì (maintainer) trống rỗng và siêu dữ liệu (metadata) npm mặc định hiển thị ngay sau khi xuất bản. Thiết lập giống hệt nhau này cho thấy có một script duy nhất đã tạo ra hàng loạt các gói này, một dấu hiệu đặc trưng của tự động hóa thay vì thao tác thủ công.
Mô hình xuất bản mở của npm cho phép bất kỳ ai cũng có thể tải lên một gói mà không cần kiểm duyệt trước, tạo điều kiện cho các cuộc tấn công như thế này. Các sự cố chuỗi cung ứng trong quá khứ đã cho thấy rằng một khi mã độc lọt vào cây phụ thuộc (dependency tree), nó sẽ chạy trên mọi máy tính cài đặt nó.
NPM vẫn chưa xác định được thủ phạm hoặc giải thích cách thức mã độc lan rộng ngoài các lần tải lên ban đầu. Cũng chưa rõ liệu những kẻ tấn công nhắm mục tiêu cụ thể vào người dùng Coinbase hay chỉ đơn giản là làm tràn ngập registry bằng những cái tên trông có vẻ hợp lý với hy vọng một số sẽ được sử dụng.
Những gì nhà phát triển có thể làm ngay bây giờ
- Kiểm tra người xuất bản của một gói trước khi thêm vào; các SDK chính thức luôn nằm trong các scope tổ chức đã được xác minh.
- Chạy các công cụ quét các phụ thuộc để tìm các chữ ký độc hại đã biết.
- Cố định các phiên bản chính xác trong các tệp khóa (lockfiles) và tránh tải các gói mới xuất bản mà không qua kiểm duyệt.
- Ưu tiên các registry yêu cầu xác thực hai yếu tố cho người duy trì.
Những điều cần theo dõi
- Liệu npm có thắt chặt việc kiểm duyệt đối với các gói giả mạo các thương hiệu nổi tiếng hay không.
- Các danh sách đen do cộng đồng xây dựng nhằm gắn cờ các tên giả mạo.
- Các cập nhật từ các nhà nghiên cứu bảo mật về bất kỳ hoạt động khai thác nào đối với 13 SDK giả mạo này.
Sự việc này chứng minh rằng một cái tên nghe có vẻ quen thuộc không đảm bảo cho sự an toàn. Sự cảnh giác và xác minh vẫn là những lá chắn mạnh mẽ nhất chống lại các cuộc tấn công chuỗi cung ứng trong hệ sinh thái mã nguồn mở.
