PoinTru.com – Kabar mengejutkan baru saja mengguncang ekosistem pengembang web saat sejumlah pustaka dependensi JavaScript populer dilaporkan terinfeksi malware berbahaya. Serangan berantai atau supply chain attack ini menyusup melalui akun pengelola pustaka yang berhasil dibajak peretas, lalu menyebarkan kode jahat ke ribuan proyek turunan tanpa disadari pemiliknya.
Bagi saya yang setiap hari mengelola berbagai skrip automasi kerja dan integrasi API untuk operasional bisnis, insiden seperti ini adalah alarm bahaya yang nyata. Pasalnya, banyak proyek modern yang mengandalkan dependensi pihak ketiga tanpa mengunci versi secara ketat, sehingga proses instalasi rutin bisa langsung menarik malware ke dalam sistem lokal maupun server produksi.
Daftar Pustaka Terdampak dan Jalur Penyusupan Malware
Serangan ini bermula dari pembajakan akun pengelola pada paket populer yaitu keyv dan cacheable. Dua paket ini merupakan pustaka manajemen cache yang sangat sering dipasang sebagai fondasi pada pustaka yang jauh lebih besar, misalnya Got dan Cache Manager. Ketika akun pustaka utama tersebut disusupi, peretas langsung mengunggah versi paket yang sudah disuntik kode jahat ke repositori publik npm.
Jika proyek Anda tidak mengunci file dependensi menggunakan package lock json, perintah instalasi standar akan secara otomatis mengambil versi terbaru yang berisi malware. Begitu proses instalasi berjalan, skrip jahat langsung memicu pre install hook yang bekerja senyap di latar belakang untuk mengunduh runtime Bun sebagai mesin eksekusi tambahan.
Nama Paket JavaScript Peran dalam Ekosistem Status Dampak Serangan keyv Pustaka penyimpanan key value Akun dibajak dan disuntik file malware cacheable Pustaka utilitas caching data Akun dibajak dan menyebarkan skrip jahat Got Pustaka HTTP request populer Terdampak secara tidak langsung lewat dependensi Cache Manager Modul manajemen cache multi store Terdampak secara tidak langsung lewat dependensi
Target Data Sensitif dan Modus Operandi Canggih
Begitu malware aktif di mesin pengembang, ia langsung menguras habis berbagai berkas konfigurasi penting. Skrip ini secara otomatis memindai dan menyedot seluruh isi file env yang berisi variabel rahasia, kredensial cloud penyedia layanan seperti AWS, hingga token akses yang tersimpan pada sistem pipeline CI CD runner.
Kejahatan ini dirancang dengan tingkat kelicikan yang tinggi. Agar alamat server penampung data hasil curian tidak mudah dilacak atau dimatikan oleh otoritas keamanan, peretas memanfaatkan smart contract pada jaringan blockchain Ethereum untuk menyembunyikan alamat server pengendali atau command and control.
Tidak berhenti di situ, malware ini juga bertindak sebagai worm penyebar otomatis. Apabila pada sistem komputer Anda ditemukan token npm yang memiliki hak akses publikasi, malware akan langsung menyisipkan kode berbahaya yang sama ke dalam repositori open source lain yang Anda kelola.
- File env lokal dan konfigurasi environment rahasia
- Kredensial cloud AWS, GCP, Azure, dan database connection strings
- Token otentikasi CI CD runner dan GitHub access tokens
- Token akses asisten AI seperti Cursor, OpenAI, dan Claude
- Token akun npm untuk penyebaran infeksi ke proyek publik lainnya
Cara Memeriksa Jejak Infeksi pada Folder Proyek
Untuk memastikan apakah lingkungan kerja Anda sudah disusupi atau masih aman, Anda bisa melakukan inspeksi mandiri ke dalam folder dependensi. Berdasarkan temuan di lapangan, ada berkas janggal tertentu yang menjadi penanda mutlak keberadaan skrip jahat ini.
Buka folder node modules pada proyek Anda, kemudian arahkan pencarian ke dalam folder pustaka keyv atau cacheable utils. Periksa apakah terdapat file bernama Math Symbol js atau math init js di dalamnya. Jika file tersebut muncul di dalam folder proyek Anda, artinya sistem kerja Anda sudah terinfeksi dan perlu penanganan darurat seketika.
Langkah Bersih Total dan Pemulihan Sistem
Jika Anda menemukan indikasi infeksi tersebut, tindakan pembersihan harus dilakukan secara menyeluruh tanpa menunda. Jangan hanya menghapus satu file saja karena skrip mungkin sudah menyebar ke bagian lain dalam dependensi lokal.
Langkah pertama yang saya lakukan saat menangani insiden semacam ini adalah membuang seluruh isi folder node modules dan membersihkan cache npm dari komputer lokal. Eksekusi perintah di terminal untuk memastikan tidak ada sisa paket berbahaya yang tertinggal dalam memori sementara sistem pengembang.
rm -rf node_modules
npm cache clean --force
Setelah folder dependensi dibersihkan total, langkah paling penting yang wajib segera Anda lakukan adalah melakukan rotasi seluruh kredensial. Ganti semua API keys, database secret key, token cloud, hingga token asisten AI yang pernah tersimpan di file env komputer Anda, karena ada kemungkinan data tersebut sudah terkirim ke server peretas.
Catatan Sebelum Anda Eksekusi
Kejadian serangan rantai pasok ini menjadi pengingat berharga bagi kita semua yang berkutat dengan ekosistem JavaScript. Kunci selalu berkas package lock json Anda dan hindari menjalankan instalasi paket sembarangan tanpa verifikasi versi yang jelas. Kalau Anda punya temuan lain atau sempat mengalami kendala serupa saat memeriksa dependensi proyek, mari kita diskusikan di kolom komentar agar bisa saling menjaga keamanan alur kerja bersama.
Baca artikel lainnya, cek aja di Sitemap.
