Được cung cấp bởi
Crypto News

Virus GitHub tấn công các gói npm với 16 triệu lượt tải xuống

Một loại sâu máy tính tự nhân bản, chuyên chiếm quyền điều khiển các đường ống GitHub Actions để phát hành các gói npm độc hại, đã tái xuất hiện và tấn công các gói AntV, echarts-for-react cùng SDK durabletask của Microsoft.

Key Takeaways

  • Key Takeaways

TÁC GIẢ
CHIA SẺ
Virus GitHub tấn công các gói npm với 16 triệu lượt tải xuống
  • </span></p>
  • <p><span style="font-weight: 400;">Điểm chính: </span></p>
  • <ul>
  • <li><span style="font-weight: 400;">Mini Shai-Hulud đã khai thác GitHub Actions vào ngày 19 tháng 5, làm lộ thông tin của hơn 300 gói npm với hơn 16 triệu lượt tải xuống hàng tuần. </span></li>
  • <li><span style="font-weight: 400;">Phần mềm độc hại này cài đặt một công tắc an toàn (dead-man's switch) sẽ xóa sạch máy tính của nhà phát triển nếu mã thông báo npm bị đánh cắp bị thu hồi. </span></li>
  • <li><span style="font-weight: 400;">GitHub đã phản ứng vào ngày 20 tháng 5 bằng cách triển khai tính năng xuất bản theo giai đoạn, đăng ký OIDC hàng loạt và kế hoạch loại bỏ các mã thông báo npm cũ.</span></li>
  • </ul>
  • <p><span style="font-weight: 400;">

Mini Shai-Hulud khai thác GitHub Actions để tấn công 16 triệu lượt tải xuống hàng tuần

Chiến dịch Mini Shai-Hulud, được cho là do nhóm đe dọa Team PCP thực hiện, không hoạt động theo cách thông thường của các cuộc tấn công chuỗi cung ứng. Thay vì đánh cắp thông tin đăng nhập của nhà phát triển và đăng tải trực tiếp, kẻ tấn công sẽ tạo nhánh (fork) một kho lưu trữ mục tiêu trên GitHub, mở một yêu cầu kéo (pull request) kích hoạt quy trình làm việc `pull_request_target`.

Điều này làm nhiễm độc bộ nhớ cache GitHub Actions bằng một kho pnpm độc hại, và từ thời điểm đó, các gói bị nhiễm mang theo các chứng chỉ đã ký hợp lệ và vượt qua các kiểm tra nguồn gốc SLSA, khiến chúng trông hoàn toàn sạch sẽ đối với các công cụ bảo mật tiêu chuẩn.

GitHub Worm Hits npm Packages With 16M Downloads
Nguồn ảnh: X

Vào ngày 19 tháng 5, làn sóng tấn công mới nhất đã nhắm vào hệ sinh thái trực quan hóa dữ liệu AntV khi kẻ tấn công chiếm quyền truy cập vào tài khoản người duy trì bị xâm nhập trong không gian tên @atool và phát hành hơn 300 phiên bản gói độc hại trên 323 gói trong một đợt tấn công tự động kéo dài 22 phút.

Trong số các gói bị ảnh hưởng có echarts-for-react, một gói bọc React cho Apache Echarts với khoảng 1,1 triệu lượt tải xuống hàng tuần

. Tổng số lượt tải xuống hàng tuần của tất cả các gói bị ảnh hưởng trong đợt tấn công này ước tính khoảng 16 triệu.

Chi tiết kỹ thuật đáng lo ngại nhất là điều gì sẽ xảy ra nếu một nhà phát triển cố gắng can thiệp. Phần mềm độc hại cài đặt một "công tắc an toàn", tức là một tập lệnh shell kiểm tra API của GitHub mỗi 60 giây để xác định xem token npm mà nó tạo ra đã bị thu hồi hay chưa. Token đó mang theo mô tả "IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner", có nghĩa là nếu bị nhà phát triển thu hồi, nó sẽ ngay lập tức xóa sạch thư mục home của máy tính bị nhiễm.

Token này cũng đánh cắp thông tin đăng nhập từ GitHub, AWS, Azure, GCP, Kubernetes, Hashi Corp Vault và hơn 90 cấu hình công cụ phát triển trước khi lây lan ngang qua cơ sở hạ tầng đám mây được kết nối.

Một cuộc tấn công, nhiều nạn nhân

Chiến dịch này đồng thời tấn công Python Package Index (PyPI) khi ba phiên bản độc hại của SDK Python durabletask chính thức của Microsoft được phát hành vào ngày 19 tháng 5, âm thầm tải xuống và thực thi một payload đánh cắp thông tin đăng nhập có dung lượng 28 KB (có khả năng di chuyển qua các môi trường AWS, Azure và GCP sau khi thực thi ban đầu).

GitHub đã phản hồi vào ngày 20 tháng 5 với một thông báo nêu rõ ba thay đổi cốt lõi đối với việc xuất bản npm, cụ thể là tích hợp OIDC hàng loạt để giúp các tổ chức di chuyển hàng trăm gói phần mềm sang xuất bản đáng tin cậy trên quy mô lớn, mở rộng hỗ trợ nhà cung cấp OIDC ngoài GitHub Actions và Gitlab, và một mô hình xuất bản theo giai đoạn mới cho phép người quản trị có thời gian xem xét trước khi các gói phần mềm được đưa vào hoạt động, yêu cầu phê duyệt xác thực đa yếu tố (MFA).

GitHub Worm Hits npm Packages With 16M Downloads
Nguồn hình ảnh: X

Công ty cũng có kế hoạch ngừng hỗ trợ các token cổ điển, chuyển người dùng sang xác thực hai yếu tố (2FA) dựa trên FIDO và mặc định không cho phép xuất bản dựa trên token. Trong đợt đầu tiên của chiến dịch vào tháng 9 năm 2025, GitHub đã gỡ bỏ hơn 500 gói phần mềm bị xâm phạm khỏi kho lưu trữ npm

Công ty bảo mật blockchain Slowmist đã đưa ra cảnh báo sớm vào ngày 14 tháng 5 sau khi phát hiện ba phiên bản độc hại của gói node-ipc (có 822.000 lượt tải xuống hàng tuần) trong cùng chiến dịch này.

Các nhà phát triển sử dụng bất kỳ gói phần mềm nào trong số các gói bị phát hiện đều được khuyến cáo kiểm tra ngay lập tức cây phụ thuộc, thay đổi tất cả thông tin đăng nhập mà không cần thu hồi mã thông báo độc hại trước, và kiểm tra các chỉ số xâm nhập được công bố bởi Snyk, Wiz, Socket.dev và Step Security.

Thẻ trong bài viết này