Lewati ke konten utama

SUPPLY CHAIN SECURITY

Shai-Hulud: Worm npm yang Menyebar Sendiri dan Cara Melindungi Proyek

Shai-Hulud adalah worm npm yang menyebar sendiri dengan mencuri kredensial pengembang lalu memakainya untuk menerbitkan versi berbahaya dari paket-paket lain milik korban. Sejak gelombang pertama pada September 2025, keluarga worm ini terus berevolusi menjadi Shai-Hulud 2.0, Mini Shai-Hulud, dan ChainDrop. Artikel ini merangkum kronologinya per 29 Oktober 2026 dan langkah perlindungan bagi proyek Anda.

Shai-Hulud adalah worm npm yang menyebar sendiri dengan mencuri kredensial pengembang lalu memakainya untuk menerbitkan versi berbahaya dari paket-paket lain milik korban. Sejak gelombang pertama pada September 2025, keluarga worm ini terus berevolusi menjadi Shai-Hulud 2.0, Mini Shai-Hulud, dan ChainDrop. Artikel ini merangkum kronologinya per 29 Oktober 2026 dan langkah perlindungan bagi proyek Anda.

Apa itu Shai-Hulud dan mengapa berbahaya

Worm biasa menyebar lewat jaringan. Shai-Hulud menyebar lewat kepercayaan dalam ekosistem paket. Setelah satu paket terinfeksi dan dipasang di mesin pengembang atau server CI, malware mencari token dan kunci, lalu memakai token npm korban untuk menyisipkan dirinya ke paket-paket lain yang dikelola orang yang sama dan menerbitkannya. Setiap maintainer yang terinfeksi menjadi distributor baru. Karena itu menghapus paket berbahaya dari registry tidak mengakhiri masalah: kredensial yang sudah dicuri dan persistensi di mesin tetap ada.

Ini contoh nyata dari risiko yang dibahas di artikel supply chain attack: yang diserang bukan aplikasi Anda, melainkan bahan bakunya.

Kronologi gelombang Shai-Hulud

Gelombang pertama, September 2025

CISA menerbitkan peringatan pada 23 September 2025 tentang kompromi rantai pasok yang memengaruhi npm dengan lebih dari 500 paket terdampak. Setelah akses awal, malware memindai lingkungan untuk mencari token GitHub dan kunci API AWS, Google Cloud, dan Azure, lalu mengirimkannya ke endpoint penyerang serta mengunggahnya ke repositori GitHub publik bernama "Shai-Hulud". Ia lalu menyebar otomatis dengan mengautentikasi ke npm sebagai pengembang korban.

Shai-Hulud 2.0, November 2025

Menurut analisis Datadog, komunitas mengidentifikasi gelombang kedua pada 24 November 2025. Sedikitnya 796 paket npm unik (1.092 versi) dibackdoor, dengan total lebih dari 20 juta unduhan mingguan. Skrip preinstall memasang runtime Bun, mencuri kredensial dari sistem berkas dan penyimpanan rahasia cloud, memasang runner GitHub self-hosted yang berpotensi dipakai untuk menjalankan perintah jarak jauh, dan mencoba menghapus direktori home korban bila tidak bisa mengirim data maupun mereplikasi diri. Berdasarkan sumber publik, Datadog memperkirakan data dari lebih dari 500 pengguna GitHub dan lebih dari 150 organisasi GitHub bocor, angka yang mereka sebut sebagai batas bawah.

Mini Shai-Hulud, Mei 2026

Menurut analisis OpenSSF, pada 11 Mei 2026 penyerang menerbitkan 84 artefak berbahaya di 42 paket @tanstack, lalu worm menyebar ke lebih dari 170 paket di namespace lain seperti @mistralai dan @uipath. Rantainya menarik: workflow pull_request_target yang menjalankan kode dari fork dengan hak repositori utama, cache GitHub Actions yang diracuni, lalu token OIDC dicuri dari memori runner rilis yang berizin id-token: write. Paket berbahaya bahkan dilaporkan membawa attestation SLSA Build Level 3 yang valid, karena attestation merekam build dari pipeline yang memang sah tetapi sudah dikuasai penyerang (OpenSSF sendiri berpendapat platform build-nya tidak memenuhi syarat isolasi L3). Pelajarannya, tanda tangan memastikan siapa yang membangun, bukan apakah proses build-nya aman. OpenSSF menyimpulkan: artefak yang ditandatangani belum tentu tepercaya. Ini sebabnya SBOM, SLSA, dan Sigstore perlu dilengkapi pengamanan pipeline.

ChainDrop, Agustus 2026

Dalam laporan 4 Agustus 2026, Microsoft Threat Intelligence menguraikan kampanye ChainDrop: lebih dari 400 paket npm dari beberapa penerbit tidak terkait, termasuk keyv, flat-cache, dan cache-manager, membawa varian Mini Shai-Hulud. Advisori Cyber Security Agency of Singapore (6 Agustus) menyebut lebih dari 1.300 versi paket terdampak dengan total sekitar 2 miliar unduhan bulanan. Perbedaan angka terjadi karena unit hitungnya berbeda, paket versus versi, jadi baca selalu satuannya. Menurut Microsoft, dengan token publish npm curian worm mendaftar paket yang dapat diterbitkan oleh identitas tersebut, menaikkan versi patch, menyisipkan hook preinstall dan loader, lalu menerbitkan ulang, sehingga rilis berbahaya tampak seperti pembaruan patch biasa tanpa commit sumber yang sepadan.

Persistensi lewat berkas konfigurasi editor dan asisten AI

Poin yang sering terlewat: menurut Microsoft, dengan kredensial GitHub curian, malware menyisipkan berkas ke cabang repositori, yaitu .claude/settings.json, .claude/setup.mjs, .vscode/tasks.json, dan .vscode/setup.mjs. Perubahan itu dapat memicu ulang payload saat Claude Code atau Visual Studio Code dipakai, bahkan setelah pemasangan paket asli dibersihkan. Maka tinjau berkas-berkas ini saat code review, sama seriusnya dengan berkas CI.

Cara melindungi proyek Anda

Di sisi konsumen paket

  • Kunci dependensi. Commit lockfile dan pakai npm ci di CI. CISA menyarankan meninjau package-lock.json atau yarn.lock termasuk dependensi bertingkat.
  • Beri jeda pada versi baru. Microsoft menyarankan npm CLI v12 dan fitur min-release-age. Pada sejumlah insiden npm, versi berbahaya terdeteksi dan dicabut dalam hitungan jam.
  • Batasi skrip pemasangan. Pertimbangkan ignore-scripts=true, karena preinstall adalah titik eksekusi andalan worm ini. Pelajari juga perubahan keamanan npm terbaru.
  • Pisahkan rahasia dari mesin build. Berikan kredensial CI seminimal mungkin dan berumur pendek.

Di sisi maintainer dan pipeline

  • Hindari pull_request_target untuk menjalankan kode fork, pin action ke digest, beri izin id-token: write seminimal mungkin, dan perlakukan cache sebagai batas kepercayaan. Lihat juga panduan mengamankan pipeline CI/CD.
  • Wajibkan MFA tahan phishing pada akun GitHub dan npm.
  • Beri peringatan jika ada publikasi paket dari workflow yang gagal. Menurut OpenSSF, kedua run berbahaya TanStack berakhir gagal setelah paket sudah terbit, sehingga peringatan seperti ini bisa memperpendek jendela eksposur.

Jika Anda sempat memasang versi berbahaya

Anggap mesin dan runner terkompromi: bangun ulang dari kondisi bersih, putar semua kredensial (npm, GitHub, cloud, SSH, Kubernetes) dari mesin yang bersih, bersihkan cache npm dan CI, periksa repositori dari berkas persistensi di atas, dan cari repositori GitHub baru dengan deskripsi mencurigakan di akun Anda. Untuk ChainDrop, CSA Singapura juga menyarankan mencari repositori GitHub dengan deskripsi "Shai-Hulud: Here We Go Again". Pada gelombang pertama, CISA menyarankan memblokir koneksi keluar ke domain webhook.site dan memantau log firewall.

Relevansi bagi pengembang Indonesia

Banyak proyek web modern di Indonesia, dari startup hingga sistem internal instansi, bergantung pada npm. Token berumur panjang yang tersimpan di laptop pribadi pengembang adalah kombinasi yang ideal bagi worm ini. Langkah paling murah: cooldown versi, token berumur pendek, dan MFA tahan phishing.

Baca juga: GlassWorm: Malware Ekstensi VS Code dan Open VSX.

Pertanyaan yang Sering Diajukan

Apakah npm audit cukup untuk mendeteksi Shai-Hulud?

Tidak sepenuhnya. Versi berbahaya baru sering belum tercatat saat pertama muncul. Kombinasikan dengan cooldown versi, lockfile, dan pemantauan perilaku saat instalasi.

Mengapa provenance valid tidak menjamin keamanan?

Karena provenance membuktikan asal build, bukan integritas pipeline. Pada Mini Shai-Hulud pipeline yang sah sudah dikuasai penyerang.

Apa langkah pertama jika curiga terinfeksi?

Isolasikan mesin, putar kredensial dari perangkat bersih, lalu periksa riwayat pemasangan paket dan berkas persistensi.

Kesimpulan

Shai-Hulud menunjukkan bahwa worm kini bisa hidup di dalam proses rilis perangkat lunak itu sendiri. Pertahanan terbaiknya berlapis: lockfile, jeda versi, skrip dibatasi, rahasia minimal, dan pipeline yang ketat. Untuk memperdalam keamanan DevSecOps, lihat kursus Linuxhackingid. Rujukan: peringatan CISA, analisis OpenSSF, dan Microsoft tentang ChainDrop.

Setiap artikel ditinjau pimpinan praktik yang menangani pekerjaannya sebelum terbit.

Semua wawasan

ARTIKEL LAINNYA

terbaru dulu
LINUX & OPEN SOURCE
October 30, 20268 baca

Pensiunnya ingress-nginx dan Katalog Bitnami: Dampak bagi Pengguna Kubernetes

Pensiunnya ingress-nginx pada Maret 2026 berarti controller Ingress yang menurut Kubernetes dipakai sekitar separuh lingkungan cloud native itu tidak lagi menerima rilis dan patch keamanan. Di saat yang sama, perubahan katalog Bitnami sejak Agustus 2025 membuat banyak Helm chart dan image yang dipakai tim DevOps tidak lagi mendapat pembaruan gratis. Keduanya perlu masuk rencana migrasi Anda.

Ditulis oleh Apri Pandu Wicaksono & Tim Open Source & DevSecOps Linuxhackingid | Praktisi Linux & Infrastruktur
LINUX & OPEN SOURCE
October 30, 20268 baca

MinIO Community Diarsipkan dan Pelajaran Risiko Lisensi Open Source

MinIO community diarsipkan oleh pemiliknya pada 25 April 2026, sehingga repositori open source server penyimpanan objek S3 yang banyak dipakai itu kini read-only dan tidak lagi dipelihara. Kasus ini, bersama sengketa tata kelola RubyGems pada 2025, memberi pelajaran praktis tentang risiko ketergantungan pada proyek open source yang dikendalikan satu pihak.

Ditulis oleh Apri Pandu Wicaksono & Tim Open Source & DevSecOps Linuxhackingid | Praktisi Linux & Infrastruktur
LINUX & OPEN SOURCE
October 30, 20267 baca

Debian 13, Fedora 44, dan RHEL 10.2: Rilis Distro Linux Terbaru

Distro Linux terbaru yang paling relevan bagi admin saat ini adalah Debian 13 "trixie", Fedora 44, dan RHEL 10.2 bersama RHEL 9.8. Artikel ini merangkum perubahan utama masing-masing per 29 Oktober 2026, ditambah dua komponen inti yang ikut memengaruhi upgrade: systemd 260 dan rangkaian CVE glibc.

Ditulis oleh Apri Pandu Wicaksono & Tim Open Source & DevSecOps Linuxhackingid | Praktisi Linux & Infrastruktur

Dapatkan advisory berikutnya lebih dulu. Tanpa ringkasan, tanpa kebisingan.

Satu email ketika ada sesuatu yang benar-benar penting. Atau ikuti kanal komunitas kami.

Gabung Telegram

LANGKAH BERIKUTNYA

Bicara dengan operator, bukan meja penjualan.

Panggilan scoping singkat, lalu ruang lingkup, jadwal, dan biaya tertulis dalam 2 hari kerja.

METODOLOGI & KEPATUHAN
ISO 27001PCI-DSSOJKUU PDP