Paket Stylus CSS Preprocessor Dihapus dari NPM Karena Masalah Keamanan

Tim Komunitas BigGo
Paket Stylus CSS Preprocessor Dihapus dari NPM Karena Masalah Keamanan

Paket Stylus CSS preprocessor yang populer tiba-tiba dihapus dari NPM , menyebabkan gangguan luas bagi para developer yang mengandalkan alat ini untuk proyek mereka. Paket tersebut, yang memiliki lebih dari 3,6 juta unduhan mingguan, digantikan dengan versi placeholder keamanan berlabel 0.0.1-security pada 23 Juli 2025.

Statistik Paket Sebelum Penghapusan:

  • Unduhan Mingguan: 3,628,473
  • Total Dependents: 2,277 paket
  • Riwayat Paket: Aktif sejak 2010 (15 tahun)
  • Pengganti Saat Ini: 0.0.1-security (418 B, 2 file)

Peringatan Keamanan yang Tidak Jelas Memicu Kebingungan

NPM dan GitHub mengeluarkan peringatan keamanan yang mengklaim semua versi Stylus mengandung malware, sejak tahun 2010. Namun, komunitas tetap skeptis terhadap klaim ini. Peringatan tersebut tidak memberikan detail spesifik tentang kerentanan keamanan yang diduga ada, membuat para developer mempertanyakan apakah ancaman tersebut nyata atau ini merupakan respons yang terlalu hati-hati dari sistem keamanan otomatis.

Waktu kejadiannya juga menimbulkan kecurigaan. Paket tersebut ditarik pada pukul 03:03 UTC, dan GitHub Security Advisory diterbitkan hanya satu menit kemudian, menunjukkan respons yang terkoordinasi namun mungkin terburu-buru.

Solusi Sementara untuk Developer:

  • Override dengan versi keamanan: "overrides": {"stylus": "0.0.1-security"}
  • Install dari GitHub: "overrides": {"stylus": "github:stylus/stylus0.64.0"}
  • Timeline: Paket dihapus pada 23 Juli 2025 pukul 03:03 UTC, Advisory diterbitkan pada pukul 03:03:56 UTC

Teori Kompromi Maintainer Muncul

Diskusi komunitas menunjuk pada penjelasan yang lebih bernuansa. Bukti menunjukkan bahwa salah satu maintainer lama, yang dikenal sebagai Ponya , mungkin telah akun mereka dikompromikan dan terlibat dengan paket-paket mencurigakan lainnya. Daripada menyelidiki setiap paket secara individual, NPM tampaknya mengambil pendekatan nuklir, menghapus semua paket yang terkait dengan maintainer yang berpotensi dikompromikan.

Rupanya salah satu maintainer lama telah mendorong paket-paket lain yang dikompromikan, jadi npm hanya menghancurkan semua paket yang dia miliki akses, baik yang dikompromikan maupun tidak.

Teori ini mendapat kredibilitas ketika mempertimbangkan bahwa tidak ada rilis Stylus yang benar-benar berbahaya yang telah diidentifikasi, dan repositori GitHub tetap bersih dan tidak dikompromikan.

Solusi Sementara Developer dan Upaya Pemulihan

Sementara situasi berlangsung, para developer telah menemukan beberapa cara untuk terus menggunakan Stylus dalam proyek mereka. Solusi sementara yang paling populer melibatkan penggunaan override package.json untuk menginstal langsung dari repositori GitHub , melewati registri NPM sepenuhnya.

Maintainer saat ini iChenLei dilaporkan sedang dalam negosiasi dengan pejabat NPM untuk memulihkan akses yang tepat ke paket tersebut. Tim Stylus menyatakan bahwa basis kode mereka aman dan bahwa insiden ini berasal dari kekhawatiran keamanan yang lebih luas daripada kerentanan aktual dalam perangkat lunak mereka.

Insiden ini menyoroti kerapuhan ekosistem JavaScript modern, di mana satu keputusan keamanan dapat langsung merusak ribuan proyek yang bergantung pada paket-paket populer.

Referensi: stylus