Chiến dịch Shai-Hulud v2 lan rộng từ npm đến Maven, tiết lộ hàng ngàn bí mật

Tác giả Starlink, T.M.Một 27, 2025, 01:38:23 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Làn sóng tấn công chuỗi cung ứng Shai-Hulud thứ hai đã lan sang hệ sinh thái Maven sau khi xâm phạm hơn 830 gói trong sổ đăng ký npm.

Nhóm nghiên cứu Socket cho biết họ đã xác định được một gói Maven Central có tên org.mvnpm:posthog-node:4.18.1 nhúng hai thành phần giống nhau liên quan đến Sha1-Hulud: trình tải "setup_bun.js" và phần tải trọng chính "bun_environment.js".


Công ty an ninh mạng cho biết trong bản cập nhật hôm thứ Ba: "Điều này có nghĩa là dự án PostHog đã xâm phạm các bản phát hành trong cả hệ sinh thái JavaScript/npm và Java/Maven, được điều khiển bởi cùng một tải trọng Shai Hulud v2".

Cần lưu ý rằng gói Maven Central không do chính PostHog phát hành. Thay vào đó, tọa độ "org.mvnpm" được tạo thông qua quy trình mvnpm tự động, xây dựng lại các gói npm dưới dạng các hiện vật Maven. Maven Central cho biết họ đang nỗ lực triển khai các biện pháp bảo vệ bổ sung để ngăn chặn việc đóng gói lại các thành phần npm đã bị xâm phạm. Tính đến 22:44 UTC, ngày 25 tháng 11 năm 2025, tất cả các bản sao được sao chép đã bị xóa.

Sự việc này diễn ra trong bối cảnh "sự trở lại" của sự cố chuỗi cung ứng nhắm vào các nhà phát triển trên toàn cầu với mục đích đánh cắp dữ liệu nhạy cảm như khóa API, thông tin đăng nhập đám mây, mã thông báo npm và GitHub, đồng thời tạo điều kiện cho việc xâm phạm chuỗi cung ứng sâu hơn theo cách tương tự như sâu máy tính. Phiên bản mới nhất cũng đã phát triển theo hướng lén lút, hung hăng, có khả năng mở rộng và phá hoại hơn.

Bên cạnh việc mượn toàn bộ chuỗi lây nhiễm của biến thể tháng 9 ban đầu, cuộc tấn công này còn cho phép kẻ tấn công truy cập trái phép vào tài khoản người bảo trì npm và phát hành các phiên bản trojan hóa các gói của chúng. Khi các nhà phát triển không cảnh giác tải xuống và chạy các thư viện này, mã độc được nhúng sẽ tạo cửa hậu cho máy tính của họ, quét các bí mật và trích xuất chúng vào kho lưu trữ GitHub bằng cách sử dụng các mã thông báo bị đánh cắp.

Cuộc tấn công thực hiện điều này bằng cách chèn hai quy trình làm việc độc hại, một trong số đó đăng ký máy nạn nhân là máy chạy tự lưu trữ và cho phép thực thi lệnh tùy ý mỗi khi một GitHub Discussion được mở. Quy trình làm việc thứ hai được thiết kế để thu thập tất cả bí mật một cách có hệ thống. Hơn 28.000 kho lưu trữ đã bị ảnh hưởng bởi sự cố này.

"Phiên bản này cải thiện đáng kể khả năng ẩn núp bằng cách sử dụng Bun runtime để ẩn logic cốt lõi và tăng khả năng mở rộng bằng cách tăng giới hạn lây nhiễm từ 20 lên 100 gói", Ronen Slavin và Roni Kuznicki của Cycode cho biết. "Nó cũng sử dụng một kỹ thuật né tránh mới, đánh cắp dữ liệu bị đánh cắp vào các kho lưu trữ GitHub công khai được đặt tên ngẫu nhiên thay vì một kho lưu trữ duy nhất được mã hóa cứng."


Các cuộc tấn công này cho thấy việc kẻ tấn công lợi dụng các đường dẫn phân phối phần mềm đáng tin cậy để phát tán các phiên bản độc hại trên quy mô lớn và xâm phạm hàng nghìn nhà phát triển hạ nguồn là điều dễ dàng như thế nào. Hơn nữa, bản chất tự sao chép của phần mềm độc hại đồng nghĩa với việc chỉ cần một tài khoản bị nhiễm cũng đủ để khuếch đại phạm vi ảnh hưởng của cuộc tấn công và biến nó thành một đợt bùng phát lan rộng trong thời gian ngắn.

Phân tích sâu hơn của Aikido đã phát hiện ra rằng những kẻ tấn công đã khai thác các lỗ hổng, đặc biệt tập trung vào các cấu hình CI sai trong quy trình làm việc pull_request_target và workflow_run, trong các quy trình làm việc GitHub Actions hiện có để thực hiện các cuộc tấn công và xâm phạm các dự án liên quan đến AsyncAPI, PostHog và Postman.

Nhà nghiên cứu bảo mật Ilyas Makari cho biết lỗ hổng bảo mật này "đã sử dụng lệnh kích hoạt pull_request_target đầy rủi ro theo cách cho phép mã được cung cấp bởi bất kỳ yêu cầu kéo mới nào được thực thi trong quá trình chạy CI". "Chỉ cần một lỗi cấu hình nhỏ cũng có thể biến một kho lưu trữ thành ổ dịch cho một cuộc tấn công lây lan nhanh chóng, tạo điều kiện cho kẻ tấn công đẩy mã độc qua các đường ống tự động mà bạn sử dụng hàng ngày."

Người ta đánh giá rằng hoạt động này là sự tiếp nối của một loạt các cuộc tấn công rộng hơn nhắm vào hệ sinh thái bắt đầu từ chiến dịch S1ngularity vào tháng 8 năm 2025, tác động đến một số gói Nx trên npm.

Nadav Sharkazy, giám đốc sản phẩm tại Apiiro, cho biết trong một tuyên bố: "Là một làn sóng phần mềm độc hại chuỗi cung ứng npm mới và hung hãn hơn đáng kể, Shai-Hulud 2 kết hợp khả năng thực thi lén lút, phạm vi thông tin xác thực và hành vi phá hoại dự phòng, khiến nó trở thành một trong những cuộc tấn công chuỗi cung ứng có tác động lớn nhất trong năm ".

"Phần mềm độc hại này cho thấy cách một lỗ hổng duy nhất trong thư viện phổ biến có thể lan sang hàng nghìn ứng dụng phía sau bằng cách trojan hóa các gói hợp pháp trong quá trình cài đặt."

Dữ liệu do GitGuardian, OX Security và Wiz tổng hợp cho thấy chiến dịch đã làm rò rỉ hàng trăm mã thông báo truy cập GitHub và thông tin đăng nhập liên quan đến Amazon Web Services (AWS), Google Cloud và Microsoft Azure. Hơn 5.000 tệp đã được tải lên GitHub với các bí mật bị rò rỉ. Phân tích của GitGuardian đối với 4.645 kho lưu trữ GitHub đã xác định được 11.858 bí mật riêng biệt, trong đó 2.298 bí mật vẫn còn hiệu lực và bị công khai tính đến ngày 24 tháng 11 năm 2025.

Người dùng được khuyên nên xoay vòng tất cả mã thông báo và khóa, kiểm tra tất cả các phụ thuộc, xóa các phiên bản bị xâm phạm, cài đặt lại các gói sạch và củng cố môi trường nhà phát triển và CI/CD bằng quyền truy cập đặc quyền thấp nhất, quét bí mật và thực thi chính sách tự động.

"Sha1-Hulud là một lời nhắc nhở nữa rằng chuỗi cung ứng phần mềm hiện đại vẫn còn quá dễ bị phá vỡ", Dan Lorenc, đồng sáng lập kiêm CEO của Chainguard, cho biết. "Chỉ cần một trình bảo trì bị xâm nhập và một tập lệnh cài đặt độc hại là đủ để lây lan sang hàng nghìn dự án phía sau chỉ trong vài giờ."

"Các kỹ thuật mà kẻ tấn công sử dụng đang không ngừng phát triển. Hầu hết các cuộc tấn công này không dựa vào lỗ hổng zero-day. Chúng khai thác những lỗ hổng trong cách phần mềm nguồn mở được phát hành, đóng gói và đưa vào hệ thống sản xuất. Biện pháp phòng thủ thực sự duy nhất là thay đổi cách phần mềm được xây dựng và sử dụng."