Giun Shai-Hulud mini

Nhóm tội phạm mạng TeamPCP có liên quan đến một chiến dịch tấn công chuỗi cung ứng tinh vi nhắm vào các gói npm và PyPI được sử dụng rộng rãi, liên kết với TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI và một số hệ sinh thái khác. Hoạt động này, gắn liền với chiến dịch phần mềm độc hại Mini Shai-Hulud đang phát triển, cho thấy sự leo thang đáng kể trong việc lạm dụng chuỗi cung ứng phần mềm và các kỹ thuật xâm nhập dựa trên danh tính.

Các nhà nghiên cứu đã xác định rằng các gói npm độc hại đã được sửa đổi để bao gồm một thành phần JavaScript bị che giấu có tên là router_init.js. Phần mềm độc hại này lập hồ sơ môi trường bị nhiễm và triển khai một công cụ đánh cắp thông tin đăng nhập tiên tiến nhắm mục tiêu vào các nhà cung cấp dịch vụ đám mây, ví tiền điện tử, công cụ phát triển AI, nền tảng nhắn tin, hệ thống CI/CD và môi trường GitHub Actions. Dữ liệu bị đánh cắp chủ yếu được truyền đến miền filev2.getsession.org.

Việc sử dụng cơ sở hạ tầng Giao thức Phiên (Session Protocol) cho thấy một nỗ lực có chủ đích nhằm né tránh các biện pháp kiểm soát an ninh của doanh nghiệp. Vì tên miền này thuộc về một nền tảng nhắn tin phi tập trung tập trung vào quyền riêng tư, nên nó ít có khả năng bị chặn bởi các hệ thống phòng thủ mạng truyền thống. Là một phương pháp đánh cắp dữ liệu thứ cấp, dữ liệu được mã hóa được chuyển đến các kho lưu trữ do kẻ tấn công kiểm soát thông qua API GraphQL của GitHub bằng cách sử dụng các mã thông báo xác thực GitHub bị đánh cắp dưới danh tính tác giả claude@users.noreply.github.com.

Cơ chế duy trì và mở rộng hành vi đánh cắp thông tin đăng nhập

Phần mềm độc hại này tích hợp một số khả năng duy trì và giám sát được thiết kế để giữ quyền truy cập lâu dài vào các môi trường phát triển bị xâm nhập. Các điểm kết nối duy trì được thiết lập bên trong Claude Code và Microsoft Visual Studio Code, cho phép phần mềm độc hại tồn tại sau khi khởi động lại hệ thống và tự động khởi chạy lại bất cứ khi nào các IDE được mở.

Ngoài ra, một dịch vụ gh-token-monitor được triển khai để liên tục giám sát và đánh cắp lại các token GitHub. Hai quy trình công việc GitHub Actions độc hại cũng được chèn vào các kho lưu trữ bị xâm phạm. Các quy trình công việc này chuyển đổi các bí mật của kho lưu trữ thành định dạng JSON và tải dữ liệu lên điểm cuối bên ngoài api.masscan.cloud.

Vụ tấn công TanStack mới nhất khác biệt đáng kể so với các sự cố chuỗi cung ứng trước đó. Thay vì dựa vào một hook cài đặt trước, kẻ tấn công đã nhúng một tệp JavaScript độc hại trực tiếp vào các gói nén tarball, đồng thời thêm một phụ thuộc tùy chọn được liên kết với một gói được lưu trữ trên GitHub. Phụ thuộc đó chứa một hook vòng đời prepare thực thi payload thông qua môi trường chạy Bun.

Các gói phần mềm độc hại Mistral AI bị nhiễm mã độc Trojan đã áp dụng một chiến lược lây nhiễm cũ hơn bằng cách sửa đổi tệp package.json với một hook cài đặt trước gọi node setup.mjs. Quá trình này tải xuống Bun và thực thi cùng một phần mềm độc hại đánh cắp thông tin đăng nhập.

CVE-2026-45321 và việc lạm dụng tính năng xuất bản đáng tin cậy

Lỗ hổng bảo mật TanStack đã được chính thức ghi nhận là CVE-2026-45321 và được xếp hạng nghiêm trọng với điểm CVSS là 9.6. Các nhà điều tra đã xác nhận rằng 42 gói phần mềm và 84 phiên bản trong hệ sinh thái TanStack bị ảnh hưởng.

Phân tích cho thấy vụ xâm nhập bắt nguồn từ một cuộc tấn công chuỗi GitHub Actions khai thác trình kích hoạt pull_request_target, làm nhiễm độc bộ nhớ cache của GitHub Actions và trích xuất mã thông báo OIDC trong quá trình chạy từ các trình chạy GitHub Actions. Theo báo cáo, kẻ tấn công đã dàn dựng các payload độc hại thông qua các commit mồ côi trong các nhánh GitHub trước khi chèn chúng vào các gói tarball npm. Sau đó, kẻ tấn công đã chiếm quyền kiểm soát các quy trình làm việc TanStack/router hợp pháp để xuất bản các gói bị xâm phạm với chứng thực nguồn gốc SLSA hợp lệ.

Sự phát triển này đánh dấu một bước leo thang lịch sử trong các cuộc tấn công chuỗi cung ứng phần mềm. Các gói phần mềm độc hại mang theo chữ ký nguồn gốc SLSA Build Level 3 hợp lệ, biến đây trở thành loại sâu máy tính npm đầu tiên được ghi nhận có khả năng phân phối các gói phần mềm độc hại với chứng thực bản dựng xác thực. Chiến dịch phần mềm độc hại sau đó đã mở rộng ra ngoài TanStack và lan rộng sang các hệ sinh thái do UiPath, DraftLab và các nhà phát triển khác duy trì.

Cuộc tấn công này lạm dụng nghiêm trọng các quy trình xuất bản đáng tin cậy. Thay vì đánh cắp trực tiếp thông tin đăng nhập npm, mã do kẻ tấn công điều khiển chạy bên trong các đường dẫn CI/CD đáng tin cậy đã tận dụng quyền OIDC để tạo ra các mã thông báo xuất bản có thời hạn ngắn trong quá trình xây dựng. Điều này cho phép các gói độc hại được xuất bản thông qua các đường dẫn phát hành hợp pháp trong khi bỏ qua các biện pháp bảo vệ xác thực thông thường.

Hành vi tự sinh sản của giun gây báo động

Một trong những khía cạnh nguy hiểm nhất của chiến dịch Mini Shai-Hulud là mô hình lây lan kiểu sâu máy tính. Phần mềm độc hại chủ động tìm kiếm các token npm có thể xuất bản được cấu hình với bypass_2fa=true, liệt kê các gói do nhà phát triển bị xâm nhập duy trì và trao đổi token OIDC của GitHub để lấy token xuất bản cho mỗi gói. Cơ chế này cho phép phần mềm độc hại lây lan theo chiều ngang trong hệ sinh thái gói mà không cần dựa vào các kỹ thuật đánh cắp thông tin đăng nhập truyền thống.

Cuộc tấn công cũng khai thác cấu hình độ tin cậy ở cấp kho lưu trữ bên trong mô hình nhà xuất bản đáng tin cậy OIDC của GitHub. Vì độ tin cậy được cấp rộng rãi ở cấp kho lưu trữ thay vì bị giới hạn ở các nhánh được bảo vệ và các tệp quy trình công việc cụ thể, nên các lần thực thi quy trình công việc độc hại được kích hoạt bởi các cam kết mồ côi có thể yêu cầu các mã thông báo xuất bản npm hợp lệ.

Một khả năng đáng lo ngại khác liên quan đến việc triển khai "công tắc tử thần". Phần mềm độc hại cài đặt một tập lệnh shell liên tục thăm dò điểm cuối api.github.com/user cứ sau 60 giây để xác định xem các mã thông báo npm do kẻ tấn công tạo ra có còn hoạt động hay không. Các mã thông báo này mang mô tả đe dọa "Nếu bạn thu hồi mã thông báo này, nó sẽ xóa sạch máy tính của chủ sở hữu".

Nếu các chuyên gia bảo mật thu hồi mã thông báo thông qua bảng điều khiển npm, phần mềm độc hại sẽ khởi chạy một quy trình phá hoại bằng lệnh rm -rf ~/, biến đổi hoàn toàn sự lây nhiễm thành phần mềm độc hại xóa dữ liệu. Hành vi hung hăng này cho thấy sự phát triển đáng kể trong chiến thuật hoạt động của TeamPCP và thể hiện sự tinh vi ngày càng tăng trong các phương pháp duy trì sự hiện diện cưỡng chế. Do đó, các nhóm bảo mật được khuyến cáo nên cách ly và sao lưu hình ảnh các hệ thống bị nhiễm trước khi thu hồi thông tin đăng nhập npm bị xâm phạm.

Các gói sản phẩm bị ảnh hưởng và tác động ngày càng lan rộng đến hệ sinh thái

Chiến dịch này đã ảnh hưởng đến hơn 170 gói phần mềm trên cả npm và PyPI, với tổng số lượt tải xuống lên đến hơn 518 triệu. Các nhà điều tra cũng đã xác định được ít nhất 400 kho lưu trữ được tạo ra bằng thông tin đăng nhập bị đánh cắp, tất cả đều chứa cụm từ 'Shai-Hulud: Here We Go Again'.

Các gói hàng bị ảnh hưởng bao gồm:

guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-project/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/weather@0.5.10
@squawk/flightplan@0.5.6
@tallyui/connector-medusa@1.0.1, 1.0.2, 1.0.3
@tallyui/connector-vendure@1.0.1, 1.0.2, 1.0.3

Phần mềm độc hại này cũng sử dụng nhiều kênh đánh cắp dữ liệu dự phòng. Bên cạnh cơ sở hạ tầng Giao thức Phiên và các điểm lưu trữ ẩn của GitHub, thông tin đăng nhập bị đánh cắp được truyền qua tên miền giả mạo git-tanstack.com.

Phần mềm độc hại PyPI giới thiệu logic phá hoại dựa trên vị trí địa lý.

Các biến thể phần mềm độc hại dựa trên Python liên quan đến các gói phần mềm độc hại Mistral AI và Guardrails AI khác biệt đáng kể so với các payload JavaScript được phân phối qua npm. Gói PyPI bị xâm nhập của mistral AI tải xuống phần mềm đánh cắp thông tin đăng nhập từ máy chủ từ xa 83.142.209.194.

Các nhà nghiên cứu phát hiện ra rằng phần mềm độc hại Python này chứa logic nhận biết quốc gia được thiết kế để tránh thực thi trong môi trường tiếng Nga. Nó cũng bao gồm một cơ chế phá hoại dựa trên vị trí địa lý, tạo ra xác suất 1/6 thực thi lệnh rm -rf / nếu hệ thống bị nhiễm có vẻ như đang ở Israel hoặc Iran.

Hành vi này cho thấy một sự phát triển đáng lo ngại hướng tới việc triển khai các phần mềm độc hại có tính đến khu vực trong các hệ sinh thái gói phần mềm mã nguồn mở.

Mối đe dọa ngày càng gia tăng từ các cuộc tấn công chuỗi cung ứng dựa trên định danh

Chiến dịch Mini Shai-Hulud phản ánh một sự chuyển đổi rộng hơn trong các cuộc tấn công chuỗi cung ứng hiện đại. Thay vì chỉ tập trung vào việc xâm phạm gói hàng, các tác nhân đe dọa ngày càng nhắm mục tiêu vào các danh tính CI/CD đáng tin cậy, quy trình xuất bản và các đường dẫn tự động hóa dựa trên đám mây.

Một khi kẻ tấn công giành được quyền truy cập vào cơ sở hạ tầng xuất bản phần mềm, chính quy trình phát triển sẽ trở thành cơ chế phân phối phần mềm độc hại. Vì nhiều hành vi độc hại xảy ra thông qua các quy trình làm việc hợp pháp, các chứng thực đáng tin cậy và các hệ thống phát hành chính thức, các biện pháp kiểm soát an ninh truyền thống có thể không phát hiện ra hành vi độc hại.

Các đặc điểm chính xác định thế hệ tấn công chuỗi cung ứng mới này bao gồm:

  • Lạm dụng cơ chế xuất bản đáng tin cậy và cơ chế trao đổi mã thông báo OIDC.
  • Lan truyền thông qua các quy trình CI/CD hợp pháp và hệ thống xây dựng.
  • Sử dụng chứng thực SLSA hợp lệ để che giấu các gói phần mềm độc hại.
  • Các hoạt động đánh cắp và duy trì thông tin đăng nhập đa kênh
  • Các cơ chế trả đũa mang tính hủy diệt được thiết kế để đe dọa những người phòng thủ.

Việc chiến dịch mở rộng sang các công cụ AI, tự động hóa doanh nghiệp, cơ sở hạ tầng tìm kiếm, phát triển giao diện người dùng, công cụ liên quan đến hàng không và hệ sinh thái CI/CD cho thấy chuỗi cung ứng phần mềm đã trở nên liên kết chặt chẽ như thế nào. Giám sát hành vi trong quá trình cài đặt gói và thực thi bản dựng hiện đang ngày càng quan trọng để phát hiện các mối đe dọa thoạt nhìn có vẻ hợp pháp.

xu hướng

Xem nhiều nhất

Đang tải...