Phần mềm độc hại PhantomRaven
Các nhà nghiên cứu an ninh mạng đã phát hiện một cuộc tấn công chuỗi cung ứng phần mềm đang hoạt động mạnh mẽ nhắm vào hệ sinh thái npm. Hơn 100 gói độc hại đã được xác định, có khả năng đánh cắp thông tin đăng nhập nhạy cảm của nhà phát triển, bao gồm mã thông báo xác thực, bí mật CI/CD và thông tin đăng nhập GitHub, trực tiếp từ các máy bị xâm nhập.
Chiến dịch có tên mã là PhantomRaven, lần đầu tiên xuất hiện vào tháng 8 năm 2025. Kể từ đó, nó đã mở rộng lên 126 thư viện npm và thu hút hơn 86.000 lượt cài đặt, cho thấy tốc độ lây lan và áp dụng nhanh chóng của các gói độc hại này.
Mục lục
Các gói độc hại đang bay dưới radar
Một số gói được gắn cờ bao gồm:
- op-cli-installer – 486 lượt tải xuống
- unused-imports – 1.350 lượt tải xuống
- badgekit-api-client – 483 lượt tải xuống
- polyfill-corejs3 – 475 lượt tải xuống
- eslint-comments – 936 lượt tải xuống
Điều khiến PhantomRaven trở nên đặc biệt nguy hiểm là việc sử dụng Remote Dynamic Dependencies (RDD). Thay vì lấy mã từ sổ đăng ký npm chính thức, các gói độc hại lại trỏ đến một URL HTTP tùy chỉnh (packages.storeartifact.com). Điều này cho phép npm truy xuất các dependency từ một nguồn bên ngoài không đáng tin cậy, qua mặt cơ chế bảo vệ của npmjs.com.
Các công cụ quét bảo mật và phân tích phụ thuộc truyền thống không phát hiện được các RDD này vì các hệ thống tự động coi các gói là có '0 Phụ thuộc'.
Cuộc tấn công diễn ra như thế nào
Chuỗi tấn công bắt đầu ngay khi nhà phát triển cài đặt một trong những gói có vẻ vô hại. Các yếu tố chính bao gồm:
Thực thi Hook trước khi cài đặt : Gói này chứa một tập lệnh vòng đời trước khi cài đặt tự động thực thi tải trọng chính.
Truy xuất tải trọng từ xa : Tập lệnh sẽ truy xuất phần mềm độc hại từ máy chủ do kẻ tấn công kiểm soát.
Rò rỉ dữ liệu : Sau khi thực thi, phần mềm độc hại sẽ quét môi trường của nhà phát triển để tìm địa chỉ email, thu thập thông tin chi tiết về môi trường CI/CD, lấy dấu vân tay hệ thống (bao gồm cả IP công cộng) và gửi dữ liệu đến máy chủ từ xa.
Kẻ tấn công có thể tùy ý sửa đổi phần tải trọng, ban đầu chạy mã vô hại để tránh bị phát hiện trước khi đưa ra các bản cập nhật độc hại khi gói được chấp nhận.
Khai thác điểm mù của con người và AI
Việc lựa chọn tên gói là có chủ đích. Kẻ tấn công lợi dụng một chiến thuật được gọi là "slopsquatting", trong đó các mô hình ngôn ngữ lớn (LLM) tạo ra những tên gói không tồn tại nhưng nghe có vẻ hợp lý. Các nhà phát triển có thể tin tưởng những gói này do cách đặt tên thực tế của chúng, không hề hay biết về mối đe dọa tiềm ẩn.
Như các nhà nghiên cứu lưu ý, PhantomRaven nhấn mạnh sự tinh vi ngày càng tăng của những kẻ tấn công:
- Phụ thuộc động từ xa tránh được phân tích tĩnh.
- Tên gói do AI tạo ra sẽ lợi dụng lòng tin của nhà phát triển.
- Các tập lệnh vòng đời được thực thi tự động mà không cần sự tương tác của người dùng.
Chiến dịch này nhấn mạnh cách những kẻ xấu đang tìm ra những cách mới để ẩn mã trong hệ sinh thái nguồn mở, khai thác lỗ hổng trong công cụ bảo mật truyền thống.
Tại sao npm là mục tiêu chính
Hệ sinh thái npm có độ ma sát thấp khi xuất bản gói, kết hợp với khả năng tự động thực thi các tập lệnh trước khi cài đặt, cài đặt và sau khi cài đặt, khiến nó trở thành mục tiêu hàng đầu. Kẻ tấn công có thể ẩn giấu hành vi độc hại trong các tập lệnh vòng đời, thường là ngoài tầm kiểm soát của nhà phát triển, cho thấy nhu cầu tăng cường cảnh giác và áp dụng các biện pháp bảo mật mạnh mẽ trong môi trường phát triển hiện đại.