Jaringan npm Diserang IronWorm: Malware Berbasis Rust Infeksi 36 Paket via Jalur Supply-Chain

Dunia pengembangan perangkat lunak kembali diguncang serangan rantai pasokan (supply-chain attack) berskala siber serius. Sebanyak 36 paket pada repositori Node Package Manager (npm) dilaporkan telah terinfeksi oleh sebuah pencuri data (infostealer) varian baru berkinerja tinggi yang dinamakan IronWorm.
Malware ini dirancang sangat spesifik untuk mengincar pengembang perangkat lunak (developers) dan lingkungan otomatisasi Continuous Integration (CI). Target utamanya adalah merampas 86 variabel lingkungan (environment variables) serta 20 berkas kredensial sensitif, termasuk kunci akses OpenAI, AWS, Anthropic, konfigurasi vault, kunci enkripsi SSH, kredensial akun npm, hingga dompet kripto Exodus.
Karakteristik Teknis IronWorm: Hobi Sembunyi di Kernel Linux
Berdasarkan analisis mendalam dari tim peneliti keamanan siber dari perusahaan DevOps, JFrog, IronWorm bukanlah malware sembarangan. Komponen penyerang ini memiliki arsitektur yang sangat matang:
- Ditulis Menggunakan Rust: Penggunaan bahasa pemrograman Rust membuat performa eksekusi malware ini sangat cepat, efisien, serta lebih sulit dideteksi oleh aplikasi antivirus konvensional.
- Rootkit Berbasis eBPF: Untuk menyembunyikan eksistensinya di dalam sistem operasi peladen (server) Linux, IronWorm bersembunyi di balik modul kernel Extended Berkeley Packet Filter (eBPF). Teknik ini membuatnya mampu memanipulasi metrik sistem operasi dan tidak terlihat dari pemantauan keamanan biasa.
- Komunikasi Jaringan Tor: Seluruh data hasil jarahan yang dikirimkan kepada operator peretas dialirkan secara anonim melewati jaringan enkripsi Tor.
Salah satu kemampuan paling berbahaya dari IronWorm adalah kemampuannya untuk mereplikasi dan menyebarkan dirinya sendiri secara otomatis (self-propagates). Ketika malware ini berhasil mencuri kredensial akun npm milik seorang pengembang—termasuk token rahasia dari alur kerja Trusted Publishing milik npm—IronWorm akan otomatis mengunggah versi pembaruan palsu (trojanized versions) ke paket-paket lain yang dikelola oleh korban. Alhasil, pengembang lain yang mengunduh paket tersebut akan ikut tertular.
Secara konseptual, karakteristik penyebaran ini mirip dengan malware Shai Hulud yang kode sumbernya sempat bocor di GitHub. Meskipun belum ditemukan hubungan mutlak, JFrog mendeteksi adanya kemiripan nama riwayat komit (commit names) di antara kedua serangan ini.
Manipulasi Riwayat Komit dan Taktik “Pembersihan” Jejak
JFrog mengungkapkan bahwa gelombang serangan ini terdeteksi bermula dari sebuah akun npm resmi yang telah diambil alih (compromised) bernama ‘asteroiddao’. Akun ini kedapatan mengunggah versi paket terinfeksi yang membawa file biner Rust ELF. Pembaruan palsu ini dipicu secara otomatis menggunakan perintah skrip preinstall saat pengguna mengetik perintah instalasi di terminal.
Untuk mengelabui tim forensik siber, peretas menggunakan nama samaran penulis komit sebagai “claude” serta memalsukan stempel waktu (timestamps) hingga 13 tahun ke belakang. Hal ini sengaja dilakukan agar komit jahat tersebut terlihat seperti kode lama yang sah, padahal baru saja disisipkan beberapa hari lalu.
Mekanisme Penyelundupan Data Unik Lewat GitHub Actions
Ada satu temuan unik yang menarik perhatian para peneliti siber dalam arsitektur IronWorm. Peretas merancang sebuah mekanisme pengiriman data curian dengan memanfaatkan ekosistem GitHub Actions.
Malware akan membungkus (serialize) seluruh kunci rahasia yang berhasil dicuri menjadi satu nilai tunggal, lalu menuliskannya ke dalam sebuah file dengan nama samaran yang tampak tidak berbahaya, seolah-olah itu hanyalah berkas hasil pengecekan format kode (lint/formatting output).
Langkah terakhirnya adalah mengunggah file tersebut sebagai artefak kompilasi (build artifact) di GitHub. Karena artefak tersebut dapat diunduh secara bebas oleh siapa saja yang memiliki akses, peretas bisa mengambil data curian tersebut secara langsung tanpa perlu membangun infrastruktur peladen kendali jarak jauh (Command and Control / C2) eksternal. Kendati demikian, JFrog mencatat fitur canggih ini belum sempat diaktifkan pada sampel serangan IronWorm yang mereka bedah.
Ada juga kejanggalan di mana sang peretas secara tidak sengaja menanamkan kode frasa pemulihan (recovery phrase) dompet kripto milik mereka sendiri di dalam source code. Peneliti menduga hal ini dilakukan sengaja agar malware tidak beralih merampas dompet digital milik sang pembuat sendiri saat sedang dalam fase uji coba (test stage).
Deteksi Dini dan Serangan Kembar binding.gyp
Perusahaan keamanan aplikasi Ox Security menyatakan bahwa serangan IronWorm ini beruntung dapat terdeteksi pada fase yang sangat dini, sehingga penyebarannya berhasil diisolasi sebelum sempat menginfeksi paket-paket raksasa yang populer di jaringan npm.
Di saat yang bersamaan, firma keamanan Endor Labs dan StepSecurity juga melaporkan adanya aktivitas serangan paralel yang sangat mirip namun menggunakan varian berbeda. Serangan kembar tersebut memanfaatkan malware berbasis JavaScript bernama binding.gyp yang melakukan teknik keracunan registri (registry poisoning) dan infeksi pada GitHub Actions dalam lini waktu yang bersamaan.
Bagi para pengembang yang merasa menggunakan paket dari ekosistem terdampak, Ox Security sangat merekomendasikan langkah mitigasi darurat berikut:
- Segera lakukan pembaruan (upgrade) ke versi paket bersih yang telah ditambal.
- Lakukan rotasi massal (revoke and rotate) pada seluruh kunci API, token, dan password yang tersimpan di lingkungan kerja.
- Wajib mengaktifkan fitur otentikasi dua faktor (2FA) di seluruh akun manajemen repositori guna mencegah aksi pembajakan akun.
Sumber: JFrog Security Research








