Phần mềm độc hại Shai Hulud v2
Làn sóng tấn công chuỗi cung ứng Shai-Hulud thứ hai hiện đã xâm nhập vào hệ sinh thái Maven, sau khi hơn 830 gói tin trong sổ đăng ký npm bị xâm phạm. Các nhà nghiên cứu đã xác định được một gói Maven Central, org.mvnpm:posthog-node:4.18.1, chứa các thành phần độc hại tương tự như các cuộc tấn công npm trước đó: trình tải setup_bun.js và tải trọng bun_environment.js. Hiện tại, đây là gói Java duy nhất bị ảnh hưởng.
Đáng chú ý, gói Maven không được PostHog phát hành. Thay vào đó, nó được tạo ra thông qua quy trình mvnpm tự động, xây dựng lại các gói npm dưới dạng các hiện vật Maven. Maven Central đã xác nhận rằng tất cả các bản sao được sao chép đã bị xóa khỏi hệ thống kể từ ngày 25 tháng 11 năm 2025, và các biện pháp bảo vệ bổ sung đang được triển khai để ngăn chặn việc các thành phần npm bị xâm phạm được phát hành lại.
Mục lục
Mục tiêu tấn công và tác động của nhà phát triển toàn cầu
Làn sóng mới nhất này nhắm vào các nhà phát triển trên toàn thế giới, nhằm mục đích đánh cắp dữ liệu nhạy cảm như:
- Khóa API
- Thông tin đăng nhập đám mây
- npm và mã thông báo GitHub
Nó cũng tạo điều kiện cho việc xâm nhập sâu hơn vào chuỗi cung ứng theo cách tự sao chép giống như sâu máy tính. Phiên bản Shai-Hulud này lén lút, hung hăng và phá hoại hơn so với biến thể ban đầu vào tháng 9. Bằng cách xâm nhập tài khoản người bảo trì npm, kẻ tấn công có thể phát hành các gói trojan có thể tạo cửa hậu cho máy tính của nhà phát triển và tự động quét tìm kiếm bí mật để rò rỉ vào kho lưu trữ GitHub.
Cách thức hoạt động của phần mềm độc hại: Quy trình làm việc kép và kỹ thuật ẩn
Cuộc tấn công này sử dụng hai quy trình làm việc độc hại:
- Đăng ký trình chạy tự lưu trữ: Cho phép thực thi lệnh tùy ý bất cứ khi nào một Thảo luận trên GitHub được mở.
- Quy trình thu thập bí mật: Thu thập thông tin đăng nhập một cách có hệ thống và đẩy chúng lên GitHub.
- Những cải tiến chính trong Shai-Hulud v2 bao gồm:
- Sử dụng thời gian chạy Bun để che giấu logic cốt lõi
- Mở rộng giới hạn lây nhiễm từ 20 lên 100 gói
- Kho lưu trữ dữ liệu rò rỉ ngẫu nhiên trên GitHub để tránh bị phát hiện
Cho đến nay, hơn 28.000 kho lưu trữ đã bị ảnh hưởng, chứng minh quy mô và mức độ lén lút của chiến dịch.
Lỗ hổng bị khai thác và cơ chế chuỗi cung ứng
Các tác nhân đe dọa đã lợi dụng cấu hình sai CI trong quy trình làm việc GitHub Actions, đặc biệt là các lệnh kích hoạt pull_request_target và workflow_run. Chỉ cần một quy trình làm việc bị cấu hình sai cũng có thể biến một kho lưu trữ thành "bệnh nhân số 0", cho phép mã độc lan truyền nhanh chóng.
Cuộc tấn công này nhắm vào các dự án liên quan đến AsyncAPI, PostHog và Postman, tiếp tục chiến dịch rộng hơn bắt đầu với cuộc tấn công S1ngularity vào tháng 8 năm 2025, ảnh hưởng đến một số gói Nx trên npm.
Hậu quả: Bí mật bị rò rỉ và Rủi ro hệ thống
Phân tích chiến dịch cho thấy:
- Hàng trăm mã thông báo truy cập GitHub và thông tin đăng nhập đám mây từ AWS, Google Cloud và Microsoft Azure đã bị đánh cắp.
- Hơn 5.000 tệp tin có chứa bí mật đã được tải lên GitHub.
- Trong số 11.858 bí mật duy nhất được xác định trong 4.645 kho lưu trữ, 2.298 bí mật vẫn còn hiệu lực và được công khai tính đến ngày 24 tháng 11 năm 2025.
Điều này chứng minh cách một trình bảo trì bị xâm phạm có thể gây ra hiệu ứng dây chuyền, lây nhiễm cho hàng nghìn ứng dụng phía sau.
Khuyến nghị cho nhà phát triển
Để giảm thiểu rủi ro, các nhà phát triển nên:
- Xoay vòng tất cả các khóa API, mã thông báo và thông tin xác thực
- Kiểm tra và loại bỏ các phụ thuộc bị xâm phạm
- Cài đặt lại các phiên bản gói sạch
- Bảo mật môi trường CI/CD với quyền truy cập đặc quyền thấp nhất, quét bí mật và thực thi chính sách tự động
Shai-Hulud nhấn mạnh rằng chuỗi cung ứng phần mềm hiện đại vẫn rất dễ bị tấn công. Kẻ tấn công tiếp tục khai thác những lỗ hổng trong cách phần mềm nguồn mở được xuất bản, đóng gói và triển khai, thường không dựa vào các lỗ hổng zero-day. Biện pháp phòng thủ hiệu quả nhất đòi hỏi phải xem xét lại cách phần mềm được xây dựng, chia sẻ và sử dụng.