Microsoft chặn đứng 14 gói npm độc hại mạo danh thư viện OpenSearch và Elasticsearch
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.

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 và @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,repositoryvàbugstrongpackage.jsontrỏ 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,preinstallvàpostinstallđể 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ạngpayload.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ộ.
Bài viết liên quan

Phần mềm
Google tung ra Antigravity 2.0: Ứng dụng lập trình thế hệ mới với công cụ CLI và gói đăng ký AI Ultra
19 tháng 5, 2026

Phần mềm
Plugin Checkmarx Jenkins bị xâm phạm trong cuộc tấn công chuỗi cung ứng
11 tháng 5, 2026

Phần mềm
Tấn công Cache Poisoning biến các gói npm TanStack thành mối đe dọa nguy hiểm
12 tháng 5, 2026
