- Chiến dịch "Shai-Hulud" tự lan truyền đã xâm phạm ít nhất 187 gói npm và vẫn đang được điều tra.
- Kẻ tấn công đã lạm dụng các tài khoản nhà xuất bản đáng tin cậy, chèn gói tin bundle.js và sử dụng TruffleHog để thu thập bí mật.
- Các tập lệnh độc hại sau khi cài đặt nhắm mục tiêu vào CI/CD để đánh cắp các biến môi trường, thông tin đăng nhập đám mây và mã thông báo.
- ReversingLabs liên kết sự cố này với bản phát hành rxnt-authentication độc hại vào ngày 14 tháng 2025 năm XNUMX; npm và các nhà cung cấp đang xóa các gói bị nhiễm độc.

Trong bối cảnh rủi ro nguồn mở ngày càng được giám sát chặt chẽ, một quy mô lớn ataque a la cadena de suministro de npm được mệnh danh là “Shai-Hulud” đang làm rung chuyển hệ sinh thái JavaScript, với hàng trăm gói hàng có liên quan và công tác dọn dẹp đang được tiến hànhCác nhà nghiên cứu cho biết hoạt động này kết hợp giữa xâm phạm tài khoản, xuất bản tự động và đánh cắp bí mật theo những cách khiến việc ngăn chặn trở nên cực kỳ khó khăn.
Các phân tích ban đầu chỉ ra rằng những kẻ tấn công đang lợi dụng các tài khoản nhà xuất bản đáng tin cậy để đưa ra các bản cập nhật có bẫy, trong khi tự động hóa nhanh chóng phát tán các bản phát hành độc hại đến các dự án phổ biến. Vì các gói npm được tái sử dụng rộng rãi nên tác động lan tỏa thông qua các cây phụ thuộc đặc biệt đáng lo ngại đối với các nhóm dựa vào quy trình CI/CD.
Chiến dịch được phát hiện như thế nào
Các nhà nghiên cứu bảo mật lần đầu tiên nhận thấy hoạt động đáng ngờ liên quan đến các dự án có tham chiếu đến các gói liên quan đến CrowdStrike, thúc đẩy việc quét sổ đăng ký rộng hơn để tìm kiếm các điểm bất thường và tải lên trái phép từ các tài khoản trông có vẻ hợp pháp. Một số mục tiêu dường như phổ biến trong môi trường doanh nghiệp, làm tăng bán kính nổ.
Nhà phát triển Daniel Pereira đã công khai cảnh báo về một cuộc tấn công chuỗi cung ứng quy mô lớn sau khi gặp khó khăn trong việc tiếp cận các kênh bảo mật riêng tư, đồng thời kêu gọi các nhà phát triển tránh các bản phát hành gần đây của @ctrl/tinycolor, một gói có hàng triệu lượt tải xuống mỗi tuần. Sự cảnh giác của ông đã thúc đẩy cuộc điều tra phối hợp của nhiều nhóm an ninh.
Phần mềm độc hại cố gắng đánh cắp những gì
Sau khi cài đặt, các gói bị nhiễm có thể thực thi các tập lệnh sau khi cài đặt được thiết kế để lọc các biến môi trường, mã thông báo và các bí mật khác. Điều này khiến máy chủ xây dựng và máy trạm của nhà phát triển gặp rủi ro nếu các phiên bản độc hại được kéo trong quá trình cài đặt hoặc chạy CI.
Bằng cách nhắm mục tiêu cụ thể vào các hệ thống CI/CD, các nhà điều hành đã tìm cách thu thập tài liệu xác thực như khóa nhà cung cấp đám mây, mã thông báo truy cập riêng tư và thông tin đăng nhập dịch vụ. Với những thông tin này, kẻ thù có thể di chuyển theo chiều ngang, xâm nhập lại vào mạng lưới và có khả năng can thiệp vào đường ống hoặc các ứng dụng nhạy cảm.
Cách sâu lây lan giữa các gói
Các cuộc điều tra cho thấy chiến dịch bao gồm một thành phần tự phát tán đã tải xuống từng gói do người bảo trì bị xâm phạm sở hữu, thay đổi package.json, tiêm một bó.js tải trọng, đóng gói lại và xuất bản lại—tự động hóa quá trình trojan hóa các bản phát hành tiếp theo.
Phần mềm độc hại cũng lạm dụng công cụ quét bí mật hợp pháp TruffleHog để săn lùng các thông tin xác thực bị lộ và các tệp cấu hình được tham chiếu có tên shai-hulud.yaml—một cái gật đầu với loài giun cát Dune đã truyền cảm hứng cho biệt danh của chiến dịch. Sự kết hợp giữa tái sử dụng và tự động hóa này đã giúp mối đe dọa di chuyển nhanh chóng.
Phạm vi và các gói bị ảnh hưởng cho đến nay
Các nhà nghiên cứu từ Socket và Aikido đã xác định được ít nhất 187 gói npm bị xâm phạm Cho đến nay, con số này dự kiến sẽ tăng lên khi quá trình đánh giá tiếp tục. Bởi vì ngay cả một phụ thuộc bị nhiễm độc cũng có thể lan rộng sang nhiều dự án, nên mức độ phơi nhiễm thực tế có thể rất đáng kể.
Trong số những gói bị ảnh hưởng có các gói liên quan đến CrowdStrike—chẳng hạn như crowdstrike-sdk, crowdstrike-client và crowdstrike-api—cùng với các mô-đun phổ biến khác. Việc nhấn mạnh vào các thư viện tham chiếu doanh nghiệp cho thấy các nhà điều hành đã theo đuổi đòn bẩy hoạt động tối đa.
Manh mối về nguồn gốc và dòng thời gian
ReversingLabs báo cáo rằng sự bùng phát có thể bắt nguồn từ việc phát hành độc hại xác thực rxnt được xuất bản vào ngày 14 tháng 2025 năm XNUMX, với tài khoản npm techsupportrxnt được coi là bệnh nhân số 0 tiềm năng. Nguyên nhân tài khoản đó bị xâm nhập vẫn chưa rõ ràng, với nhiều giả thuyết khác nhau, từ lừa đảo đến lạm dụng GitHub Action dễ bị tấn công.
Nhiều công ty mô tả Shai-Hulud là một điều chưa từng có, sâu gói npm tự sao chép cũng đánh cắp mã thông báo đám mây. Trong khi quá trình xác định vẫn đang diễn ra, hồ sơ kỹ thuật nhấn mạnh cách thức tự động hóa do kẻ tấn công kiểm soát có thể biến các trình quản lý gói thành kênh phân phối mạnh mẽ.
Phản ứng và dọn dẹp của ngành công nghiệp
Các đối tác đăng ký và bảo mật npm đã chuyển đến xóa các gói độc hại, thông báo cho nhà xuất bản và đưa ra hướng dẫn để kiểm tra các phụ thuộc. Các nhà phát triển được khuyến khích kiểm tra các tệp khóa và lịch sử phiên bản, đặc biệt là vào khoảng giữa tháng 2025 năm XNUMX.
CrowdStrike tuyên bố rằng họ đã nhanh chóng xóa các gói độc hại khỏi npm công khai, chủ động luân chuyển các khóa và xác nhận rằng cảm biến Falcon của nó không sử dụng các mô-đun đó và các biện pháp bảo vệ khách hàng vẫn được áp dụngCông ty đang hợp tác với npm và tiến hành đánh giá toàn diện.
Các bước thực tế cho các đội
Các tổ chức nên kiểm toán ngay lập tức các dự án để tìm ra các chỉ số đã biết, ưu tiên danh sách phụ thuộc, tệp khóa và nhật ký xây dựng CI. Xoay vòng mọi mã thông báo và thông tin xác thực có khả năng bị lộ, bao gồm mã thông báo npm, GitHub PAT và khóa đám mây.
- Xóa hoặc ghim các gói bị ảnh hưởng và quay lại phiên bản an toàn; xây dựng lại từ môi trường sạch.
- Bật xác thực 2 yếu tố bắt buộc cho tài khoản nhà xuất bản npm và áp dụng mã thông báo có đặc quyền thấp nhất trong CI/CD.
- Liên tục quét các phần phụ thuộc và hiện vật để phát hiện hành vi giả mạo; theo dõi hành vi bất thường sau khi cài đặt.
- Thiết lập cảnh báo về các bản phát hành bất ngờ từ tổ chức của bạn và xác minh tính toàn vẹn của gói trước khi quảng bá.
Để giảm thiểu rủi ro trong tương lai, hãy giới thiệu các kiểm tra tự động chặn các tập lệnh đáng ngờ trong quá trình cài đặt và xác minh nguồn gốc cho các phụ thuộc mới hoặc được cập nhật trước khi chúng được đưa vào sản xuất. Việc xem xét quyền truy cập của người bảo trì, biện pháp bảo vệ kho lưu trữ và chính sách ký kết có thể củng cố thêm chuỗi.
Chiến dịch Shai-Hulud đã phơi bày cách nhanh chóng mà một diễn viên quyết tâm có thể biến niềm tin vào sổ đăng ký phổ biến thành vũ khí, bằng cách sử dụng tài khoản bị xâm phạm, sự lan truyền giống như sâu và thu thập bí mật để khuếch đại tác động; sự cảnh giác, khắc phục nhanh chóng và kiểm soát chặt chẽ hơn của nhà xuất bản hiện là những ưu tiên trước mắt đối với các nhóm trên toàn hệ sinh thái.