6 poin oleh GN⁺ 2024-08-09 | 1 komentar | Bagikan ke WhatsApp

Masalah besar paket spam di npm

  • Tim riset Phylum menemukan lonjakan paket spam terkait protokol Tea di npm
  • Protokol Tea adalah sistem yang memberi imbalan kontribusi open source dengan mata uang kripto, sehingga mendorong pengembang untuk melebih-lebihkan kontribusinya
  • Pada kuartal 2 tahun 2024, sekitar 25% paket yang dipublikasikan ke npm diperkirakan merupakan paket spam terkait protokol Tea

Ringkasan singkat

  • Protokol Tea menggunakan algoritme yang mendorong pengembang untuk melebih-lebihkan kontribusinya
  • npm mengalami pencemaran serius akibat paket-paket spam ini
  • Ciri paket spam meliputi nama paket yang dibuat secara acak, daftar dependensi yang mencurigakan, dan file tea.yaml

Sudut pandang baru

  • Sejak awal 2024, jumlah paket yang dipublikasikan ke npm melonjak tajam
  • Pada 8 April 2024, lebih dari 48.000 paket dipublikasikan dalam satu hari
  • Dari paket npm yang dipublikasikan selama Q2, diperkirakan 21,25% hingga 25,5% adalah paket spam
  • Jika cakupan dipersempit ke paket baru, rasio paket spam naik menjadi 68,66% hingga 74,67%

Apakah ada ancamannya?

  • Sejauh ini belum ada bukti bahwa paket spam ini mengandung serangan berbahaya
  • Namun, spam semacam ini mencemari ekosistem open source dan dapat mendistorsi data pelatihan model AI
  • Selain itu, hal ini menciptakan lingkungan tempat paket berbahaya yang sebenarnya bisa bersembunyi

Berpikir dari sudut pandang musuh

  • Dengan contoh paket sournoise, situs npm menampilkan bahwa paket ini bergantung pada axios, padahal kenyataannya ia bergantung pada paket spam
  • Ini adalah efek samping dari cara npm memproses dependensi dan menampilkannya kepada pengguna
  • Akibat dependensi transitif, paket yang tidak diinginkan atau tidak diperkirakan dapat ikut terpasang oleh pengembang

Kesimpulan

  • Pencemaran ekosistem perangkat lunak open source adalah masalah bagi semua orang
  • Proyek protokol Tea sedang mengambil langkah untuk menyelesaikan masalah ini
  • npm juga menghapus sebagian paket spam, tetapi belum mampu mengejar laju publikasi paket baru
  • Masalah ini tidak terbatas pada npm; paket spam serupa juga ditemukan di Rubygems
  • Phylum secara aktif meneliti area ini dan akan mencari cara baru untuk mendeteksi spam ini seiring para pelaku menyesuaikan taktik mereka

Ringkasan GN⁺

  • Sistem imbalan protokol Tea mendorong pengembang untuk melebih-lebihkan kontribusinya
  • Niat proyek untuk keberlanjutan open source mungkin baik, tetapi tampaknya efek samping dan contoh penyalahgunaannya terabaikan. Diperlukan perancangan yang cermat dan pemantauan berkelanjutan terhadap cara pengukuran kontribusi dan sistem imbalannya
  • Banjir besar paket spam seperti ini bukan sekadar masalah keamanan paket individual, tetapi juga dapat mengancam keandalan dan kesehatan seluruh ekosistem open source. Solusi mendasar tampaknya memerlukan pendekatan dan kolaborasi di tingkat ekosistem
  • Fakta bahwa hal ini dapat menimbulkan masalah bias ketika digunakan sebagai data pelatihan model AI adalah bagian yang sangat mengkhawatirkan. Penyusunan panduan untuk pengelolaan dan verifikasi kualitas data tampak mendesak
  • Kemungkinan terpasangnya paket yang tak terduga melalui dependensi transitif cukup untuk membangkitkan kewaspadaan para pengembang. Ini menunjukkan bahwa selain perlunya alat manajemen dependensi otomatis, perhatian dan peninjauan dari pengembang tetap penting dalam memilih paket
  • Dari perspektif jangka panjang, ada kebutuhan untuk mengeksplorasi alternatif yang lebih transparan dan dapat diverifikasi, seperti registri paket berbasis blockchain atau sistem reputasi

1 komentar

 
GN⁺ 2024-08-09
Komentar Hacker News
  • Cara npm menangani dependensi paket adalah masalahnya

    • Jika hanya ada key di package.json, itu dianggap sebagai dependensi terlepas dari paket sebenarnya
    • Ini membuat ekosistem dependensi menjadi lebih rentan
  • Perlu menghapus semua paket yang menggunakan tea.yaml

    • Protokol Tea mendorong perilaku berbahaya
    • Sedang merusak sistem
  • Akun spam harus diblokir dan dihapus secara permanen

    • Misalnya, ada akun dengan 1781 paket tak bermakna
    • Prosedur pelaporannya rumit dan merepotkan
  • Model AI berpotensi terdistorsi akibat paket spam

    • Prinsip "garbage in, garbage out" berlaku
  • Model insentif protokol Tea adalah masalahnya

    • Mendorong pengembang mengunggah spam ke npm
    • Merusak ekosistem
  • Ringkasan:

    • Rencana pendanaan pengembangan OSS berbasis kripto mendorong spam
    • Mudah memanipulasi dependensi melalui package.json
  • Tujuan protokol Tea adalah memperkuat ekonomi perangkat lunak open source

    • Namun, model insentifnya keliru sehingga mendorong spam
    • "Efek kobra" dan "Hukum Goodhart" berlaku
  • Ada kasus menyalin proyek populer lalu memublikasikannya ke npm dengan nama Latin acak

    • Sudah mengirim ratusan laporan spam
  • Pernah ada proyek yang mirip dengan Tea

    • Menerima sedikit bitcoin setiap bulan sampai proyeknya gagal dan dananya habis
  • Pengelola paket memiliki sistem penilaian

    • Kemungkinan paket spam memengaruhi AI rendah
    • Perusahaan tepercaya tidak akan menggunakan paket spam