Chiến dịch tấn công chuỗi cung ứng Miasma xâm nhập gói npm của Red Hat để đánh cắp thông tin xác thực

Một chiến dịch tấn công chuỗi cung ứng Mini Shai-Hulud mới mang tên Miasma đã xâm nhập vào các gói @redhat-cloud-services, cho phép đánh cắp thông tin xác thực từ máy tính của nhà phát triển và phát tán sâu máy tính tự nhân bản. Các chuyên gia cảnh báo mã độc này nhắm vào các hệ thống CI/CD, đám mây và duy trì sự hiện diện thông qua các công cụ như VS Code và Claude Code.
Chiến dịch tấn công Miasma nhắm vào Red Hat

Một chiến dịch tấn công chuỗi cung ứng Mini Shai-Hulud mới với mã danh Miasma đã xâm nhập vào các gói @redhat-cloud-services nhằm đánh cắp thông tin xác thực và bí mật từ máy tính của nhà phát triển, đồng thời phát tán một sâu máy tính (worm) tự nhân bản.

"Đây thực chất là một chiến dịch Mini Shai-Hulud: nó sử dụng cùng các chiến thuật cốt lõi như thực thi tại thời điểm cài đặt, thu thập thông tin xác thực, nhắm mục tiêu vào CI/CD, lọc dữ liệu mã hóa và khả năng phát tán hạ nguồn," công ty bảo mật Socket cho biết.

Hiện tại vẫn chưa rõ danh tính chính xác của kẻ đứng sau hoạt động tấn công này. Nhóm tội phạm mạng khét tiếng TeamPCP đã công khai mã nguồn các công cụ tấn công liên quan đến sâu Shai-Hulud, tạo điều kiện cho các tác nhân đe dọa khác thực hiện các cuộc tấn công tương tự và khiến việc truy vết trở nên khó khăn hơn.

Danh sách các gói bị ảnh hưởng:

  • @redhat-cloud-services/vulnerabilities-client
  • @redhat-cloud-services/tsc-transform-imports
  • @redhat-cloud-services/topological-inventory-client
  • @redhat-cloud-services/sources-client
  • @redhat-cloud-services/rule-components
  • @redhat-cloud-services/remediations-client
  • @redhat-cloud-services/rbac-client

Cơ chế hoạt động và đánh cắp dữ liệu

Theo phân tích từ Aikido Security, JFrog, Microsoft, OX Security, SafeDep, StepSecurityWiz, các gói npm chứa một preinstall hook đã bị làm xáo trộn (obfuscated). Hook này được thiết kế để thu thập các bí mật của GitHub Actions, npm tokens, thông tin xác thực đám mây, dữ liệu Kubernetes và Vault, SSH keys, thông tin xác thực Git và các tệp nhạy cảm khác.

Tương tự như các đợt tấn công Mini Shai-Hulud trước đó, phần mềm độc hại này chứa logic lọc dữ liệu mã hóa để truyền dữ liệu đến "api.anthropic[.]com:443/v1/api" và sử dụng GitHub như một cơ chế dự phòng. Điều này cho thấy kẻ tấn công vừa cố gắng đánh cắp thông tin xác thực, vừa biến chúng thành vũ khí để tiếp tục đầu độc chuỗi cung ứng phần mềm.

Socket cho biết: "Nó gửi kết quả mã hóa thông qua GitHub API. Thông báo commit có thể bao gồm: IfYouInvalidateThisTokenItWillNukeTheComputerOfTheOwner:<token>."
Phân tích mã độc Miasma

Một bước đáng chú ý khác là mã độc tránh thực thi trên các hệ thống sử dụng ngôn ngữ tiếng Nga, một kiểu mẫu cũng được quan sát thấy trong các chiến dịch chuỗi cung ứng GlassWorm.

SafeDep cho biết payload thực hiện trao đổi mã thông báo OIDC, đóng gói lại tarball và ký các tạo tác thông qua Sigstore. Thông tin xác thực bị đánh cắp sẽ được gửi đến các kho lưu trữ GitHub công khai do kẻ tấn công tạo ra, mỗi kho có mô tả "Miasma: The Spreading Blight".

Kỹ thuật duy trì sự hiện diện và leo thang đặc quyền

Mã độc còn thực hiện một loạt hành vi tinh vi khác nhằm chiếm quyền kiểm soát hệ thống:

  • Cố gắng leo thang đặc quyền bằng cách khởi chạy một container gắn kết (bind-mount) tệp /etc/sudoers.d của máy chủ, cấp quyền sudo không cần mật khẩu cho CI runner.
  • Kiểm tra các giải pháp bảo vệ điểm cuối như CrowdStrike, SentinelOne, Carbon Black và StepSecurity Harden-Runner trước khi thực hiện các hành động độc hại.
  • Duy trì sự hiện diện bằng cách chèn một hook SessionStart vào Anthropic Claude Code và tệp tasks.json với thiết lập "runOn": "folderOpen" cho các dự án Microsoft Visual Studio Code để mã độc tự động chạy mỗi khi mở thư mục.
Sơ đồ tấn công chuỗi cung ứng

Các nhà nghiên cứu tại Wiz lưu ý rằng biến thể mới này đã bổ sung các trình thu thập dữ liệu tập trung vào danh tính đám mây cho GCP và Azure. Khác với các phiên bản trước chỉ tập trung vào việc trích xuất bí mật, biến thể này cho thấy kẻ tấn công đang gia tăng sự tập trung vào việc giành quyền truy cập trực tiếp vào môi trường đám mây.

Nguồn gốc và khuyến nghị bảo mật

Bằng chứng cho thấy việc tài khoản GitHub của một nhân viên Red Hat bị xâm nhập là "Patient zero" (nguồn lây nhiễm đầu tiên) được sử dụng để đưa payload độc hại vào các gói này. Tài khoản bị xâm nhập đã đẩy các orphan commits độc hại vào hai kho lưu trữ RedHatInsights, bỏ qua quy trình code review.

Để đảm bảo an toàn, người dùng và tổ chức được khuyến nghị:

  • Cách ly các máy chủ đã cài đặt các phiên bản bị ảnh hưởng và xóa bỏ chúng ngay lập tức.
  • Thay đổi (rotate) toàn bộ thông tin xác thực đã bị lộ.
  • Kiểm tra các dấu hiệu hoạt động đáng ngờ trên GitHub hoặc npm.
  • Kiểm tra môi trường để tìm các tệp cấu hình bị thay đổi (~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml, .github/setup.js).
  • Đối với hệ thống CI/CD: Tạm dừng các luồng công việc bị ảnh hưởng, vô hiệu hóa các bản build được tạo ra trong thời gian bị phơi nhiễm.

Socket cảnh báo rằng do mã độc có cơ chế thực thi ngầm và duy trì sự hiện diện trong các công cụ dành cho nhà phát triển, việc chỉ gỡ cài đặt gói npm hoặc xóa thư mục node_modules là không đủ để làm sạch hệ thống hoàn toàn.