Làn sóng tấn công Sha1-Hulud thứ hai ảnh hưởng đến hơn 25.000 kho lưu trữ thông qua đánh cắp thông tin xác thực npm Preinstall

Nhiều nhà cung cấp bảo mật đang đưa ra cảnh báo về làn sóng tấn công thứ hai nhắm vào kho lưu trữ npm, tương tự như cuộc tấn công Shai-Hulud trước đây. Chiến dịch chuỗi cung ứng mới, được đặt tên là Sha1-Hulud, đã làm lộ hàng trăm gói npm, theo báo cáo từ Aikido, HelixGuard, Koi Security, Socket và Wiz. Chiến dịch này giới thiệu một biến thể mới thực thi mã độc trong giai đoạn preinstall.
Ảnh minh họa cuộc tấn công chuỗi cung ứng npm

Nhiều nhà cung cấp bảo mật đang gióng lên hồi chuông cảnh báo về làn sóng tấn công thứ hai nhắm vào kho lưu trữ npm, theo cách thức gợi nhớ đến cuộc tấn công Shai-Hulud trước đó.

Chiến dịch chuỗi cung ứng mới, có tên Sha1-Hulud, đã làm lộ hàng trăm gói npm, theo báo cáo từ Aikido, HelixGuard, Koi Security, SocketWiz.

"Chiến dịch này giới thiệu một biến thể mới thực thi mã độc trong giai đoạn preinstall, làm tăng đáng kể khả năng phơi nhiễm trong môi trường build và runtime," các nhà nghiên cứu của Wiz là Hila Ramati, Merav Bar, Gal Benmocha và Gili Tikochinski cho biết.

Tương tự như cuộc tấn công Shai-Hulud được phát hiện vào tháng 9 năm 2025, hoạt động mới nhất này cũng công bố các secrets bị đánh cắp lên GitHub, lần này với mô tả kho lưu trữ là: "Sha1-Hulud: The Second Coming."

Cơ chế hoạt động của làn sóng tấn công Sha1-Hulud

Làn sóng trước đây được đặc trưng bởi việc thỏa hiệp các gói hợp pháp để đẩy mã độc được thiết kế để tìm kiếm secrets trên máy của nhà phát triển bằng cách sử dụng công cụ quét thông tin xác thực của TruffleHog và truyền chúng đến một máy chủ bên ngoài do kẻ tấn công kiểm soát.

Các biến thể bị nhiễm cũng có khả năng tự sao chép bằng cách tự publish vào các gói npm khác thuộc sở hữu của maintainer bị thỏa hiệp.

Trong loạt tấn công mới nhất, kẻ tấn công đã thêm một preinstall script ("setup_bun.js") vào tệp package.json, được cấu hình để âm thầm cài đặt hoặc định vị runtime Bun và chạy một script độc hại đi kèm ("bun_environment.js").

Payload độc hại thực hiện chuỗi hành động sau thông qua hai workflow khác nhau:

  • Đăng ký máy bị nhiễm làm một self-hosted runner có tên "SHA1HULUD" và thêm một workflow gọi là .github/workflows/discussion.yaml có chứa lỗ hổng injection và chạy cụ thể trên các self-hosted runner, cho phép kẻ tấn công chạy các lệnh tùy ý trên các máy bị nhiễm bằng cách mở discussion trong kho lưu trữ GitHub.
  • Exfiltrate các secrets được định nghĩa trong phần GitHub secrets và tải chúng lên dưới dạng một artifact, sau đó artifact này được tải xuống, tiếp theo là xóa workflow để che giấu hoạt động.
"Khi thực thi, phần mềm độc hại tải xuống và chạy TruffleHog để quét máy cục bộ, đánh cắp thông tin nhạy cảm như NPM Tokens, AWS/GCP/Azure credentials và environment variables," HelixGuard lưu ý.
Sơ đồ luồng tấn công Sha1-Hulud

Phạm vi và mức độ nghiêm trọng

Wiz cho biết họ đã phát hiện hơn 25.000 kho lưu trữ bị ảnh hưởng trên khoảng 350 người dùng riêng biệt, với 1.000 kho lưu trữ mới được thêm vào đều đặn cứ sau 30 phút trong vài giờ qua.

"Chiến dịch này tiếp tục xu hướng thỏa hiệp chuỗi cung ứng npm tham chiếu đến tên gọi và chiến thuật của Shai-Hulud, mặc dù có thể liên quan đến các tác nhân khác nhau," Wiz cho biết. "Mối đe dọa tận dụng các tài khoản maintainer bị thỏa hiệp để publish các phiên bản trojanized của các gói npm hợp pháp thực thi mã đánh cắp và exfiltration thông tin xác thực trong quá trình cài đặt."

Koi Security gọi làn sóng thứ hai là hung hãn hơn nhiều, nói thêm rằng phần mềm độc hại cố gắng phá hủy toàn bộ thư mục home của nạn nhân nếu nó không thể xác thực hoặc thiết lập persistence. Điều này bao gồm mọi tệp có thể ghi thuộc sở hữu của người dùng hiện tại trong thư mục home của họ. Tuy nhiên, chức năng giống wiper này chỉ được kích hoạt khi các điều kiện sau được thỏa mãn:

  • Không thể xác thực với GitHub.
  • Không thể tạo kho lưu trữ GitHub.
  • Không thể lấy GitHub token.
  • Không thể tìm thấy NPM token.
"Nói cách khác, nếu Sha1-Hulud không thể đánh cắp credentials, lấy tokens hoặc đảm bảo bất kỳ kênh exfiltration nào, nó sẽ chuyển sang phá hủy dữ liệu một cách thảm khốc," các nhà nghiên cứu bảo mật Yuval Ronen và Idan Dardikman cho biết. "Điều này đánh dấu một sự leo thang đáng kể so với làn sóng đầu tiên, chuyển chiến thuật của tác nhân từ việc chỉ đánh cắp dữ liệu sang phá hoại mang tính trừng phạt."

Biện pháp giảm thiểu

Để giảm thiểu rủi ro do mối đe dọa này gây ra, các tổ chức đang được khuyến nghị quét tất cả các endpoints để tìm kiếm sự hiện diện của các gói bị ảnh hưởng, loại bỏ các phiên bản bị thỏa hiệp ngay lập tức, xoay vòng tất cả các credentials và kiểm tra các kho lưu trữ để tìm các cơ chế persistence bằng cách xem xét .github/workflows/ để tìm các tệp đáng ngờ như shai-hulud-workflow.yml hoặc các branches không mong muốn.