Microsoft chặn đứng 14 gói npm độc hại mạo danh thư viện OpenSearch và Elasticsearch

Phần mềm29 tháng 5, 2026·3 phút đọc

Microsoft vừa phát hiện và vô hiệu hóa 14 gói npm độc hại nhằm đánh cắp thông tin xác thực đám mây và bí mật CI/CD. Kẻ tấn công đã sử dụng kỹ thuật giả mạo các thư viện phổ biến như OpenSearch và Elasticsearch để lừa các nhà phát triển cài đặt mã độc.

Microsoft chặn đứng 14 gói npm độc hại mạo danh thư viện OpenSearch và Elasticsearch

Theo báo cáo mới nhất từ Microsoft, một kẻ tấn công đơn lẻ đã phát hành 14 gói phần mềm độc hại trên hệ thống npm trong vòng 4 giờ vào thứ Năm vừa qua. Tất cả các gói này đều được thiết kế để mạo danh các thư viện tìm kiếm và công cụ DevOps phổ biến như OpenSearch và Elasticsearch.

Đây là sự kiện mới nhất trong chuỗi các cuộc tấn công chuỗi cung ứng (supply chain attacks) nhắm vào các công cụ của nhà phát triển, với mục tiêu chính là đánh cắp thông tin xác thực đám mây và các bí mật trong đường ống CI/CD.

Chiến thuật mạo danh tinh vi

Sử dụng một danh tính bảo trì mới là vpmdhaj (email: a39155771@gmail[.]com), tác giả đe dọa đã phát hành các gói package giả mạo hệ sinh thái của @opensearch@elastic. Microsoft cảnh báo rằng việc nhắm vào đối tượng nhà phát triển cho thấy kẻ tấn công đang tìm cách truy cập vào thông tin xác thực AWS và Elastic có trong môi trường của họ.

Để lừa người dùng cài đặt các công cụ này, kẻ tấn công đã sử dụng kỹ thuật typosquatting (đặt tên gói sai một vài ký tự so với gói thật) hoặc đặt tên giống hệt (như opensearch-setup-tool, opensearch-config-utility).

Ngoài ra, chúng còn sử dụng hai kỹ thuật khác để tăng độ tin cậy:

  • Giả mạo siêu dữ liệu: Các gói không có phạm vi (unscoped) đều đặt trường homepage, repositorybugs trong package.json trỏ về dự án GitHub hợp pháp của OpenSearch.
  • Thổi phồng số phiên bản: Các gói giả mạo có số phiên bản rất cao như 1.0.7265 hoặc 2.1.9201 để tạo cảm giác đây là các bản phát hành trưởng thành và ổn định.

Cơ chế hoạt động của mã độc

Tất cả các thư viện độc hại đều chứa cùng một giai đoạn cài đặt (stager) và payload giai đoạn hai được biên dịch bằng Bun. Payload này là một bộ công cụ thu thập thông tin xác thực (credential harvester) dung lượng 195 KB, được xây dựng đặc biệt cho môi trường đám mây và CI/CD.

Khi nạn nhân chạy lệnh npm install, payload đánh cắp thông tin sẽ tự động thực thi thông qua các hook preinstall.

Kẻ tấn công đã sử dụng hai loại stager:

  • Gen-1: Sử dụng các hook install, preinstallpostinstall để thu thập thông tin máy chủ (hostname, platform, Node version, v.v.), mã hóa base64 và gửi về máy chủ chỉ huy (C2). Sau đó, nó tải payload thứ hai về và lưu dưới dạng payload.bin.
  • Gen-2: Loại này kín đáo hơn, kiểm tra xem runtime Bun đã có trên máy chủ chưa. Nếu chưa, nó sẽ tải Bun runtime hợp pháp phiên bản 1.3.13 về trước khi thực thi payload đánh cắp thông tin.

Microsoft lưu ý rằng index.js của gói sẽ khởi chạy lại payload.bin mỗi lần require() được gọi, tạo ra cơ chế tồn tại âm thầm vượt qua các giai đoạn xây dựng CI.

Khuyến nghị bảo mật

Hiện tại, tất cả các thư viện độc hại đã bị gỡ bỏ. Microsoft đã công bố danh sách đầy đủ 14 gói này trong bài đăng trên blog của mình.

Các nhà phát triển được khuyên nên:

  • Kiểm tra hệ thống để xác định xem có cài đặt hoặc xây dựng các phiên bản gói bị ảnh hưởng vào hoặc sau ngày 28 tháng 5 hay không.
  • Xoay vòng (rotate) ngay lập tức các token IAM/STS của AWS, HashiCorp Vault, token publish npm và GitHub Actions có thể đã bị lộ.
Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗