- Shai Hulud 2.0 kembali menyerang ekosistem npm dan menginfeksi paket dari proyek besar seperti Zapier, ENS Domains, AsyncAPI, PostHog, Postman
- Malware berjalan otomatis saat proses instalasi dan mencuri rahasia dari sistem pengembang serta lingkungan cloud
- Pada sistem yang terinfeksi, malware menggunakan TruffleHog untuk mencari API key, token, kata sandi, dan lainnya lalu mengunggahnya ke repositori GitHub publik
- Serangan kali ini lebih luas dibanding sebelumnya dengan hingga 100 paket terinfeksi, serta mencakup fungsi penghapusan file di direktori home saat autentikasi gagal
- Sebagai serangan rantai pasok skala besar yang mengancam model kepercayaan ekosistem npm, insiden ini menegaskan perlunya semua tim pengembang memeriksa dan mengganti rahasia mereka
Ringkasan kampanye Shai-Hulud
- Shai-Hulud adalah malware berbentuk worm yang mereplikasi diri di ekosistem npm, menyebar cepat melalui lingkungan pengembangan yang terinfeksi
- Saat infeksi terjadi, malware menggunakan TruffleHog untuk mencari rahasia yang terekspos seperti API key dan token
- Informasi yang dikumpulkan dikirim ke repositori GitHub publik, lalu digunakan untuk menerbitkan paket npm berbahaya baru agar penyebaran berlanjut
- Penyerang menamai serangan kali ini “Second Coming”
- Serangan kembali dimulai bertepatan dengan rencana npm untuk menghapus token lama pada 9 Desember
Linimasa serangan
- 27 Agustus: laporan kampanye S1ngularity dipublikasikan
- 16 September: serangan Shai-Hulud pertama terjadi
- 18 September: analisis teknis dan perilaku payload dilaporkan
- 24 November: serangan kedua (Second Coming) terjadi tepat sebelum penghapusan token npm
Perubahan metode serangan
- Serangan kali ini memasang runtime Bun melalui file
setup_bun.js, lalu menjalankan bun_environment.js
- Penyerang membuat repositori GitHub dengan nama acak untuk mengunggah data hasil pencurian
- Jumlah paket yang menjadi target infeksi meningkat dari 20 menjadi 100
- Jika autentikasi GitHub atau npm gagal, malware mencakup fungsi untuk menghapus seluruh direktori home pengguna
Paket yang terinfeksi
- Total 492 paket npm terinfeksi, dengan jumlah unduhan bulanan mencapai 132 juta kali
- Proyek besar yang terdampak: Zapier, ENS Domains, AsyncAPI, PostHog, Postman, Browserbase
- Contoh paket:
@zapier/zapier-sdk, @ensdomains/ensjs, @asyncapi/cli, posthog-js, @postman/pm-bin-linux-x64 dan lainnya
Kebocoran rahasia
- Malware mengunggah rahasia ke repositori GitHub yang memuat deskripsi “Sha1-Hulud: The Second Coming”
- Hingga saat ini, diketahui lebih dari 26.300 repositori telah terekspos
Kesalahan penyerang
- Beberapa paket hanya menyertakan
setup_bun.js tanpa bun_environment.js, sehingga worm tidak dapat berjalan sepenuhnya
- Akibatnya, cakupan penyebaran serangan menjadi terbatas
Jalur infeksi dan titik awal kompromi
- Infeksi awal dimulai pada 24 November 2025 03:16:26 GMT+0 dari
go-template dan 36 paket terkait AsyncAPI
- Setelah itu, serangan menyebar ke PostHog (04:11:55) lalu Postman (05:09:25)
- Di repositori AsyncAPI CLI, ditemukan kode yang disebarkan setelah pembuatan branch berbahaya
Dampak potensial
- Saat instalasi, malware berjalan otomatis dan dapat mengakses lingkungan lokal pengembang, sistem build, serta kredensial cloud
- Rahasia yang dicuri dapat digunakan untuk kompromi akun lanjutan dan publikasi paket berbahaya tambahan
- Ini menjadi ancaman serius terhadap keamanan rantai pasok berbasis kepercayaan di ekosistem npm
Rekomendasi respons keamanan
- Lakukan pemeriksaan menyeluruh terhadap dependensi npm yang terkait Zapier dan ENS
- Ganti seluruh rahasia GitHub, npm, cloud, dan CI/CD
- Telusuri di GitHub repositori dengan deskripsi “Sha1-Hulud: The Second Coming”
- Nonaktifkan skrip npm
postinstall di lingkungan CI
- Kunci versi paket dan aktifkan MFA, serta gunakan alat seperti Safe-Chain untuk memblokir paket berbahaya
Kesimpulan
- Shai-Hulud 2.0 adalah serangan ulang berskala besar yang menargetkan rantai pasok npm,
memengaruhi ratusan paket populer dan ribuan repositori GitHub
- Semua tim pengembang harus segera melakukan verifikasi dependensi, penggantian rahasia, dan pemblokiran skrip instalasi otomatis
Belum ada komentar.