1 poin oleh GN⁺ 2025-11-25 | 1 komentar | Bagikan ke WhatsApp
  • 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

1 komentar

 
GN⁺ 2025-11-25
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

    • Menjelaskan bahwa komentar-komentar terkait telah digabungkan menjadi satu. Meskipun tautannya berbeda, jika topik diskusinya pada dasarnya sama maka itu memenuhi kriteria penggabungan. Karena tautan kedua berisi informasi tambahan, tautan itu juga ditampilkan di bagian atas artikel asli
    • Menyebut bahwa artikel ini memiliki cukup banyak informasi tambahan
    • Menyarankan agar untuk pengiriman ulang tautan yang sama digunakan “Dup”, sedangkan untuk tautan berbeda tetapi membahas kejadian yang sama digunakan “See also”
    • Menekankan bahwa ini bukan duplikat, melainkan artikel berbeda yang membahas kejadian yang sama
    • Sebagai referensi, turut menyertakan Shai-Hulud Returns: Over 300 NPM Packages Infected (helixguard.ai)
  • Memberi tahu bahwa diskusi duplikat sedang berlangsung di sini

  • Menunjukkan ada salah ketik pada judul. Judul HN saat ini adalah

    SHA1-Hulud the Second Comming – Postman, Zapier, PostHog All Compromised via NPM
    tetapi penulisan yang benar adalah Shai-Hulud

    • Namun, nama repositori tempat rahasia benar-benar diunggah adalah Sha1-Hulud: The Second Coming, jadi tampaknya dari situlah kebingungan muncul
    • Worm itu sendiri memublikasikan rahasia di GitHub dengan nama sha1-hulud
      Tautan pencarian GitHub terkait
    • Ada juga pendapat yang mengatakan bahwa ejaan “coming” seharusnya hanya memakai satu m, sambil bertanya apakah itu permainan kata yang disengaja
    • Mengatakan tidak tahu alasan komentar itu di-downvote, lalu menjelaskan bahwa serangan yang sebenarnya tidak terkait dengan algoritma SHA1, dan namanya juga bukan parodi dengan maksud seperti itu