Tấn công supply chain nghiêm trọng trên NPM ảnh hưởng hàng tỷ lượt tải

K
Kaya
Phản hồi: 0

Kaya

Writer
Một trong những cuộc tấn công supply chain nghiêm trọng nhất năm 2025 vừa được phát hiện trên hệ sinh thái NPM - nền tảng chia sẻ gói mã JavaScript lớn nhất thế giới. Kẻ tấn công đã chiếm quyền điều khiển tài khoản của một lập trình viên nổi tiếng để chèn mã độc vào hàng loạt thư viện mã nguồn mở, ảnh hưởng đến hàng triệu dự án và hàng tỷ lượt tải mỗi tuần.

Kẻ tấn công đã giả mạo email từ NPM để thực hiện một cuộc tấn công lừa đảo (phishing) nhắm vào Josh Junon (tên tài khoản: qix) - người duy trì nhiều gói mã cực kỳ phổ biến trên NPM như: Chalk, debug, strip-ansi, v.v...

Email mạo danh được gửi từ địa chỉ trông rất đáng tin: Support@npmjs[.]help, với nội dung yêu cầu người dùng cập nhật xác thực hai yếu tố (2FA), nếu không tài khoản sẽ bị khóa vào ngày 10/09/2025.

phishing-email.jpg
(Email lừa đảo)

Đây là một chiêu lừa khá tinh vi, đánh vào tâm lý hoang mang để khiến nạn nhân nhấn vào đường link giả mạo và nhập thông tin tài khoản vào trang web giả (npmjs[.]help), từ đó bị đánh cắp thông tin đăng nhập.

Sau khi chiếm được tài khoản maintainer, kẻ tấn công đã âm thầm cập nhật các gói NPM với mã độc được nhúng trực tiếp trong file "index.js". Mã độc này có khả năng xâm nhập trình duyệt web khi ứng dụng sử dụng gói bị nhiễm chạy trên nền web.
1757410294970.png
Cụ thể, mã độc "hook" vào các hàm JavaScript phổ biến như fetch, XMLHttpRequest, và các API ví tiền số như window.ethereum, Solana, Tron, v.v... Mục tiêu là:
  • Giám sát các giao dịch tiền mã hóa của người dùng trong trình duyệt
  • Thay thế địa chỉ ví đích bằng ví của hacker mà người dùng không hề hay biết
  • Chiếm đoạt tiền mã hóa ngay trước khi giao dịch được ký và gửi
Nói cách khác: Người dùng tưởng rằng mình đang gửi tiền đến ví A, nhưng thực tế tiền lại rơi vào túi hacker.

Các gói npm đã bị chiếm quyền kiểm soát và lượt tải bị ảnh hưởng:
  • backslash - 260.000 lượt tải mỗi tuần
  • chalk-template - 3,9 triệu lượt tải mỗi tuần
  • supports-hyperlinks - 19,2 triệu lượt tải mỗi tuần
  • has-ansi - 12,1 triệu lượt tải mỗi tuần
  • simple-swizzle - 26,26 triệu lượt tải mỗi tuần
  • color-string - 27,48 triệu lượt tải mỗi tuần
  • error-ex - 47,17 triệu lượt tải mỗi tuần
  • color-name - 191,71 triệu lượt tải mỗi tuần
  • is-arrayish - 73,8 triệu lượt tải mỗi tuần
  • slice-ansi - 59,8 triệu lượt tải mỗi tuần
  • color-convert - 193,5 triệu lượt tải mỗi tuần
  • wrap-ansi - 197,99 triệu lượt tải mỗi tuần
  • ansi-regex - 243,64 triệu lượt tải mỗi tuần
  • supports-color - 287,1 triệu lượt tải mỗi tuần
  • strip-ansi - 261,17 triệu lượt tải mỗi tuần
  • chalk - 299,99 triệu lượt tải mỗi tuần
  • debug - 357,6 triệu lượt tải mỗi tuần
  • ansi-styles - 371,41 triệu lượt tải mỗi tuần
Tổng cộng hơn 2,6 tỷ lượt tải mỗi tuần bị ảnh hưởng, bao gồm nhiều gói phổ biến thường được dùng trong gần như mọi ứng dụng "Node.js" hiện đại. Việc bị tấn công chuỗi cung ứng từ những gói này có thể ảnh hưởng nghiêm trọng đến hàng triệu ứng dụng, dịch vụ và hệ thống trên toàn thế giới.

Mặc dù mức độ ảnh hưởng thực tế có giới hạn (chỉ xảy ra nếu gói được cài đặt mới từ 9h - 11h30 sáng ET ngày xảy ra sự cố, và không sử dụng package-lock.json), nhưng:
  • Các hệ thống CI/CD tự động có thể đã vô tình lấy bản mã độc mà không hay biết
  • Giao dịch tiền mã hóa có thể bị chuyển hướng
  • Các trang web có thể trở thành trung gian phát tán mã độc tới người dùng
Điều đặc biệt nguy hiểm là mã độc hoạt động âm thầm trong trình duyệt, khiến người dùng rất khó phát hiện bất thường.

Những điểm kỹ thuật đáng lưu ý
  1. Hook API trình duyệt: Mã độc "chen ngang" các hàm xử lý mạng như fetch, đánh cắp dữ liệu gửi/nhận.
  2. Giao diện không thay đổi: Người dùng vẫn thấy thông tin chính xác, nhưng hành động đằng sau đã bị can thiệp.
  3. Mã độc "đa tầng": Không chỉ theo dõi, mà còn thay đổi, ghi đè, và điều hướng giao dịch theo cách gần như không thể phát hiện bằng mắt thường.
Các chuyên gia đưa ra khuyến cáo chung
Đối với nhà phát triển:
  • Kiểm tra lại tất cả các package đã cài đặt từ thời điểm 9h - 11h30 sáng ET ngày bị tấn công.
  • Cập nhật các gói bị ảnh hưởng lên phiên bản đã được làm sạch.
  • Khóa phiên bản phụ thuộc bằng package-lock.json hoặc yarn.lock.
  • Bật xác thực hai yếu tố (2FA) với tài khoản NPM, GitHub, và các hệ thống liên quan.
  • Thường xuyên rà soát code và log CI/CD để phát hiện hành vi lạ.
Đối với người dùng cuối và doanh nghiệp:
  • Cẩn trọng khi sử dụng ứng dụng web có tích hợp ví tiền mã hóa.
  • Kiểm tra địa chỉ ví thật kỹ trước khi xác nhận giao dịch.
  • Sử dụng trình duyệt an toàn, plugin chống mã độc, và ví phần cứng để bảo vệ tài sản số.
Không có hệ thống nào an toàn nếu người sử dụng không cảnh giác. Trong thời đại mà phần mềm “ăn cả thế giới”, đừng để phần mềm của bạn là cánh cửa mở cho hacker bước vào.
Theo WhiteHat.vn
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
http://textlink.linktop.vn/?adslk=aHR0cHM6Ly93d3cudm5yZXZpZXcudm4vdGhyZWFkcy90YW4tY29uZy1zdXBwbHktY2hhaW4tbmdoaWVtLXRyb25nLXRyZW4tbnBtLWFuaC1odW9uZy1oYW5nLXR5LWx1b3QtdGFpLjY4OTE5Lw==
Top