NPM bị ngập bởi các gói phần mềm độc hại được tải xuống hơn 86.000 lần.

Tác giả dangkhoa 06/02/2026 11 phút đọc

NPM bị ngập bởi các gói phần mềm độc hại được tải xuống hơn 86.000 lần.

Các gói được tải xuống từ NPM có thể lấy các thư viện phụ thuộc từ các trang web không đáng tin cậy.    

caution-tape-1000x648
 
Nguồn ảnh: Getty Images

Kẻ tấn công đang khai thác một lỗ hổng nghiêm trọng cho phép chúng truy cập vào kho mã nguồn NPM với hơn 100 gói phần mềm đánh cắp thông tin đăng nhập kể từ tháng 8, hầu hết đều không bị phát hiện.

Phát hiện này, được công bố hôm thứ Tư bởi công ty bảo mật Koi, đã thu hút sự chú ý đến một thủ thuật của NPM cho phép các gói đã cài đặt tự động tải xuống và chạy các gói chưa được kiểm duyệt từ các miền không đáng tin cậy. Koi cho biết một chiến dịch mà họ theo dõi với tên gọi PhantomRaven đã khai thác việc NPM sử dụng "Các phụ thuộc động từ xa" để làm ngập NPM bằng 126 gói độc hại đã được tải xuống hơn 86.000 lần. Koi cho biết, tính đến sáng thứ Tư, khoảng 80 gói trong số đó vẫn còn khả dụng.

Một điểm mù

“PhantomRaven chứng minh rằng những kẻ tấn công tinh vi đang ngày càng giỏi hơn trong việc khai thác các điểm mù trong các công cụ bảo mật truyền thống,” Oren Yomtov của Koi viết. “Các phụ thuộc động từ xa không thể phát hiện được bằng phân tích tĩnh.”

Các phụ thuộc động từ xa (Remote Dynamic Dependencies - RDP) cung cấp tính linh hoạt cao hơn trong việc truy cập các phụ thuộc—các thư viện mã nguồn bắt buộc để nhiều gói khác hoạt động. Thông thường, các phụ thuộc này hiển thị cho nhà phát triển cài đặt gói. Chúng thường được tải xuống từ cơ sở hạ tầng đáng tin cậy của NPM.

RDD hoạt động khác biệt. Nó cho phép một gói tải xuống các phụ thuộc từ các trang web không đáng tin cậy, thậm chí cả những trang web kết nối qua HTTP, vốn không được mã hóa. Những kẻ tấn công PhantomRaven đã khai thác lỗ hổng này bằng cách đưa mã vào 126 gói được tải lên NPM. Mã này tải xuống các phụ thuộc độc hại từ các URL, bao gồm http://packages.storeartifact.com/npm/unused-imports. Koi cho biết các phụ thuộc này "vô hình" đối với các nhà phát triển và nhiều phần mềm quét bảo mật. Thay vào đó, chúng hiển thị gói chứa "0 phụ thuộc". Một tính năng của NPM khiến các bản tải xuống vô hình này được cài đặt tự động.

Điểm yếu này càng trầm trọng hơn khi các phần phụ thuộc được tải xuống "mới" từ máy chủ của kẻ tấn công mỗi khi một gói được cài đặt, thay vì được lưu vào bộ nhớ đệm, quản lý phiên bản hoặc lưu trữ tĩnh, như Koi đã giải thích:

Điều này mở ra khả năng nhắm mục tiêu tinh vi. Về lý thuyết, họ có thể kiểm tra địa chỉ IP của mọi yêu cầu và cung cấp các payload khác nhau: mã vô hại cho các nhà nghiên cứu bảo mật trên VPN, mã độc hại cho mạng doanh nghiệp, payload chuyên dụng cho môi trường đám mây. Hoặc chơi trò chơi dài hạn—cung cấp mã sạch trong nhiều tuần để xây dựng lòng tin và vượt qua các cuộc quét bảo mật, sau đó chuyển đổi và bắt đầu cung cấp phiên bản độc hại.

Các đại diện của NPM đã không trả lời ngay lập tức email yêu cầu cung cấp thông tin chi tiết và hỏi về quy trình này.

Các phần mềm độc hại này sẽ rà soát kỹ lưỡng các máy tính bị nhiễm để tìm kiếm mọi loại thông tin nhạy cảm, bao gồm:

  • Các biến môi trường hiển thị cấu hình và thông tin khác về hệ thống nội bộ của nhà phát triển.
  • Thông tin đăng nhập GitHub, Jenkins và NPM, có khả năng được sử dụng trong các cuộc tấn công chuỗi cung ứng tiếp theo.
  • Toàn bộ môi trường tích hợp liên tục và phân phối liên tục, chịu trách nhiệm tự động hóa việc tích hợp các thay đổi mã từ nhiều nhà phát triển vào một cơ sở mã duy nhất.

Theo Koi, quy trình trích xuất dữ liệu đã thu thập được "thừa thãi đến mức đáng lo ngại". Nó dựa vào các yêu cầu HTTP, yêu cầu JSON và việc thiết lập Websockets.

Nhiều thư viện phụ thuộc sử dụng các tên được biết là do chatbot AI "tạo ra" một cách ảo tưởng. Các nhà phát triển thường xuyên truy vấn các bot này để lấy tên các thư viện phụ thuộc mà họ cần. Các nhà phát triển và nghiên cứu LLM vẫn chưa hiểu rõ nguyên nhân chính xác của hiện tượng ảo tưởng này hoặc cách xây dựng các mô hình không mắc lỗi. Sau khi phát hiện ra các tên thư viện phụ thuộc bị tạo ra một cách ảo tưởng, PhantomRaven sử dụng chúng trong các gói phần mềm độc hại được tải xuống từ trang web của chúng.

Bất kỳ ai thường xuyên tải xuống các gói phần mềm từ NPM nên kiểm tra bài đăng trên Koi để xem danh sách các dấu hiệu cho thấy hệ thống của họ đã bị xâm nhập thông qua PhantomRaven. Các dấu hiệu này có thể được sử dụng trong quá trình quét hệ thống để xác định xem họ có phải là mục tiêu của phần mềm độc hại hay không

Tác giả dangkhoa Admin
Bài viết trước ClickFix có thể là mối đe dọa bảo mật lớn nhất mà gia đình bạn chưa từng nghe đến

ClickFix có thể là mối đe dọa bảo mật lớn nhất mà gia đình bạn chưa từng nghe đến

Bài viết tiếp theo

Microsoft tích hợp một trong những công cụ bảo mật mạnh nhất trực tiếp vào Windows 11

Microsoft tích hợp một trong những công cụ bảo mật mạnh nhất trực tiếp vào Windows 11
Viết bình luận
Thêm bình luận

Bài viết liên quan

Thông báo

0917111899