Sâu Shai-Hulud tiếp tục đào hang: 314 gói npm bị nhiễm mã độc sau khi tài khoản bị đánh cắp

Cloud & DevOps19 tháng 5, 2026·3 phút đọc

Một vụ tấn công chuỗi cung ứng quy mô lớn đã ảnh hưởng đến 314 gói npm, bao gồm các thư viện JavaScript phổ biến như size-sensor và echarts-for-react. Mã độc được phát tán thông qua tài khoản bị xâm phạm nhằm đánh cắp thông tin xác thực từ các nền tảng đám mây và công cụ phát triển.

Sâu Shai-Hulud tiếp tục đào hang: 314 gói npm bị nhiễm mã độc sau khi tài khoản bị đánh cắp

Một cuộc tấn công chuỗi cung ứng mới đã bộc lộ lỗ hổng nghiêm trọng trong hệ sinh thái JavaScript, khi 314 gói npm bị nhiễm mã độc chỉ trong vòng 22 phút vào sáng sớm thứ Ba.

Các thư viện bị ảnh hưởng bao gồm những module phổ biến như size-sensor, echarts-for-react, timeago.js và các gói trong phạm vi @antv. Trong đó, size-sensor là gói chịu tác động lớn nhất với 4,2 triệu lượt tải xuống mỗi tháng, tiếp theo là echarts-for-react (3,8 triệu lượt) và @antv/scale (2,2 triệu lượt).

Chi tiết cuộc tấn công

Vụ việc bắt nguồn từ việc tài khoản npm [email protected] của một nhà phát triển tại Hàng Châu, Trung Quốc bị xâm phạm. Kẻ tấn công đã sử dụng tài khoản này để phát tán các phiên bản gói chứa mã độc.

Điểm đáng lo ngại là kẻ tấn công đã chủ động đóng các vấn đề (issues) cảnh báo về mã độc trên GitHub và đánh dấu chúng là "đã khắc phục" chỉ trong vòng một giờ sau khi nhà nghiên cứu bảo mật Nicholas Carlini báo cáo. Điều này có nghĩa là cảnh báo về mã độc bị ẩn đi trừ khi nhà phát triển chủ động tìm kiếm trong danh sách các vấn đề đã đóng.

Mã độc đánh cắp thông tin đám mây

Công ty bảo mật SafeDep đã phân tích tải trọng (payload) của mã độc và nhận thấy nó có cấu trúc tương tự như vụ tấn công các gói SAP cách đây ba tuần. Mã độc này hoạt động bằng cách đọc các biến môi trường và quét tệp để tìm kiếm thông tin xác thực (credentials) của GitHub, npm, cũng như các nền tảng đám mây lớn như AWS, Microsoft Azure, Google Cloud, Docker, Stripe và nhiều dịch vụ khác.

Đặc biệt, mã độc còn cố gắng thoát ra khỏi ranh giới của container để lây lan rộng hơn. Các thông tin bí mật bị đánh cắp sẽ được gửi ngược về một kho lưu trữ GitHub mới.

GitHub bị lợi dụng làm máy chủ C2

Theo SafeDep, kẻ tấn công đã tự động hóa toàn bộ đợt tấn công này bằng cách sử dụng mã thông báo (token) bị đánh cắp. Mã độc còn tiêm các tệp cài đặt vào các dự án cục bộ khác trên máy của nhà phát triển để thực thi bởi Claude Code hoặc Codex.

Hơn nữa, kẻ tấn công đã lạm dụng GitHub như một cửa ngõ chỉ huy và kiểm soát (C2 - command-and-control) thông qua các kho lưu trữ độc hại và mã Python tải xuống và thực thi nội dung từ chúng.

Khuyến nghị cho nhà phát triển

Những nhà phát triển đã cài đặt các phiên bản gói bị xâm phạm được khuyên nên:

  • Thay đổi (rotate) tất cả thông tin xác thực có thể truy cập được từ môi trường xây dựng (build environment).
  • Kiểm tra các kho lưu trữ GitHub trái phép.
  • Xóa các dịch vụ systemd độc hại trên hệ thống Linux.

Những người bảo trì (maintainers) và nhà xuất bản gói nằm trong nhóm rủi ro cao nhất, vì kẻ tấn công có thể sử dụng thông tin xác thực của họ để phát hành thêm các gói độc hại.

Vụ tấn công này diễn ra chỉ sau một sự cố Shai-Hulud khác được báo cáo vào ngày hôm qua, và nhiều khả năng sẽ còn thêm các đợt tấn công tiếp theo. Mặc dù các kho lưu trữ gói khác như PyPI và RubyGems cũng đã thấy sự xuất hiện của mã độc, nhưng npm vẫn là mục tiêu lớn nhất và chịu ảnh hưởng nặng nề nhất cho đến nay. npm, thuộc sở hữu của công ty con GitHub của Microsoft, vẫn chưa đưa ra nhiều bình luận về đợt tấn công này.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗