Tiga belas pakej npm, 48 saat, satu SDK dompet palsu

Satu serangan terancang terhadap daftar npm telah memuat naik 13 pakej SDK dompet palsu gaya Coinbase dalam masa hanya 48 saat, menunjukkan betapa pantasnya kod berniat jahat boleh menyamar sebagai alatan yang dipercayai. Pembangun yang memasang pakej hanya berdasarkan nama yang biasa dilihat boleh tanpa sedar menyuntik SDK palsu ke dalam aplikasi mereka.

Pakej-pakej tersebut muncul antara jam 04:54:59 dan 04:55:48 UTC pada 7 September 2026. Nama-nama seperti cb-wallet-http dan scw-core menyerupai ruang nama (namespace) rasmi @coinbase/wallet-sdk. Bukannya melakukan typo-squatting, penyerang menggunakan awalan nama dengan rentetan yang biasa dilihat, dengan harapan cadangan rakan sepasukan atau hantaran forum akan meyakinkan pengguna tentang kesahihannya.

Kesemua 13 keluaran tersebut berkongsi konfigurasi asas yang sama: versi 0.0.1-security, senarai penyelenggara yang kosong, dan metadata npm lalai yang dipaparkan sejurus selepas diterbitkan. Tetapan yang serupa ini menunjukkan penggunaan satu skrip tunggal yang menghasilkan pakej-pakej tersebut, yang merupakan ciri khas automasi dan bukannya usaha manual.

Model penerbitan terbuka npm membenarkan sesiapa sahaja memuat naik pakej tanpa semakan terlebih dahulu, sekali gus membolehkan serangan seperti ini berlaku. Insiden rantaian bekalan sebelum ini telah menunjukkan bahawa sebaik sahaja kod berniat jahat mendarat dalam pokok kebergantungan (dependency tree), ia akan berjalan pada setiap mesin yang memasangnya.

NPM belum mengenal pasti pelaku atau menjelaskan bagaimana kod tersebut tersebar melampaui muat naik awal. Tidak juga jelas sama ada penyerang menyasarkan pengguna Coinbase secara khusus atau sekadar membanjiri daftar dengan nama-nama yang kelihatan meyakinkan, dengan harapan sebahagian daripadanya akan digunakan.

Apa yang boleh dilakukan oleh pembangun sekarang

  • Semak penerbit pakej sebelum menambahnya; SDK rasmi berada di bawah skop organisasi yang disahkan.
  • Jalankan alatan yang mengimbas kebergantungan untuk mencari tandatangan berniat jahat yang diketahui.
  • Tetapkan versi tepat dalam fail kunci (lockfiles) dan elakkan menarik pakej yang baru diterbitkan tanpa semakan.
  • Utamakan daftar yang memerlukan pengesahan dua faktor untuk penyelenggara.

Perkara yang perlu diperhatikan

  • Sama ada npm memperketat saringan bagi pakej yang meniru jenama terkenal.
  • Senarai hitam dipacu komuniti yang menandakan nama-nama yang menyamar.
  • Kemas kini daripada penyelidik keselamatan mengenai sebarang eksploitasi aktif terhadap 13 SDK palsu tersebut.

Insiden ini membuktikan bahawa nama yang kedengaran biasa tidak menjamin keselamatan. Kewaspadaan dan pengesahan kekal sebagai pertahanan terkuat terhadap serangan rantaian bekalan dalam ekosistem sumber terbuka.