Cảnh báo: Tấn công chuỗi cung ứng npm nguy hiểm với Cipher stealer

Vào ngày 12 tháng 3 năm 2026, các nhà nghiên cứu bảo mật Guy Korolevski và Meitar Palas từ JFrog đã phát hiện một chiến dịch tấn công chuỗi cung ứng tinh vi nhắm vào hệ sinh thái npm. Các tác nhân đe dọa đã ngụy trang một mã độc đánh cắp thông tin dưới dạng trình thực thi script Roblox hợp pháp.
Phát hiện và Cơ chế Vận chuyển Ban đầu của Mã độc Cipher
Chiến dịch này, tự định danh là Cipher stealer, đã sử dụng hai gói npm độc hại là bluelite-bot-manager và test-logsmodule-v-zisko.
Mục tiêu của các gói này là phân phối một tập tin thực thi Windows có khả năng thu thập thông tin đăng nhập Discord, dữ liệu trình duyệt và các tệp ví tiền mã hóa từ các hệ thống bị lây nhiễm.
Các Gói NPM Độc hại
bluelite-bot-managertest-logsmodule-v-zisko
Cơ chế Dropper và Lẩn tránh Phát hiện
Mỗi gói độc hại bao gồm một script pre-install, script này sẽ âm thầm tải xuống và thực thi một tệp nhị phân Windows có tên solara 1.0.0.exe hoặc solara 1.0.1.exe từ một URL được lưu trữ trên Dropbox.
Quá trình này không yêu cầu bất kỳ tương tác nào từ phía nạn nhân. Tệp thực thi này hoạt động như một dropper.
Nó che giấu một kho lưu trữ 321MB chứa mã JavaScript bị làm rối, một môi trường chạy Node.js đầy đủ và một script Python nhúng.
Tất cả các thành phần này đều cần thiết để chạy stealer mà không cần bất kỳ thiết lập nào từ phía kẻ tấn công.
Mặc dù payload rất phức tạp, nhưng tệp thực thi này chỉ bị phát hiện bởi một công cụ antivirus trên VirusTotal.
Lý do là các trình quét tĩnh và heuristic đã phân tích lớp bên ngoài “sạch” của dropper thay vì nội dung JavaScript ẩn của nó.
Mục tiêu và Phương thức Đánh cắp Thông tin
Khi đã kích hoạt, mã độc Cipher sẽ tấn công Discord một cách mạnh mẽ bằng cách đánh cắp các token phiên được lưu trữ từ cơ sở dữ liệu LevelDB.
Việc này diễn ra trên tất cả các client Discord đã cài đặt và các trình duyệt dựa trên Chromium. Sau đó, mã độc sẽ xác thực từng token với API trực tiếp của Discord.
Đây là một hình thức đánh cắp dữ liệu nhạy cảm có thể dẫn đến thiệt hại lớn.
Đánh cắp Thông tin Discord
- Đánh cắp token phiên: Thu thập từ cơ sở dữ liệu LevelDB trên các client Discord và trình duyệt Chromium.
- Vô hiệu hóa bảo vệ webhook: Đối với hệ thống chạy BetterDiscord, mã độc vá tệp
index.jscốt lõi của ứng dụng để vô hiệu hóa tính năng bảo vệ webhook tích hợp. Điều này đảm bảo tất cả dữ liệu bị đánh cắp có thể được gửi đến webhook Discord của kẻ tấn công mà không bị cản trở. - Tiêm payload JavaScript thứ cấp: Trên client Discord chính thức, một payload JavaScript thứ cấp được kéo từ một kho lưu trữ GitHub đang hoạt động và tiêm trực tiếp vào ứng dụng.
- Ghi lại thông tin đăng nhập khi đăng nhập lại: Điều này buộc người dùng phải đăng xuất và ghi lại email, mật khẩu, mã xác thực hai yếu tố (2FA), và thậm chí cả chi tiết thẻ thanh toán khi họ đăng nhập lại.
Script được tiêm cũng sửa đổi các tệp khởi động của Discord để duy trì hoạt động sau mỗi lần khởi động lại hệ thống.
Mặc dù không được kích hoạt trong chiến dịch này, nó có khả năng lừa người dùng bằng 13 ngôn ngữ khác nhau để tự nguyện thay đổi địa chỉ email tài khoản của họ, theo báo cáo từ JFrog. Chi tiết nghiên cứu có thể tham khảo thêm tại JFrog.
Đánh cắp Thông tin Trình duyệt
Việc đánh cắp thông tin đăng nhập trình duyệt hoạt động song song trên hai mặt trận:
- Thành phần JavaScript: Sử dụng thư viện giải mã Windows DPAPI để trích xuất trực tiếp các khóa mã hóa chính từ các tệp
Local Statecủa trình duyệt. Sau đó, nó truy vấn cơ sở dữ liệu SQLiteLogin Datađể đánh cắp các mật khẩu đã lưu từ Chrome, Brave, Edge, Opera và Yandex. - Script Python song song: Một script Python song song, được tải xuống và cài đặt âm thầm nếu Python chưa có sẵn trên hệ thống, bao gồm một phạm vi trình duyệt rộng hơn nhiều. Điều này bao gồm Firefox, Vivaldi, CocCoc và QQ Browser, thu thập cookies, thẻ tín dụng, dữ liệu tự động điền, dấu trang và toàn bộ lịch sử duyệt web.
Đánh cắp Ví Điện tử Tiền mã hóa
Mã độc này cũng quét hệ thống để tìm các thư mục ví tiền mã hóa liên quan đến Bitcoin, Ethereum, Exodus, Electrum, Atomic Wallet và một số ví khác.
Nó sao chép nội dung của chúng vào một thư mục trung gian được ngụy trang thành một dịch vụ hệ thống Windows trước khi cố gắng giải mã tệp hạt giống (seed file) của ví Exodus.
Cơ chế Exfiltration Dữ liệu
Tất cả dữ liệu bị đánh cắp được nén vào một kho lưu trữ ZIP và tải lên Gofile hoặc một máy chủ command-and-control (C2) dự phòng.
Một báo cáo tóm tắt, bao gồm số lượng mật khẩu, số lượng cookie, tên ví và các liên kết tải xuống tệp, được gửi trực tiếp đến webhook Discord của kẻ tấn công.
Chỉ số Nhận diện Sự xâm nhập (IOCs)
Các chỉ số nhận diện sự xâm nhập (IOCs) sau đây đã được xác định liên quan đến chiến dịch này:
Các gói NPM độc hại
bluelite-bot-managertest-logsmodule-v-zisko
Tên tập tin thực thi
solara 1.0.0.exesolara 1.0.1.exe
URL nguồn tải xuống (tại thời điểm phát hiện)
- URL Dropbox: (Đã không còn hoạt động)
- Kho lưu trữ GitHub chứa script tiêm: (Vẫn còn hoạt động tại thời điểm phát hiện)
Các Biện pháp Khắc phục và Phòng ngừa
Cả hai gói npm độc hại đã được gỡ bỏ và các liên kết Dropbox không còn hoạt động. Tuy nhiên, kho lưu trữ GitHub thứ cấp chứa script tiêm vẫn còn hoạt động tại thời điểm phát hiện.
Người dùng có thể đã tiếp xúc với các gói này nên thực hiện ngay các biện pháp sau để bảo vệ hệ thống và dữ liệu của mình:
- Gỡ cài đặt các gói độc hại: Xóa ngay lập tức các gói
bluelite-bot-managervàtest-logsmodule-v-ziskokhỏi môi trường npm của bạn. - Cài đặt lại ứng dụng Discord: Gỡ bỏ và cài đặt lại hoàn toàn ứng dụng Discord desktop để đảm bảo loại bỏ mọi script hoặc sửa đổi độc hại.
- Xoay vòng mật khẩu và token phiên: Thay đổi tất cả mật khẩu cho các tài khoản quan trọng, đặc biệt là tài khoản Discord, và thu hồi/xoay vòng các token phiên.
- Kiểm tra ví tiền mã hóa: Kiểm tra kỹ lưỡng các ví tiền mã hóa của bạn để phát hiện bất kỳ giao dịch hoặc truy cập trái phép nào.







