Serangan Supply Chain Self-Propagating Infeksi 187 Paket npm

Peneliti keamanan menemukan setidaknya 187 paket npm telah dikompromikan dalam serangan rantai pasok (supply chain attack) bergaya worm yang diberi nama “Shai-Hulud.” Serangan ini bermula dari paket populer @ctrl/tinycolor yang memiliki lebih dari 2 juta unduhan mingguan, lalu menyebar ke banyak paket lain, termasuk yang diterbitkan di bawah namespace resmi CrowdStrike.
Dari Tinycolor ke CrowdStrike
Insiden pertama kali terdeteksi ketika Daniel Pereira, seorang engineer backend, memperingatkan komunitas tentang penyebaran malware aktif di npm. Tak lama kemudian, perusahaan keamanan perangkat lunak seperti Socket dan Aikido memastikan bahwa ratusan paket ikut terinfeksi.
CrowdStrike mengonfirmasi adanya publikasi paket npm berbahaya menggunakan akun mereka. Namun perusahaan menekankan bahwa insiden ini tidak memengaruhi Falcon sensor maupun platform inti. Mereka segera menghapus paket, merotasi kunci publik, dan bekerja sama dengan npm untuk investigasi lebih lanjut.

Mekanisme Worm-Style dengan TruffleHog
Payload berbahaya dalam versi paket yang terinfeksi memiliki mekanisme penyebaran otomatis:
- Mengunduh semua paket milik maintainer.
- Memodifikasi file package.json.
- Menyuntikkan skrip bundle.js.
- Memaketkan ulang dan mempublikasikan ulang paket ke npm.
Skrip bundle.js memanfaatkan alat sah TruffleHog—biasanya dipakai untuk mendeteksi kredensial bocor—tetapi di sini disalahgunakan untuk:
- Mencari token, password, dan kredensial cloud di host.
- Memvalidasi dan menggunakan kredensial developer/CI.
- Membuat workflow GitHub Actions tidak sah di repositori korban.
- Mengekstrak data sensitif ke webhook yang telah ditentukan.
Nama “Shai-Hulud” berasal dari file shai-hulud.yaml yang ditemukan dalam paket terinfeksi, merujuk pada cacing pasir raksasa dalam seri Dune.
Konteks Serangan Supply Chain yang Lebih Luas
Serangan ini muncul setelah serangkaian kompromi besar di ekosistem open-source bulan September:
- Serangan “s1ngularity” yang melibatkan malware bertenaga AI, menargetkan 2.180 akun GitHub.
- Kompromi akibat phishing pada maintainer paket chalk dan debug yang populer di npm.
Efek riak dari insiden npm ini juga dirasakan oleh proyek besar lain. Google Gemini CLI misalnya, menjelaskan bahwa meskipun kode sumber dan servernya aman, pengguna yang menginstal versi terpengaruh selama jendela serangan bisa terdampak.
Rekomendasi Mitigasi
Para peneliti menyarankan agar pengembang segera:
- Audit lingkungan dan log untuk tanda kompromi.
- Rotasi semua secrets dan token CI/CD.
- Tinjau dependency tree untuk memastikan tidak ada versi paket berbahaya.
- Gunakan praktik aman seperti pinning dependency ke rilis terpercaya dan membatasi ruang lingkup kredensial publikasi.
Serangan ini kembali menyoroti betapa rapuhnya rantai pasok perangkat lunak modern, di mana kompromi satu akun maintainer saja bisa berdampak ke ratusan proyek dan ribuan pengguna.
Sumber: BleepingComputer








