Sign In

Phát hiện cuộc tấn công chuỗi cung ứng mới xâm phạm đến gói npm phổ biến với người dùng

Một gói npm có tên là rand-user-agent đã bị xâm phạm trong một cuộc tấn công chuỗi cung ứng, nhằm kích hoạt Trojan truy cập từ xa (RAT) vào hệ thống của người dùng.


Được biết, rand-user-agent là một công cụ tạo chuỗi user-agent ngẫu nhiên, hữu ích trong việc thu thập dữ liệu web, thử nghiệm tự động và nghiên cứu bảo mật. Mặc dù gói này đã không còn được sử dụng nữa nhưng nó vẫn khá phổ biến, đạt trung bình 45.000 lượt tải xuống mỗi tuần.

Tuy nhiên, theo các nhà nghiên cứu tại công ty an ninh mạng Aikido (Bỉ) cho biết, mã độc được nhúng trong một số bản phát hành mới nhất của rand-user-agent, từ đó kích hoạt RAT để xâm phạm hệ thống và đánh cắp dữ liệu nhạy cảm.

Aikido phát hiện ra sự xâm phạm vào ngày 5/5/2025, khi hệ thống phân tích phần mềm độc hại của họ kiểm tra phiên bản mới của rand-user-agent (1.0.110). Trong quá trình điều tra, các nhà nghiên cứu đã tìm thấy mã độc ẩn trong tệp “dist/index[.]js”, chỉ hiển thị khi người dùng cuộn theo chiều ngang trong chế độ xem mã nguồn trên trang web npm.



Mã độc bị che giấu thông qua thanh cuộn của rand-user-agent


Cuộc điều tra cho thấy phiên bản hợp lệ cuối cùng của rand-user-agent là 2.0.82, được phát hành cách đây 7 tháng. Các phiên bản 2.0.83, 2.0.84 và cả 1.0.110 được phát hành sau đó đều bị lây nhiễm phần mềm độc hại và không có bản phát hành tương ứng trên kho lưu trữ GitHub của project này.

Mã độc được nhúng trong các phiên bản mới nhất sẽ tạo một thư mục ẩn trong thư mục gốc của người dùng (~/.node_modules) và thư mục mở rộng module[.]paths, để có thể sử dụng đường dẫn tùy chỉnh này để tải các phần phụ thuộc, cụ thể là “axios” và “socket[.]io-client”.

Tiếp theo, mã độc mở một kết nối socket liên tục tới máy chủ điều khiển và ra lệnh (C2) của kẻ tấn công tại địa chỉ http://85[.]239[.]62[.]36:3306 và gửi thông tin ID máy bao gồm tên máy chủ, tên người dùng, thông tin hệ điều hành và UUID đã tạo.

Theo các nhà nghiên cứu, mã độc hỗ trợ một loạt các lệnh, cho phép kẻ tấn công thay đổi thư mục, thực thi các lệnh shell tùy ý và tải từng tệp riêng lẻ hoặc toàn bộ thư mục lên điểm cuối được chỉ định. Cụ thể, khi RAT hoạt động sẽ thực thi một số lệnh dưới đây:

- cd <đường dẫn>: Thay đổi thư mục làm việc hiện tại

- ss_dir: Đặt lại tên thư mục thành đường dẫn tập lệnh

- ss_upd:d,dest: Tải tất cả các tệp tin trong thư mục d lên dest

- ss_stop: Ngắt bất kỳ tệp tin nào đang tải lên

- (any other): Thực thi nó như một lệnh shell bằng cách sử dụng tiến trình child_process[.]exec()

Một tính năng đặc biệt nguy hiểm nhắm vào hệ thống Windows bằng cách thêm một đường dẫn được tạo sẵn %LOCALAPPDATA%\Programs\Python\Python3127 vào biến môi trường PATH. Phương pháp tấn công tinh vi này có thể cho phép các tệp nhị phân độc hại ngụy trang thành các công cụ Python hợp pháp, khai thác các môi trường thường sử dụng Python.

Tính đến thời điểm hiện tại, các phiên bản bị lây nhiễm độc hại đã bị xóa khỏi kho lưu trữ của gói trên npm, do đó phiên bản mới nhất hiện có là an toàn và người dùng nên quay lại phiên bản đó.

Tuy nhiên, nếu người dùng đã nâng cấp lên phiên bản 2.0.83, 2.0.84 hoặc 1.0.110, điều quan trọng là phải thực hiện quét toàn bộ hệ thống để tìm dấu hiệu xâm phạm. Lưu ý rằng việc hạ cấp xuống phiên bản hợp lệ không thể xóa phần mềm độc hại khỏi hệ thống.

Vũ Mạnh Hà

Tag: