Hệ sinh thái JavaScript/npm đang phải đối mặt với một chuẩn mực mới về các mối đe dọa chuỗi cung ứng với sự tái xuất của Shai-Hulud 2.0 vào ngày 24 tháng 11 năm 2025. Loại sâu tự lan truyền này đặc biệt nhắm vào các nhà bảo trì mã nguồn mở và các gói mà họ phát hành. Biến thể mới này đánh dấu sự chuyển đổi từ các gói độc hại bị cô lập sang một cơ chế lây nhiễm tự động, phối hợp.
Tác động đã rất nghiêm trọng. Hàng trăm gói npm và hàng chục nghìn kho lưu trữ GitHub đã bị ảnh hưởng, tạo ra một "bán kính bùng nổ" chưa từng có cho một cuộc tấn công chuỗi cung ứng JavaScript. Đối với những độc giả đã quen thuộc với phân tích của OPSWAT về Shai-Hulud 1.0 , phiên bản 2.0 mở rộng đáng kể khả năng và quy mô hoạt động của sâu: thực thi sớm hơn, lan truyền rộng hơn và khả năng phục hồi tốt hơn trước các biện pháp khắc phục tiêu chuẩn, nâng nó từ một mối đe dọa đáng lo ngại lên thành một sự cố toàn diện ở cấp độ hệ sinh thái.
Thông tin nhanh về Shai-Hulud 2.0
- Sâu tự lan truyền: Shai-Hulud 2.0 đánh cắp thông tin đăng nhập GitHub, đóng gói lại và phát hành lại trên toàn bộ danh mục npm của người bảo trì.
- Lây lan rộng rãi: Hơn 700 gói npm bị nhiễm, hơn 25.000 kho lưu trữ GitHub, 500 người bảo trì bị ảnh hưởng; hơn 1.000 kho lưu trữ mới được thêm vào sau mỗi 30 phút ( Wiz ).
- Tác động liên hệ sinh thái: Cũng được quan sát thấy trong Maven/Java thông qua phản chiếu npm sang Maven tự động.
- Rủi ro chính: Tiếp xúc với CI/CD, bí mật bị xâm phạm, thực thi tại thời điểm cài đặt và sổ đăng ký bị nhiễm độc.
- Phòng thủ: Độ chính xác của SBOM, xác minh nguồn gốc, giám sát thời gian chạy và vệ sinh mã thông báo/bí mật nghiêm ngặt.
Phạm vi và leo thang: Thiệt hại lan rộng đến mức nào?
Quy mô và tốc độ lây lan của Shai-Hulud 2.0 đã vượt xa mọi sự cố chuỗi cung ứng gần đây. Khởi đầu là một cuộc tấn công npm có chủ đích, mã độc đã nhanh chóng leo thang thành một cuộc lây nhiễm hệ thống, đa nền tảng, ảnh hưởng đến hàng nghìn dự án và hàng trăm người bảo trì.
Không giống như mã độc npm thông thường, thường chỉ liên quan đến một gói trojan, Shai-Hulud 2.0 hoạt động như một loại sâu máy tính. Sau khi xâm nhập vào một nhà phát triển, nó đánh cắp thông tin đăng nhập GitHub, tự đóng gói lại và phát tán trên toàn bộ bộ gói của người bảo trì, biến mỗi nạn nhân thành một điểm phân phối mới. Kết quả là sự lây lan nhanh chóng, theo cấp số nhân trên toàn hệ sinh thái.
Các gói bị xâm phạm
Hàng trăm gói npm đã bị xâm phạm. Trong số đó có các dự án có độ hiển thị cao do các tổ chức uy tín quản lý, làm gia tăng mức độ phơi nhiễm ở hạ nguồn.
Sự lan truyền nhanh chóng theo cấp số nhân
Con sâu này được phát hiện tạo ra hơn 1.000 kho lưu trữ GitHub độc hại mới mỗi 30 phút ( Wiz ), được thúc đẩy bởi việc tự động xuất bản thông tin đăng nhập bị đánh cắp. Mỗi nạn nhân mới trở thành một nút lan truyền, nhân lên tổng tác động sau mỗi chu kỳ.
Bí mật bị phơi bày
Thành phần đánh cắp thông tin đăng nhập của Shai-Hulud 2.0 đang chứng minh mức độ nguy hiểm đặc biệt nghiêm trọng. Các bí mật bị rò rỉ đã được xác minh bao gồm hơn 1.500 thông tin đăng nhập và mã thông báo trên các nền tảng lớn – GitHub, AWS, Google Cloud Nền tảng và Azure.
Khối lượng mã thông báo nhạy cảm này thể hiện sự thỏa hiệp rộng rãi trên nhiều đám mây với khả năng khai thác dài hạn.
Nỗ lực khắc phục
May mắn thay, một số nhà bảo trì nổi tiếng như Zapier, PostHog và Postman đã giành lại quyền kiểm soát các gói của họ. Các phiên bản độc hại đã bị xóa khỏi npm và nhiều kho lưu trữ bị ảnh hưởng đang được khôi phục hoặc dọn dẹp.
Tuy nhiên, sự cố vẫn đang tiếp diễn. Ngay cả khi đã khắc phục nhanh chóng, các tổ chức vẫn phải tiếp tục theo dõi tình trạng phụ thuộc, đường dẫn CI và tài khoản GitHub để phát hiện các dấu hiệu rò rỉ thông tin đăng nhập hoặc tự động đăng lại.
Tác động xuyên hệ sinh thái: npm → Maven/Java
Đáng chú ý, làn sóng này cũng tác động đến các hệ sinh thái khác như Maven/Java thông qua việc chuyển đổi hiện vật npm sang Maven tự động ( JFrog ).
-
Mặc dù npm vẫn là mục tiêu chính của Shai-Hulud 2.0, làn sóng này đã chứng minh nguy cơ lan truyền xuyên hệ sinh thái, đặc biệt là vào các dự án Java/Maven. Các nhà nghiên cứu bảo mật đã xác định được hiện vật Maven độc hại:
org.mvnpm:posthog-node:4.18.1chứa cùng một tải trọng (thiết lập_bun.jsvàbun_environment.js) được tìm thấy trong các gói npm bị xâm phạm (Tin tức Hacker) .
- Cơ chế: Các công cụ bắc cầu tự động xây dựng lại các gói npm dưới dạng các tạo tác Maven cho các dự án Java. Các nhóm không trực tiếp sử dụng Node.js có thể bị lộ nếu dự án của họ dựa trên các tạo tác được phản chiếu này.
Điều này chứng minh rủi ro không phụ thuộc vào hệ sinh thái của các cuộc tấn công chuỗi cung ứng. Ngay cả những dự án không trực tiếp sử dụng npm cũng có thể gặp rủi ro thông qua công cụ tự động.
Shai-Hulud 2.0 chứng minh rằng sâu chuỗi cung ứng hiện đại là những mối đe dọa đa giai đoạn, nhận thức được môi trường: chúng thích ứng với máy của nhà phát triển và các quy trình CI/CD, thu thập thông tin đăng nhập làm cơ chế lan truyền và tải trọng, đồng thời bao gồm các hành vi dự phòng để đảm bảo lây lan hoặc gây ra tác động phá hoại. Việc phát hiện yêu cầu giám sát hành vi thời gian chạy trên tất cả các giai đoạn, chứ không chỉ phân tích mã tĩnh.
Cơ học kỹ thuật: Cách thức hoạt động của con sâu
| Sân khấu | Chuyện gì xảy ra |
|---|---|
| 1. Truy cập và triển khai ban đầu | Những kẻ tấn công lợi dụng các tài khoản người bảo trì npm bị xâm phạm để phân phối các gói chứa thiết lập_bun.js và bun_environment.js, được thực hiện tự động thông qua một cài đặt trước móc nối giữa các máy phát triển và đường ống CI/CD. |
| 2. Khởi tạo thời gian chạy ẩn | Bộ tải phát hiện môi trường máy chủ, khởi tạo thời gian chạy Bun và chạy payload một cách âm thầm trong nền để quá trình cài đặt diễn ra bình thường. |
| 3. Dấu vân tay môi trường & Tăng đặc quyền | Tải trọng xác định các nền tảng CI, thử root không cần mật khẩu thông qua Docker trên trình chạy Linux và có thể sửa đổi các quy tắc DNS hoặc iptables để kiểm soát luồng mạng. |
| 4. Thu thập thông tin xác thực và bí mật | Tải trọng thu thập các biến môi trường và khóa đám mây, chạy TruffleHog để khám phá bí mật cục bộ, trích xuất thông tin xác thực AWS/Azure/GCP và đưa vào quy trình làm việc tạm thời để thu thập bí mật GitHub. |
| 5. Sự thẩm thấu và sự tồn tại | Dữ liệu bị đánh cắp được mã hóa theo chuẩn base64 và tải lên kho lưu trữ mới trong tài khoản của nạn nhân trong khi tính bền vững được thiết lập thông qua trình chạy và quy trình làm việc tự lưu trữ độc hại. |
| 6. Sự nhân lên của giun (Nhân bản) | Bằng cách sử dụng mã thông báo npm bị đánh cắp, sâu sẽ sao chép các gói của nạn nhân, chèn các tệp và phần mềm độc hại, tăng phiên bản và phát hành lại chúng để tự động lây lan. |
| 7. Sự trở lại mang tính hủy diệt | Nếu không thể thu thập được thông tin xác thực, sâu sẽ kích hoạt một quy trình phá hoại nhằm xóa sạch thư mục gốc của người dùng một cách an toàn. |
Rủi ro CI/CD được nêu bật bởi sự cố PostHog
Vụ vi phạm của PostHog cho thấy mức độ tinh vi của việc tiếp xúc với CI/CD:
- Các yêu cầu kéo độc hại đã lợi dụng pull_request_target trong GitHub Actions.
- Một bot PAT đã bị xâm nhập, sau đó cho phép phát hành các SDK npm bị nhiễm trojan.
Quy trình làm việc CI/CD, ngay cả quy trình tự động, đều là bề mặt tấn công có nguy cơ cao. Hãy hạn chế các tập lệnh, giảm thiểu việc tiếp xúc với mã thông báo và áp dụng thông tin xác thực có thời hạn ngắn.
Hạn chế của các biện pháp phòng thủ truyền thống
- Việc ghim phụ thuộc có thể không thành công do các phụ thuộc mang tính tạm thời.
- Máy quét SCA tĩnh không thể phát hiện mã độc trojan mới được công bố dưới tên gói hợp pháp.
- Việc sử dụng sai mã thông báo thông qua đường ống CI/CD có nghĩa là ngay cả các kho lưu trữ nội bộ cũng có nguy cơ bị tấn công.
Cách sử dụng SBOM và Supply Chain An ninh như một biện pháp phòng thủ
SBOM và các công cụ chuỗi cung ứng có thể cung cấp:
- Tính minh bạch của sự phụ thuộc : Theo dõi các sự phụ thuộc trực tiếp và gián tiếp với siêu dữ liệu phiên bản và người bảo trì.
- Xác minh nguồn gốc : Xác định những thay đổi gói không mong muốn hoặc người bảo trì không xác định.
- Giám sát thông tin xác thực và bí mật : Phát hiện các nỗ lực đánh cắp hoặc sử dụng sai mã thông báo.
- Thông tin chi tiết về hành vi : Theo dõi quyền truy cập tài nguyên hoặc các mẫu thực thi bất thường trong quá trình cài đặt.
Mặc dù không phải là giải pháp hoàn hảo, nhưng việc kết hợp SBOM với giám sát liên tục sẽ tăng cường khả năng phòng thủ chống lại các cuộc tấn công giống sâu.
OPSWAT SBOM và MetaDefender Software Supply Chain ™
Công nghệ OPSWAT SBOM quét kho lưu trữ mã nguồn và phát hiện gói npm sha1-hulud độc hại.

MetaDefender Software Supply Chain cung cấp bức tranh đầy đủ hơn và phát hiện gói sha1-hulud bị xâm phạm.

Cơ sở dữ liệu của chúng tôi phát hiện các gói bị xâm phạm được sử dụng trong các dự án của nhà phát triển:

Metascan Multiscanning bổ sung nhiều lớp phòng thủ để phát hiện phần mềm độc hại:

Các hành động ngay lập tức được đề xuất
- Xoay vòng thông tin xác thực : GitHub PAT, mã thông báo npm, khóa SSH, thông tin xác thực đám mây; bật MFA.
- Xóa các gói bị xâm phạm : Xóa bộ nhớ đệm npm, node_modules và ghim vào các phiên bản sạch đã biết.
- Kiểm tra GitHub và CI/CD : Tìm kiếm kho lưu trữ, quy trình làm việc và cam kết đáng ngờ mới.
- Củng cố đường ống : hạn chế các tập lệnh vòng đời, giới hạn quyền truy cập mạng ra ngoài và giảm thiểu phạm vi mã thông báo.
- Giám sát liên tục : Xử lý các mối phụ thuộc và xây dựng đường ống như một phần của bề mặt tấn công quan trọng.
Những điểm chính
Các mối đe dọa chuỗi cung ứng không liên quan đến hệ sinh thái
Sự lan tỏa của Shai-Hulud 2.0 sang Maven/Java thông qua cầu nối npm-to-Maven cho thấy các cuộc tấn công chuỗi cung ứng có thể vượt qua ranh giới ngôn ngữ và hệ sinh thái. Ngay cả các dự án không trực tiếp sử dụng npm cũng có thể bị tấn công nếu sử dụng các công cụ cầu nối tự động.
Vệ sinh chứng chỉ là nền tảng
Mã thông báo bị đánh cắp (GitHub, npm, cloud) cho phép lan truyền và truy cập vào các môi trường nhạy cảm. Hãy sử dụng mã thông báo có thời hạn sử dụng ngắn, có phạm vi, thực thi MFA và luân chuyển thông tin đăng nhập ngay lập tức sau khi có bất kỳ nghi ngờ nào về việc xâm phạm. Sử dụng các công cụ quét bí mật tự động để đẩy nhanh quá trình.
Toàn diện Supply Chain Bảo mật là bắt buộc
Chỉ dựa vào quét SCA tĩnh hoặc ghim phiên bản là không đủ. Hãy kết hợp khả năng hiển thị SBOM, quét nhiều phần mềm độc hại và bảo vệ mã thông báo/bí mật để giảm thiểu rủi ro trên tất cả các hệ sinh thái. Khám phá Supply Chain Software MetaDefender
Bạn đã sẵn sàng bảo mật chuỗi cung ứng phần mềm và ngăn chặn các cuộc tấn công mạng bằng các giải pháp tích hợp liền mạch, được thiết kế riêng chưa?
