Ba phiên bản độc hại của node-ipc đã xuất hiện trên npm vào ngày 14/5, sau khi tài khoản maintainer bị chiếm quyền và mã độc được cài để lấy cắp thông tin nhạy cảm từ file .env.
node-ipc là gói Node.js được dùng rộng rãi để các chương trình trao đổi dữ liệu với nhau, nên sự cố này có thể ảnh hưởng đến nhiều dự án phần mềm, gồm cả các công cụ liên quan đến crypto.
- Ba phiên bản bị chèn mã độc là 9,1,6, 9,2,3 và 12,0,1.
- Mã độc nhắm vào hơn 90 loại thông tin xác thực, gồm cả khóa riêng và API của sàn.
- Nhóm dự án từng cài hoặc tự động cập nhật node-ipc trong khoảng hai giờ đó được khuyến nghị kiểm tra rủi ro lộ dữ liệu.
Sự cố xảy ra như thế nào
Tài khoản maintainer bị bỏ trống của node-ipc đã bị chiếm quyền sau khi kẻ tấn công mua lại tên miền gắn với địa chỉ email cũ của nhà phát triển, rồi dùng tính năng quên mật khẩu trên npm để đặt lại quyền truy cập.
Ba phiên bản độc hại được ghi nhận là 9,1,6, 9,2,3 và 12,0,1. Chúng có cùng một payload bị làm rối dung lượng khoảng 80 KB và được gắn vào gói theo cách khiến mã chạy ngay khi ứng dụng tải node-ipc.
Phiên bản độc hại chỉ tồn tại khoảng hai giờ trước khi bị gỡ bỏ, nhưng khoảng thời gian này vẫn đủ để tạo rủi ro cho các dự án đã cài mới hoặc tự động cập nhật phụ thuộc.
Mã độc nhắm vào những loại dữ liệu nào
Payload bên trong được thiết kế để thu thập hơn 90 loại thông tin xác thực, bao gồm token AWS, bí mật Google Cloud và Azure, SSH keys, cấu hình Kubernetes, token GitHub CLI và nhiều dữ liệu khác.
Với các dự án crypto, mục tiêu đáng lo nhất là file .env. Đây thường là nơi lưu private key, thông tin RPC node và API của sàn, nên nếu bị lộ có thể kéo theo rủi ro lớn cho hạ tầng phát triển và vận hành.
Dữ liệu bị lấy cắp được chuyển ra ngoài bằng DNS tunneling, tức là nhúng thông tin vào các truy vấn tra cứu tên miền trông giống lưu lượng mạng bình thường. Cách này khiến việc phát hiện bằng một số công cụ bảo mật trở nên khó hơn.
Vì sao cuộc tấn công này đáng lo với dự án crypto
node-ipc xuất hiện trong nhiều công cụ phát triển ứng dụng, hệ thống CI/CD và bộ công cụ lập trình phổ biến. Khi một gói hạ tầng như vậy bị cài mã độc, rủi ro không chỉ nằm ở một ứng dụng đơn lẻ mà có thể lan sang chuỗi xây dựng và triển khai phần mềm.
Trong môi trường crypto, thông tin đăng nhập bị lộ có thể bị chuyển thành tổn thất tài sản rất nhanh. Vì vậy, các sự cố chuỗi cung ứng trên npm thường được xem là có tác động lớn hơn so với nhiều lỗ hổng phần mềm thông thường.
Cần kiểm tra gì ngay lúc này
Các nhóm phát triển đã cài npm install hoặc để phụ thuộc tự động cập nhật trong khoảng thời gian hai giờ nói trên nên kiểm tra lock file để xem có dùng các phiên bản 9,1,6, 9,2,3 hoặc 12,0,1 hay không.
Nếu có dấu hiệu liên quan, cần quay lại phiên bản an toàn gần nhất và thay đổi toàn bộ thông tin xác thực có thể đã bị lộ. Danh mục cần rà soát gồm private key, API secret, token truy cập và các cấu hình lưu trong .env.
Hiện chưa rõ toàn bộ phạm vi ảnh hưởng cuối cùng của sự cố này, nhưng trường hợp này cho thấy các phụ thuộc phổ biến trên npm vẫn có thể trở thành điểm tấn công trực tiếp vào môi trường phát triển crypto.
Tổng kết
node-ipc bị chèn mã độc qua tài khoản maintainer bị chiếm quyền, với mục tiêu lấy cắp thông tin nhạy cảm từ môi trường phát triển. Các dự án từng dùng các phiên bản độc hại cần kiểm tra lại phụ thuộc và xoay vòng mọi thông tin xác thực có nguy cơ bị lộ.



