Phát hiện 27 gói mã nguồn độc hại trên npm sử dụng chiêu "mượn danh" để biến máy tính lập trình viên thành "con rối"
Các chuyên gia bảo mật vừa lật tẩy một chiến dịch tấn công chuỗi cung ứng mới, trong đó 27 gói phần mềm độc hại trên kho npm đã sử dụng kỹ thuật "StarJacking" để đánh lừa lập trình viên, nhằm biến máy tính nạn nhân thành công cụ tấn công điều khiển từ xa (C2 Agent).
.png)
Khi những "ngôi sao" trên GitHub là đồ giả
Kho lưu trữ npm là nơi quen thuộc để các lập trình viên tải các thư viện code về sử dụng. Một trong những chỉ số để họ đánh giá độ uy tín của một gói phần mềm là số lượng "Sao" (Star) trên GitHub – càng nhiều sao chứng tỏ càng được cộng đồng tin dùng.
Lợi dụng tâm lý này, hacker đã sử dụng kỹ thuật StarJacking.
-
Thủ đoạn: Chúng tạo ra các gói mã độc, nhưng trong phần mô tả, chúng liên kết (link) đến kho lưu trữ GitHub của một dự án nổi tiếng khác (ví dụ như thư viện React hay Vue).
-
Kết quả: Trên trang npm, gói độc hại này sẽ hiển thị số lượng sao "khủng" của dự án gốc. Lập trình viên nhìn thấy hàng ngàn sao, nghĩ rằng đây là gói uy tín và tải về mà không mảy may nghi ngờ.
Biến máy nạn nhân thành "Zombies" trong mạng lưới Botnet
Khác với các mã độc thông thường chỉ ăn cắp dữ liệu rồi biến mất, 27 gói độc hại này hoạt động như những đặc vụ nằm vùng (C2 Agents).
-
Kết nối máy chủ điều khiển: Ngay khi được cài đặt, mã độc sẽ âm thầm kết nối đến máy chủ C2 (Command & Control) của hacker.
-
Chờ lệnh: Nó sẽ đưa máy tính của lập trình viên (hoặc máy chủ của công ty) vào trạng thái "chờ lệnh".
-
Thực thi tội ác: Hacker có thể ra lệnh từ xa để máy tính nạn nhân thực hiện các hành vi như:
-
Tấn công từ chối dịch vụ (DDoS) vào các mục tiêu khác.
-
Đào tiền ảo trái phép.
-
Làm bàn đạp (Proxy) để hacker xâm nhập sâu hơn vào hệ thống mạng nội bộ doanh nghiệp.
-
Nguy hiểm hơn, các gói này thường ngụy trang dưới tên gọi của các công cụ tiện ích phổ biến (ví dụ: công cụ định dạng màu sắc, xử lý font chữ...), khiến việc phát hiện bằng mắt thường rất khó khăn.
Lời khuyên bảo mật cho Lập trình viên (Dev) và DevOps
Để không biến mình và công ty thành nạn nhân của chiêu trò "StarJacking", hãy áp dụng các bước kiểm tra sau:
-
Đừng chỉ tin vào số sao: Số sao hiển thị trên npm có thể là giả. Hãy bỏ ra 1 phút để bấm vào link GitHub Repository.
-
Kiểm tra xem file
package.jsontrong GitHub đó có khớp tên với gói trên npm bạn đang xem không. Nếu tên khác nhau -> Lừa đảo 100%.
-
-
Kiểm tra người đăng (Publisher): Xem lịch sử hoạt động của tài khoản đăng gói đó. Nếu tài khoản mới tạo, không có ảnh đại diện, hoặc tên người đăng trông giống một chuỗi ký tự ngẫu nhiên, hãy cảnh giác.
-
Sử dụng công cụ rà soát: Các công cụ như Socket, Snyk hoặc lệnh
npm auditcó thể giúp phát hiện các gói có dấu hiệu bất thường hoặc đã bị báo cáo là độc hại. -
Giám sát mạng: Nếu máy tính hoặc máy chủ bỗng nhiên có lưu lượng truy cập mạng lạ gửi đi liên tục (outbound traffic) đến các IP không xác định, khả năng cao nó đã bị biến thành botnet.
Hãy nhớ: Trong thế giới mã nguồn mở, "Uy tín" cũng có thể bị làm giả. Một chút hoài nghi lành mạnh sẽ giúp bạn giữ sạch mã nguồn của mình.
Hương - Theo TheHackerNews