Vấn đề gói spam quy mô lớn trên npm
- Nhóm nghiên cứu Phylum đã phát hiện các gói spam liên quan đến giao thức Tea đang tăng mạnh trên npm
- Giao thức Tea là một hệ thống thưởng bằng tiền mã hóa cho các đóng góp mã nguồn mở, từ đó khuyến khích các nhà phát triển thổi phồng đóng góp của mình
- Trong quý 2 năm 2024, khoảng 25% số gói được đăng lên npm được ước tính là gói spam liên quan đến giao thức Tea
Tóm tắt ngắn gọn
- Giao thức Tea sử dụng một thuật toán khuyến khích các nhà phát triển thổi phồng đóng góp của mình
- npm đang bị ô nhiễm nghiêm trọng bởi các gói spam này
- Đặc điểm của các gói spam là tên gói được tạo ngẫu nhiên, danh sách phụ thuộc đáng ngờ và tệp
tea.yaml
Góc nhìn mới
- Từ đầu năm 2024, số lượng gói được đăng lên npm đã tăng vọt
- Vào ngày 8 tháng 4 năm 2024, đã có hơn 48.000 gói được đăng chỉ trong một ngày
- Trong quý 2, ước tính từ 21,25% đến 25,5% số gói npm được đăng là gói spam
- Nếu thu hẹp phạm vi xuống các gói mới, tỷ lệ gói spam tăng lên từ 68,66% đến 74,67%
Có mối đe dọa nào không?
- Cho đến nay vẫn chưa có bằng chứng cho thấy các gói spam này chứa các cuộc tấn công độc hại
- Tuy nhiên, loại spam này làm ô nhiễm hệ sinh thái mã nguồn mở và có thể làm sai lệch dữ liệu huấn luyện của các mô hình AI
- Ngoài ra, nó còn tạo ra môi trường để các gói độc hại thực sự có thể ẩn mình
Nghĩ từ góc nhìn của kẻ tấn công
- Lấy gói
sournoise làm ví dụ, trang web npm hiển thị rằng gói này phụ thuộc vào axios, nhưng trên thực tế lại phụ thuộc vào các gói spam
- Đây là tác dụng phụ của cách npm xử lý phụ thuộc và hiển thị chúng cho người dùng
- Do phụ thuộc bắc cầu, các gói mà nhà phát triển không mong muốn hoặc không lường trước có thể bị đưa vào
Kết luận
- Sự ô nhiễm của hệ sinh thái phần mềm mã nguồn mở là vấn đề của tất cả mọi người
- Dự án giao thức Tea đang thực hiện các biện pháp để giải quyết vấn đề này
- npm cũng đang gỡ bỏ một số gói spam, nhưng vẫn không theo kịp tốc độ đăng mới
- Vấn đề này không chỉ giới hạn ở npm; các gói spam tương tự cũng đã được phát hiện trên Rubygems
- Phylum đang tích cực nghiên cứu lĩnh vực này và sẽ tìm kiếm những cách mới để phát hiện loại spam này khi các tác nhân này điều chỉnh chiến thuật của họ
Tóm lược của GN⁺
- Hệ thống thưởng của giao thức Tea đang khuyến khích các nhà phát triển thổi phồng đóng góp của mình
- Ý định của dự án nhằm hướng tới tính bền vững của mã nguồn mở có thể là tốt, nhưng dường như đã bỏ qua các tác dụng phụ và các trường hợp bị lạm dụng đi kèm. Có vẻ cần thiết phải thiết kế kỹ lưỡng phương pháp đo lường mức độ đóng góp và cơ chế thưởng, đồng thời theo dõi liên tục
- Làn sóng tràn ngập gói spam quy mô lớn như vậy không chỉ đơn thuần là vấn đề an toàn của từng gói riêng lẻ, mà còn có thể đe dọa độ tin cậy và tính lành mạnh của toàn bộ hệ sinh thái mã nguồn mở. Để giải quyết tận gốc, dường như cần một cách tiếp cận và sự hợp tác ở cấp độ toàn hệ sinh thái
- Việc chúng có thể được dùng làm dữ liệu huấn luyện cho các mô hình AI và gây ra vấn đề thiên lệch là một điểm rất đáng lo ngại. Có vẻ cấp bách phải xây dựng các hướng dẫn về quản lý và kiểm chứng chất lượng dữ liệu
- Khả năng các gói không mong muốn bị cài đặt thông qua phụ thuộc bắc cầu đủ để gióng lên hồi chuông cảnh báo cho các nhà phát triển. Cùng với nhu cầu về các công cụ quản lý phụ thuộc tự động, điều này cũng cho thấy sự cẩn trọng và rà soát của nhà phát triển vẫn rất quan trọng khi lựa chọn gói
- Về lâu dài, có vẻ cần tìm kiếm những phương án thay thế minh bạch và có thể kiểm chứng hơn, chẳng hạn như registry gói hoặc hệ thống danh tiếng dựa trên blockchain
1 bình luận
Ý kiến trên Hacker News
Cách npm xử lý phụ thuộc gói là vấn đề
package.jsonthì sẽ bị coi là phụ thuộc, bất kể có liên quan đến gói thực tế hay khôngCần loại bỏ mọi gói sử dụng
tea.yamlCần chặn vĩnh viễn và xóa các tài khoản spam
Các mô hình AI có thể bị bóp méo do các gói spam
Mô hình khuyến khích của giao thức Tea là vấn đề
Tóm lại:
package.jsonlà rất dễMục tiêu của giao thức Tea là củng cố nền kinh tế phần mềm nguồn mở
Có những trường hợp sao chép các dự án phổ biến rồi đăng lên npm với tên Latin ngẫu nhiên
Từng có những dự án tương tự Tea
Trình quản lý gói có hệ thống chấm điểm