Shai Hulud melancarkan serangan rantai pasok kedua
(aikido.dev)- 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 menjalankanbun_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-x64dan 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.jstanpabun_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-templatedan 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
postinstalldi 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
1 komentar
Komentar Hacker News
Layak menyebut Bubblewrap (bwrap). Alat ini dapat menghilangkan sebagian besar vektor serangan yang mungkin muncul di lingkungan npm/node, atau setidaknya membatasi dampak saat terjadi eksekusi kode arbitrer
Memang bukan solusi yang sempurna, tetapi jika digunakan dengan skrip wrapper sederhana, menurut saya ini jauh lebih baik daripada container Podman rootless
Tautan GitHub Bubblewrap
Membagikan skrip yang ditulis dengan Python. Skrip ini memeriksa apakah paket yang terkompromi termasuk dalam file lock pnpm atau npm di salah satu repositori saya
Tautan skrip
Awalnya terlihat seperti duplikat (Dup), tetapi ternyata artikelnya berbeda
Tautan terkait
Memberi tahu bahwa diskusi duplikat sedang berlangsung di sini
Menunjukkan ada salah ketik pada judul. Judul HN saat ini adalah
Sha1-Hulud: The Second Coming, jadi tampaknya dari situlah kebingungan munculsha1-huludTautan pencarian GitHub terkait