Một loại sâu tinh vi có tên “Mini Shai-Hulud” đã làm hỏng hơn 170 gói trên các kho lưu trữ npm và PyPI trong một cuộc tấn công chuỗi cung ứng trên diện rộng, tác động đến các dự án với hơn 518 triệu lượt tải xuống kết hợp và giới thiệu một kỹ thuật mới để vượt qua các chứng thực bảo mật.
Ashish Kurmi, một nhà nghiên cứu tại StepSecurity cho biết: "Cuộc tấn công đã xuất bản các phiên bản độc hại thông qua quy trình phát hành GitHub Actions của chính dự án bằng cách sử dụng các mã thông báo OIDC bị đánh cắp. Trong một sự leo thang cực kỳ hiếm hoi, các gói bị hỏng mang các chứng thực nguồn gốc SLSA Build Level 3 hợp lệ, khiến đây trở thành loại sâu npm đầu tiên được ghi nhận tạo ra các gói độc hại được chứng thực hợp lệ."
Chiến dịch này, được cho là của nhóm đe dọa TeamPCP, đã ảnh hưởng đến 42 gói TanStack, 65 gói từ UiPath và các gói khác từ Mistral AI, OpenSearch và Guardrails AI. Sự cố hỏng TanStack (CVE-2026-45321), được xếp hạng nghiêm trọng với điểm CVSS là 9,6, liên quan đến một cuộc tấn công chuỗi sử dụng cấu hình sai pull_request_target và nhiễm độc bộ nhớ đệm để trích xuất mã thông báo OIDC từ bộ nhớ quy trình chạy GitHub Actions, cho phép kẻ tấn công xuất bản các gói mà không cần đánh cắp mã thông báo npm.
Khả năng tạo ra nguồn gốc SLSA hợp lệ cho các gói độc hại của cuộc tấn công làm xói mòn niềm tin vào chính các hệ thống được thiết kế để bảo vệ chuỗi cung ứng phần mềm. Sự cố này gây áp lực lên các nền tảng như GitHub và các kho lưu trữ như npm để giải quyết các điểm yếu về kiến trúc trong các đường ống CI/CD, vì rủi ro tài chính và vận hành hiện mở rộng sang bất kỳ dự án nào sử dụng các phụ thuộc từ những người bảo trì bị xâm phạm, có khả năng ảnh hưởng đến hàng tỷ đô la giá trị phần mềm.
Payload đa giai đoạn đánh cắp thông tin xác thực đám mây và tiền điện tử
Cốt lõi của cuộc tấn công là một trình đánh cắp thông tin xác thực đa giai đoạn, thường được nhúng dưới dạng một tệp JavaScript bị xáo trộn có tên "router_init.js". Mã độc thực hiện lập hồ sơ sâu rộng về môi trường của nạn nhân để đánh cắp một loạt các thông tin nhạy cảm, bao gồm thông tin xác thực cho các nhà cung cấp đám mây, ví tiền điện tử, công cụ AI và các ứng dụng nhắn tin. Theo công ty bảo mật SlowMist, sâu máy tính này được thiết kế rõ ràng để đánh cắp các khóa CI/CD và thông tin ví tiền điện tử.
Dữ liệu được trích xuất qua nhiều kênh, bao gồm một tên miền (filev2.getsession[.]org) sử dụng dịch vụ nhắn tin Session tập trung vào quyền riêng tư để trốn tránh sự phát hiện. Như một phương án dự phòng, dữ liệu bị đánh cắp cũng được đẩy lên các kho lưu trữ GitHub do kẻ tấn công kiểm soát. Mã độc cũng thiết lập sự tồn tại dai dẳng trong các trình chỉnh sửa mã phổ biến như VS Code để tồn tại sau khi khởi động lại.
Một biến thể Python của mã độc, được tìm thấy trong các gói guardrails-ai và mistralai bị hỏng, lấy một payload từ một máy chủ từ xa nhắm mục tiêu vào các trình quản lý mật khẩu như 1Password và Bitwarden. Phân tích của Microsoft lưu ý rằng biến thể này chứa một nhánh phá hoại với xác suất một phần sáu sẽ xóa tất cả các tệp trên các hệ thống có vẻ như ở Israel hoặc Iran.
Sâu lây lan qua danh tính nhà phát triển bị đánh cắp
Điều làm cho sâu Mini Shai-Hulud đặc biệt nguy hiểm là khả năng tự nhân bản của nó. Mã độc sử dụng các mã thông báo GitHub OIDC bị đánh cắp để tạo ra các mã thông báo xuất bản npm mới, cho phép nó xuất bản các phiên bản độc hại của các gói khác do nhà phát triển bị xâm phạm duy trì. Kỹ thuật này bỏ qua nhu cầu xác thực truyền thống hoặc xác thực hai yếu tố, tạo ra một mối đe dọa lây lan nhanh chóng.
Những kẻ tấn công đã tự động hóa quy trình này, tạo ra hơn 400 kho lưu trữ độc hại với mô tả "Shai-Hulud: Here We Go Again", một tham chiếu đến sử thi Dune. Sâu giả mạo tác giả cam kết để xuất hiện dưới dạng các ứng dụng hợp pháp, tiếp tục che giấu hoạt động của nó.
Các nhà nghiên cứu bảo mật khuyên tất cả các nhà phát triển nên kiểm tra xem có bất kỳ phiên bản gói bị hỏng nào đã xâm nhập vào môi trường của họ hay không, xoay vòng tất cả các thông tin xác thực có khả năng bị lộ và kiểm tra cấu hình GitHub Actions OIDC của họ để tìm các điểm yếu bảo mật.
Bài viết này chỉ nhằm mục đích cung cấp thông tin và không cấu thành lời khuyên đầu tư.