Pada tanggal 8 September, serangan rantai pasokan perangkat lunak yang signifikan ditemukan dalam ekosistem NPM, memengaruhi beberapa pustaka JavaScript yang banyak digunakan. Insiden ini pertama kali menjadi perhatian publik ketika Charles Guillemet, Chief Technology Officer Ledger, mengeluarkan peringatan bahwa akun Node Package Manager dari pengembang tepercaya telah disusupi. Penilaian awal menunjukkan bahwa lebih dari satu miliar unduhan terpapar malware tersembunyi yang dirancang untuk mencuri cryptocurrency. Namun, penyelidikan selanjutnya mengungkapkan bahwa paket yang disusupi secara kolektif mewakili lebih dari 2,6 miliar unduhan mingguan.

Serangan Rantai Pasokan Mengungkap Lebih dari 2 Miliar
Serangan Rantai Pasokan Mengungkap Lebih dari 2 Miliar
Serangan ini berfokus pada akun pengembang yang dikenal sebagai “qix,” yang memelihara beberapa pustaka JavaScript populer. Ini termasuk chalk, strip-ansi, color-convert, dan debug, yang semuanya digunakan di berbagai proyek di lingkungan sisi server dan front-end. Penyerang mendapatkan akses ke akun melalui email dukungan palsu dan mendorong pembaruan berbahaya ke sekitar 18 paket. Karena instalasi dependensi otomatis, malware menyebar dengan cepat dalam beberapa jam setelah pelanggaran.
Guillemet menjelaskan bahwa kode berbahaya dirancang untuk secara diam-diam mengganti alamat dompet cryptocurrency selama transaksi. Hal ini membuat pengguna yang mengandalkan dompet perangkat lunak berisiko kehilangan dana jika mereka menyetujui transaksi tanpa menyadari bahwa alamat penerima telah diubah.
Malware Crypto Clipper dan MetaMask
Peneliti keamanan mengidentifikasi malware tersebut sebagai jenis "crypto clipper." Malware ini berfungsi dengan mengganti alamat dompet pada berbagai tahap transaksi. Dalam kasus di mana tidak ada dompet yang terdeteksi, malware memodifikasi data keluar dalam aplikasi terdesentralisasi dengan mengaitkan ke fungsi peramban seperti fetch dan XMLHttpRequest. Hal ini memungkinkannya untuk memindai dan mengubah alamat dalam data aplikasi.
Jika ekstensi dompet seperti MetaMask terdeteksi, malware menjadi lebih langsung dengan mencegat transaksi sebelum ditandatangani. Malware memodifikasi alamat dompet dalam memori sehingga ketika pengguna meninjau transaksi, alamat palsu sudah ada. Malware mengandalkan algoritma Levenshtein, yang menghasilkan alamat yang sangat mirip dengan yang asli. Kesamaan ini membuat pengguna cenderung tidak mengidentifikasi perubahan tersebut.

Serangan Rantai Pasokan Mengungkap Lebih dari 2 Miliar
Tanda-tanda Awal Serangan
Pengembang pertama kali menemukan tanda-tanda serangan ketika sistem build mengembalikan pesan kesalahan yang tidak terduga. Pemeriksaan lebih lanjut terhadap dependensi yang disebut error-ex mengungkapkan kode yang diobfuskasi yang berisi fungsi mencurigakan bernama checkethereumw, yang menunjukkan penargetan dompet Ethereum. Analis kemudian mengonfirmasi bahwa malware tersebut berisi referensi ke alamat dompet di beberapa blockchain, termasuk Bitcoin, Ethereum, Solana, Tron, Litecoin, dan Bitcoin Cash.
Di antara paket yang terpengaruh adalah beberapa yang paling banyak digunakan dalam ekosistem JavaScript. Chalk saja menerima lebih dari 300 juta unduhan mingguan, debug lebih dari 350 juta, dan strip-ansi lebih dari 260 juta. Secara total, pustaka yang disusupi secara kolektif diunduh lebih dari 2,6 miliar kali setiap minggu, menyoroti kedalaman dampak di seluruh komunitas pengembang.
Dompet Perangkat Keras vs Perangkat Lunak
Meskipun banyak pustaka yang terinfeksi tidak secara langsung terkait dengan proyek cryptocurrency, integrasinya ke dalam rantai dependensi berarti bahwa bahkan aplikasi yang tidak terkait pun mungkin telah terpapar. Proyek yang berinteraksi dengan dompet cryptocurrency dan aplikasi terdesentralisasi dianggap berada pada tingkat risiko tertinggi.
Menurut Guillemet, pengguna dompet perangkat keras dengan fitur penandatanganan yang jelas tetap aman karena perangkat tersebut memungkinkan mereka untuk memverifikasi setiap transaksi sebelum persetujuan. Sebaliknya, pengguna dompet perangkat lunak menghadapi paparan yang lebih besar dan disarankan untuk sangat berhati-hati sampai dependensi ditinjau dan diamankan sepenuhnya.
Menemukan Penyerang dan Dana yang Dicuri
Alamat cryptocurrency penyerang telah diidentifikasi dan sedang dipantau secara aktif berkat transparansi blockchain publik. Alamat Ethereum utama yang terkait dengan operasi ini adalah 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976, bersama dengan beberapa alamat cadangan lainnya. Pada saat pelaporan, dana yang dicuri belum dipindahkan. Pemantauan ini memberikan kesempatan untuk analisis berkelanjutan, meskipun cakupan penuh aset yang dicuri masih belum jelas.

Serangan Rantai Pasokan Mengungkap Lebih dari 2 Miliar
JavaScript dan Peran Komunitas
Komunitas JavaScript dan web3 bertindak cepat untuk menahan insiden tersebut. Versi berbahaya dari paket yang disusupi sebagian besar telah dihapus dari registri, tetapi risiko tetap ada untuk proyek yang mungkin masih mengandalkan versi usang dalam file kunci mereka. Pengembang didesak untuk mengaudit dependensi mereka, mengunci versi yang aman, dan menginstal ulang build yang bersih untuk mencegah paparan lebih lanjut.
Profesional keamanan juga merekomendasikan agar pengembang mengganti kredensial, memberlakukan otentikasi dua faktor pada akun seperti NPM dan GitHub, dan menggunakan metode instalasi deterministik seperti npm ci untuk mempertahankan kontrol versi yang ketat. Selain itu, pengguna disarankan untuk memverifikasi dengan cermat semua transaksi cryptocurrency, terutama jika mengandalkan dompet perangkat lunak.
Pikiran Akhir
Insiden ini digambarkan sebagai salah satu pelanggaran paling luas yang memengaruhi ekosistem NPM. Meskipun respons komunitas relatif cepat, serangan ini menggarisbawahi kerapuhan rantai pasokan perangkat lunak modern dan risiko yang diciptakan oleh ketergantungan yang meluas pada komponen sumber terbuka.
Seperti yang ditekankan Guillemet, meninjau setiap transaksi sebelum menandatangani tetap penting. Pelanggaran ini berfungsi sebagai pengingat bahwa bahkan pustaka kecil yang tertanam jauh di dalam infrastruktur aplikasi dapat menjadi vektor serangan yang signifikan ketika disusupi. Bagi pengembang dan pengguna, kewaspadaan berkelanjutan sekarang menjadi bagian penting dari pemeliharaan keamanan dalam ekosistem pengembangan web3 dan perangkat lunak.



