Phần mềm độc hại XORIndex ẩn trong 67 gói npm với hơn 17.000 lượt tải xuống

15:04 | 18/07/2025

Các tác nhân đe dọa từ Triều Tiên đã cài đặt 67 gói phần mềm độc hại vào kho lưu trữ trực tuyến Node Package Manager (npm), để cung cấp trình tải phần mềm độc hại mới có tên XORIndex trên các hệ thống của nhà phát triển.

Các gói này có tổng cộng hơn 17.000 lượt tải xuống và được các nhà nghiên cứu tại nền tảng bảo mật Socket phát hiện, đánh giá chúng là một phần của chiến dịch Contagious Interview đang tiếp diễn.

Các nhà nghiên cứu của Socket cho biết chiến dịch này theo sau các hoạt động đe dọa đã được phát hiện từ tháng 4/2025. Vào tháng trước, các tin tặc đã xâm nhập npm bằng 35 gói, chèn mã độc đánh cắp thông tin và backdoor vào thiết bị của các nhà phát triển.

Dòng thời gian của các đợt tấn công mới nhất

Contagious Interview là chiến dịch có liên quan đến các tin tặc nhà nước được Chính phủ Triều Tiên bảo trợ, chủ yếu nhắm vào các nhà phát triển bằng cách cung cấp các lời mời làm việc giả mạo để đánh lừa họ chạy mã độc trên hệ thống của mình.

Npm là trình quản lý gói mặc định cho Node[.]js, một nền tảng để các nhà phát triển phát hành và cài đặt các thư viện cũng như công cụ JavaScript. Npm được sử dụng rộng rãi trong phát triển web, nhưng cũng thường bị các tác nhân đe dọa khai thác để phát tán phần mềm độc hại.

Trong số 67 gói độc hại mà kẻ tấn công đã tải lên npm lần này, có một số gói dường như bắt chước tên của các dự án phần mềm và thư viện hợp pháp, chẳng hạn như: plugin vite-meta, vite-postcss tools, vite-logging-tool, vite-proc-log, pretty-chalk, postcss-preloader, js-prettier, flowframe, figwrap, midd-js và middy-js.

Khi nạn nhân cài đặt bất kỳ gói nào trong số này, một tập lệnh “postinstall” sẽ được thực thi để khởi chạy XORIndex Loader, một công cụ mới dường như được sử dụng song song với HexEval Loader - trình tải phần mềm độc hại trong các cuộc tấn công trước đây.

XORIndex Loader thu thập dữ liệu máy chủ để lập thông tin từng nạn nhân và gửi đến máy chủ điều khiển và ra lệnh (C2) của kẻ tấn công, lưu trữ trên cơ sở hạ tầng từ công ty ứng dụng đám mây Vercel. Máy chủ C2 phản hồi bằng một hoặc nhiều đoạn mã JavaScript, thực thi trên hệ thống của nạn nhân bằng hàm eval(). Các đoạn mã này thường là backdoor BeaverTail và InvisibleFerret, cả hai đều liên quan đến các hoạt động của chiến dịch Contagious Interview.

Hai phần mềm độc hại này cung cấp quyền truy cập vào các máy tính bị xâm phạm, cho phép đánh cắp dữ liệu và có thể tải xuống nhiều phần mềm hơn. Theo các nhà nghiên cứu, tin tặc Triều Tiên kết hợp các công cụ cũ và mới, với những sửa đổi tinh vi để tránh bị phát hiện. Mỗi khi npm được rà quét sau một vụ xâm phạm, các tin tặc sẽ quay trở lại thông qua các tài khoản npm và tên gói khác nhau.

“Những kẻ tấn công của chiến dịch Contagious Interview được dự báo tiếp tục đa dạng hóa danh mục phần mềm độc hại của chúng, luân phiên sử dụng các bí danh bảo trì npm mới, tái sử dụng các trình tải như HexEval Loader và các họ phần mềm độc hại như BeaverTail và InvisibleFerret, đồng thời tích cực triển khai các biến thể mới được phát hiện bao gồm XORIndex Loader”, các nhà nghiên cứu lưu ý.

Socket cho biết họ đã báo cáo với npm tất cả các gói độc hại từ chiến dịch mới nhất nhưng một số trong số chúng vẫn có thể có trong kho lưu trữ. Điều quan trọng là phải kiểm tra kỹ các gói có nguồn gốc để đảm bảo chúng không phải là mồi nhử, chỉ tin tưởng các dự án và nhà phát hành nổi tiếng đã được chứng minh, bên cạnh đó xem xét kỹ lưỡng hoạt động kho lưu trữ gần đây để tìm dấu hiệu tự động hóa.

Khi có thể, hãy luôn kiểm tra mã nguồn để tìm lỗi và chạy các thư viện mới trong môi trường biệt lập để đánh giá tính an toàn của chúng.

Để lại bình luận