Các nhà nghiên cứu phát hiện Payload thử nghiệm của Worm Shai-Hulud đã sửa đổi trên npm Registry

Các nhà nghiên cứu an ninh mạng đã tiết lộ chi tiết về một biến thể mới của Shai Hulud trên npm registry với những sửa đổi nhỏ so với đợt trước đó được ghi nhận vào tháng trước. Gói npm chứa biến thể Shai Hulud mới là "@vietmoney/react-big-calendar", được tải lên npm vào tháng 3 năm 2021 bởi người dùng "hoquocdat". Nó đã được cập nhật lần đầu tiên vào
Hình ảnh minh họa về gói npm độc hại

Các nhà nghiên cứu an ninh mạng đã tiết lộ chi tiết về một biến thể mới của Shai Hulud trên npm registry với những sửa đổi nhỏ so với đợt trước đó được ghi nhận vào tháng trước.

Gói npm chứa biến thể Shai Hulud mới là "@vietmoney/react-big-calendar", được tải lên npm vào tháng 3 năm 2021 bởi người dùng "hoquocdat". Nó đã được cập nhật lần đầu tiên vào ngày 28 tháng 12 năm 2025, lên phiên bản 0.26.2. Gói này đã được tải xuống 698 lần kể từ khi phát hành ban đầu. Phiên bản mới nhất đã được tải xuống 197 lần.

Aikido, đơn vị đã phát hiện gói này, cho biết họ chưa ghi nhận bất kỳ sự lây lan hoặc nhiễm trùng lớn nào sau khi gói được phát hành.

"Điều này cho thấy chúng tôi có thể đã phát hiện ra những kẻ tấn công đang thử nghiệm payload của chúng," nhà nghiên cứu bảo mật Charlie Eriksen cho biết. "Sự khác biệt trong mã cho thấy mã này đã được làm obfuscated lại từ mã nguồn gốc, chứ không phải sửa đổi trực tiếp. Điều này làm cho khả năng đây là bản sao chép rất thấp, mà được tạo ra bởi một người nào đó có quyền truy cập vào mã nguồn gốc của worm."

Cuộc tấn công Shai-Hulud lần đầu tiên được phát hiện vào tháng 9 năm 2025, khi các gói npm bị trojan hóa được tìm thấy đang đánh cắp dữ liệu nhạy cảm như API keys, cloud credentials, và npm và GitHub tokens, sau đó gửi chúng ra ngoài đến các kho lưu trữ GitHub bằng cách sử dụng các token bị đánh cắp. Trong làn sóng thứ hai được phát hiện vào tháng 11 năm 2025, các kho lưu trữ chứa mô tả "Sha1-Hulud: The Second Coming."

Nhưng khía cạnh quan trọng nhất của chiến dịch là khả năng vũ khí hóa các npm tokens để lấy 100 gói khác được tải xuống nhiều nhất liên quan đến nhà phát triển, đưa các thay đổi độc hại tương tự vào và đẩy chúng lên npm, từ đó mở rộng quy mô thỏa hiệp chuỗi cung ứng một cách giống worm.

Biến thể mới đi kèm với những thay đổi đáng chú ý:

  • Tệp ban đầu hiện được gọi là "bun_installer.js" và payload chính được gọi là "environment_source.js".
  • Các kho lưu trữ GitHub nơi rò rỉ secrets có mô tả "Goldox-T3chs: Only Happy Girl."
  • Tên các tệp chứa secrets là: 3nvir0nm3nt.json, cl0vd.json, c9nt3nts.json, pigS3cr3ts.json và actionsSecrets.json.

Các sửa đổi quan trọng khác bao gồm xử lý lỗi tốt hơn khi bộ quét credential của TruffleHog hết thời gian, cải thiện việc phát hành gói dựa trên hệ điều hành và điều chỉnh thứ tự thu thập và lưu dữ liệu.

Gói Jackson JSON Maven Giả Mạo Phát Tán Cobalt Strike Beacon

Sự việc này xảy ra khi công ty bảo mật chuỗi cung ứng cho biết họ đã xác định một gói độc hại ("org.fasterxml.jackson.core/jackson-databind") trên Maven Central mạo danh một tiện ích mở rộng thư viện Jackson JSON hợp pháp ("com.fasterxml.jackson.core"), nhưng lại tích hợp một chuỗi tấn công nhiều giai đoạn để phát tán các tệp thực thi dành riêng cho từng nền tảng. Gói này đã bị gỡ xuống.

Bên trong tệp Java Archive (JAR) là mã bị obfuscated nặng nề, sẽ kích hoạt ngay khi một nhà phát triển không nghi ngờ thêm dependency độc hại này vào tệp "pom.xml" của họ.

"Khi ứng dụng Spring Boot khởi động, Spring sẽ quét các lớp @Configuration và tìm thấy JacksonSpringAutoConfiguration," Eriksen cho biết. "Kiểm tra @ConditionalOnClass({ApplicationRunner.class}) sẽ vượt qua (ApplicationRunner luôn có mặt trong Spring Boot), do đó Spring đăng ký lớp này dưới dạng một bean. ApplicationRunner của phần mềm độc hại sẽ được gọi tự động sau khi ngữ cảnh ứng dụng tải. Không yêu cầu các lệnh gọi rõ ràng."

Phần mềm độc hại sau đó tìm kiếm một tệp có tên ".idea.pid" trong thư mục làm việc. Việc lựa chọn tên tệp này là có chủ đích và được thiết kế để hòa lẫn với các tệp dự án IntelliJ IDEA. Nếu tệp đó tồn tại, đó là tín hiệu cho phần mềm độc hại biết rằng một thể hiện của chính nó đã đang chạy, khiến nó thoát ra một cách âm thầm.

Trong bước tiếp theo, phần mềm độc hại tiến hành kiểm tra hệ điều hành và liên hệ với một máy chủ bên ngoài ("m.fasterxml[.]org:51211") để lấy một phản hồi được mã hóa chứa các URL đến một payload sẽ được tải xuống dựa trên hệ điều hành. Payload là một Cobalt Strike beacon, một công cụ mô phỏng đối thủ hợp pháp có thể bị lạm dụng cho post-exploitation và command-and-control.

Trên Windows, nó được cấu hình để tải xuống và thực thi một tệp có tên "svchosts.exe" từ "103.127.243[.]82:8000", trong khi một payload được gọi là "update" được tải xuống từ cùng máy chủ đó cho các hệ thống Apple macOS.

Phân tích sâu hơn cho thấy domain typosquatted fasterxml[.]org đã được đăng ký thông qua GoDaddy vào ngày 17 tháng 12 năm 2025, chỉ một tuần trước khi gói Maven độc hại được phát hiện.

"Cuộc tấn công này đã khai thác một điểm mù cụ thể: hoán đổi tiền tố kiểu TLD trong quy ước namespace domain ngược của Java," Eriksen nói. "Thư viện Jackson hợp pháp sử dụng com.fasterxml.jackson.core, trong khi gói độc hại sử dụng org.fasterxml.jackson.core."

Aikido cho biết vấn đề bắt nguồn từ việc Maven Central không có khả năng phát hiện các gói copycat sử dụng các tiền tố tương tự như các gói hợp pháp của chúng để lừa các nhà phát triển tải xuống. Cũng khuyến nghị rằng các nhà quản lý kho gói nên xem xét duy trì danh sách các namespace có giá trị cao và yêu cầu bất kỳ gói nào được xuất bản dưới các namespace trông tương tự phải trải qua xác minh bổ sung để đảm bảo chúng là hợp pháp.