10 gói npm bị phát hiện đánh cắp thông tin đăng nhập của nhà phát triển trên Windows, macOS và Linux

Các nhà nghiên cứu an ninh mạng đã phát hiện ra một bộ gồm 10 gói npm độc hại được thiết kế để phát tán một công cụ đánh cắp thông tin nhắm mục tiêu vào các hệ thống Windows, Linux và macOS. Mã độc sử dụng bốn lớp che giấu để ẩn tải trọng, hiển thị CAPTCHA giả mạo để trông có vẻ hợp pháp, xác định dấu vân tay nạn nhân bằng địa chỉ IP và tải xuống một công cụ đánh cắp thông tin đóng gói bằng PyInstaller dung lượng 24MB để thu thập thông tin đăng nhập.
Mã độc npm đánh cắp thông tin đăng nhập
Minh họa mã độc npm đánh cắp thông tin.

Các nhà nghiên cứu an ninh mạng đã phát hiện ra một bộ gồm 10 gói npm độc hại được thiết kế để phát tán một công cụ đánh cắp thông tin nhắm mục tiêu vào các hệ thống Windows, Linux và macOS.

"Mã độc sử dụng bốn lớp che giấu để ẩn tải trọng của nó, hiển thị một CAPTCHA giả mạo để trông có vẻ hợp pháp, xác định dấu vân tay nạn nhân bằng địa chỉ IP, và tải xuống một công cụ đánh cắp thông tin đóng gói bằng PyInstaller dung lượng 24MB thu thập thông tin đăng nhập từ hệ thống keyring, trình duyệt và các dịch vụ xác thực trên Windows, Linux và macOS," nhà nghiên cứu bảo mật Kush Pandya của Socket cho biết.

Các gói npm độc hại này đã được tải lên kho lưu trữ vào ngày 4 tháng 7 năm 2025 và đã tích lũy hơn 9.900 lượt tải xuống tổng cộng:

  • deezcord.js
  • dezcord.js
  • dizcordjs
  • etherdjs
  • ethesjs
  • ethetsjs
  • nodemonjs
  • react-router-dom.js
  • typescriptjs
  • zustand.js

Hoạt động đánh cắp thông tin đăng nhập đa giai đoạn này được thể hiện dưới dạng các gói typosquatted khác nhau, mạo danh các thư viện npm phổ biến như TypeScript, discord.js, ethers.js, nodemon, react-router-dom và zustand.

Sau khi được cài đặt, mã độc sẽ hiển thị một lời nhắc CAPTCHA giả mạo và hiển thị đầu ra trông giống như thật, bắt chước các cài đặt gói hợp pháp để tạo ấn tượng rằng quá trình thiết lập đang diễn ra đúng như mong đợi. Tuy nhiên, ở chế độ nền, gói này sẽ thu thập địa chỉ IP của nạn nhân, gửi nó đến một máy chủ bên ngoài ("195.133.79[.]43"), và sau đó tiếp tục thả mã độc chính.

Trong mỗi gói, chức năng độc hại được tự động kích hoạt khi cài đặt thông qua một hook postinstall, khởi chạy một script có tên "install.js" để phát hiện hệ điều hành của nạn nhân và khởi chạy một tải trọng bị che giấu ("app.js") trong một cửa sổ Command Prompt mới (Windows), GNOME Terminal hoặc x-terminal-emulator (Linux), hoặc Terminal (macOS).

Mô tả kỹ thuật mã độc
Cách thức hoạt động của mã độc sau khi lây nhiễm.

"Bằng cách tạo một cửa sổ terminal mới, mã độc chạy độc lập với quá trình cài đặt npm," Pandya lưu ý. "Các nhà phát triển chỉ lướt qua terminal của họ trong quá trình cài đặt sẽ thấy một cửa sổ mới xuất hiện trong giây lát, mà mã độc ngay lập tức xóa đi để tránh bị nghi ngờ."

Mã JavaScript chứa trong "app.js" được ẩn thông qua bốn lớp che giấu – chẳng hạn như XOR cipher với khóa được tạo động, mã hóa URL của chuỗi tải trọng và sử dụng số học thập lục phân (hexadecimal) và bát phân (octal) để che khuất luồng chương trình – được thiết kế để chống lại phân tích.

Mục tiêu cuối cùng của cuộc tấn công là lấy và thực thi một công cụ đánh cắp thông tin toàn diện ("data_extracter") từ cùng một máy chủ, được trang bị để quét kỹ lưỡng máy của nhà phát triển tìm kiếm các bí mật, authentication tokens, credentials và session cookies từ các trình duyệt web, file cấu hình và SSH keys.

Binary của công cụ đánh cắp cũng tích hợp các triển khai dành riêng cho từng nền tảng để trích xuất credentials từ system keyring bằng cách sử dụng thư viện npm keyring. Thông tin thu thập được sẽ được nén vào một tệp ZIP và exfiltrated đến máy chủ.

"System keyrings lưu trữ credentials cho các dịch vụ quan trọng bao gồm email clients (Outlook, Thunderbird), công cụ đồng bộ hóa lưu trữ đám mây (Dropbox, Google Drive, OneDrive), kết nối VPN (Cisco AnyConnect, OpenVPN), password managers, SSH passphrases, chuỗi kết nối cơ sở dữ liệu và các ứng dụng khác tích hợp với OS credential store," Socket cho biết.

"Bằng cách nhắm mục tiêu trực tiếp vào keyring, mã độc bỏ qua bảo mật cấp ứng dụng và thu thập credentials đã lưu trữ dưới dạng không được mã hóa. Những credentials này cung cấp quyền truy cập ngay lập tức vào email công ty, lưu trữ tệp, mạng nội bộ và các cơ sở dữ liệu sản xuất."