Hơn 300 gói npm bị tấn công bởi sâu độc tự nhân bản – Cảnh báo bảo mật nghiêm trọng

Gần đây, cộng đồng lập trình đã chấn động khi phát hiện gói tinycolor – một thư viện xử lý màu sắc cực kỳ phổ biến trên npm (hơn 2 triệu lượt tải mỗi tuần) – bị tấn công, kéo theo hơn 40 gói khác. Tuy nhiên, sự việc không dừng lại ở đó: các nhà nghiên cứu tại Socket vừa thông báo rằng một loại sâu tự lây lan đã lây nhiễm hơn 300 gói npm.

Cách thức lây lan

Kẻ tấn công đã cài cắm một hàm độc hại mang tên NpmModule.updatePackage vào trong các thư viện bị xâm nhập. Hàm này tự động hóa toàn bộ quy trình lây nhiễm:

  1. Tải tarball của gói mục tiêu.
  2. Chỉnh sửa tệp package.json .
  3. Chèn tập lệnh độc hại bundle.js .
  4. Đóng gói lại, rồi xuất bản lên npm bằng token bị đánh cắp.

Ngoài ra, sâu độc này còn có hành vi tìm kiếm các biến môi trường như NPM_TOKEN để lấy thông tin đăng nhập, từ đó tiếp tục lây lan sang các gói khác do cùng tài khoản duy trì.

CrowdStrike cũng bị ảnh hưởng

Theo Socket, tài khoản npm của CrowdStrike cũng đã bị xâm nhập, khiến nhiều gói của hãng bị chèn mã độc. Sau đó, CrowdStrike đã gỡ bỏ các gói bị ảnh hưởng và thay đổi toàn bộ thông tin đăng nhập.

Chiến dịch tấn công này được đặt tên là Shai-Hulud – lấy cảm hứng từ loài "sâu cát khổng lồ" trong tiểu thuyết khoa học viễn tưởng Dune . Tên gọi bắt nguồn từ các tệp workflow có tên shai-hulud.yaml trong mã độc.

Payload của cuộc tấn công được đánh giá là khá tinh vi. Nó sử dụng TruffleHog – công cụ quét bí mật hợp pháp – để tìm và xác thực thông tin đăng nhập, trước khi gửi chúng về máy chủ của kẻ tấn công qua webhook.

Một số gói nổi bật bị nhiễm bao gồm:

  • @ctrl/tinycolor
  • ngx-toastr
  • @crowdstrike/glide-core
  • angulartics2
  • eslint-config-crowdstrike
  • @nativescript-community/ui-collectionview

Nếu bị ảnh hưởng, người dùng cần Gỡ ngay gói độc hại:

npm uninstall <tên_gói>

Cố định phiên bản an toàn cho đến khi có bản vá:

npm install <tên_gói>@<phiên_bản> --save-exact

Bên cạnh đó, cần đổi toàn bộ thông tin đăng nhập trên hệ thống vì sâu này có khả năng đánh cắp dữ liệu nhạy cảm, bao gồm: NPM tokens, GitHub Personal Access Tokens & Actions Secrets, SSH keys, Thông tin đăng nhập cloud (AWS, Google Cloud, Azure), API keys, chuỗi kết nối cơ sở dữ liệu, bí mật lưu trong AWS Secrets Manager và các dịch vụ tương tự.

Thứ Tư, 17/09/2025 10:45
53 👨 386
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Chuyện công nghệ