Langsung ke konten
Guide

Mini Shai-Hulud npm worm: mendeteksi, memutar, dan mengecilkan radius ledakan Anda

| 8 min read

Paket npm TanStack, Mistral AI, dan UiPath diluncurkan pada 11 Mei 2026. Skrip deteksi berdurasi 60 detik, daftar periksa rotasi pertama, dan API tujuan tunggal yang menggantikan empat jenis paket paling berbahaya.

Code on a terminal representing an npm supply chain incident response
Photo by Caspar Camille Rubin on Unsplash

Pada 11 Mei 2026, antara pukul 19:20 dan 19:26 UTC, aktor ancaman TeamPCP mendorong lebih dari 400 malware berbahaya versi paket 170+ npm dan PyPI dalam satu burst terkoordinasi. Router TanStack, TanStack Adaptor kueri, Mistral AI SDK, UiPath, dan Guardrails AI semuanya berada dalam radius ledakan. Enam berita acara penerbitan; minggu pembersihan.

Gelombang ini adalah worm Mini Shai-Hulud: payload pasca-instalasi yang menyebar sendiri dan mencuri token pengelola, kemudian menggunakan token tersebut untuk menerbitkan versi yang lebih beracun di seluruh paket korban mengendalikannya. OpenAI meminta pengguna macOS untuk memperbarui. Jaringan pipa CI di seluruh dunia menjalankannya payload sebelum ada yang membaca nasihatnya.

Jika kamu berlari npm install pada laptop CI runner atau developer setelah 11-05-2026 19.20 UTC, Anda berhutang pada diri Anda sendiri cek 60 detik, izin rotasi, dan perubahan struktural pada gelombang berikutnya biayanya lebih murah. Ini buku pedomannya.

Langkah 1: deteksi dalam waktu kurang dari 60 detik

Worm ini meninggalkan tiga sinyal keras: versi paket yang dikompromikan di lockfile Anda, sebuah komitmen Git atau nama repositori Shai-Hulud-Migration, dan Tindakan GitHub yang tidak terduga menjalankannya mengekstrak rahasia ke webhook.site atau biner TruffleHog. Jalankan ini dari host mana pun dengan gh Dan npm dipasang:

Setiap pukulan pada salah satu dari empat perintah tersebut berarti Anda langsung melompat ke langkah 2. Tidak ada jalur "lihat dulu". Worm selesai sebelum penasehat menyelesaikannya.

Muatan Mini Shai-Hulud berjalan di Anda postinstall kait dengan hak istimewa siapa pun yang berlari npm install. Pada pelari CI dengan OIDC, itu adalah identitas gabungan dengan akses awan. Di laptop pengembang, semua rahasia ada di dalamnya ~/.aws, ~/.ssh, ~/.npmrc, dan riwayat shell Anda.

Langkah 2: putar dulu, selidiki kedua

Forensik akan dilaksanakan minggu depan. Rotasi untuk menit berikutnya. Buka tab runbook untuk setiap rahasia permukaan mesin yang terkena dampak disentuh dan dicabut secara paralel. Skrip ini menyebutkan permukaannya jadi tidak ada yang terlewatkan:

Urutan rotasi yang menangkap pergerakan hilir worm adalah: npm token (berhenti baru diterbitkan), GitHub PATs (menghentikan pembuatan repositori), kunci cloud IAM (menghentikan exfil data), kunci SaaS pihak ketiga (Stripe, Slack, OpenAI, Anthropic), dan terakhir kunci SSH di-cache di disk. Perbarui manajer rahasia Anda hanya setelah kredensial lama mati di sumbernya.

Gunakan API pelanggaran untuk memeriksa apakah email CI Anda bocor

TeamPCP menerbitkan dump IOC yang menyertakan email pengelola yang diambil dari yang disusupi ~/.npmrc file. Jalankan pemeriksaan pelanggaran terhadap akun bot rilis Anda untuk mengonfirmasi apakah alamat Anda muncul di dump 12 Mei:

Jika email rilis Anda muncul di sumber terbaru, token npm yang sesuai sudah ada publik. Cabut, putar hubungan kepercayaan OIDC alur kerja publikasi, dan terbitkan ulang di bawah a identitas baru.

Langkah 3: bersihkan rahasia yang bocor dari log dan tiket

Payload worm membuang variabel lingkungan ke dalam log yang mengalir ke Datadog, Sentry, Slack, dan sistem tiket Anda. Perlakukan setiap baris log yang ditulis setelah pukul 19:20 UTC pada tanggal 11 Mei sebagai tersangka. Pipa bidang berisiko tinggi melalui PII dan detektor rahasia sebelum mencapai penyimpanan dingin:

Titik akhir yang sama menandai kunci AWS, token npm, GitHub PAT, kunci Stripe, dan JWT. Masukkan ke dalam a log middleware yang gagal ditutup: jika panggilan deteksi habis, hilangkan salurannya menulis catatan yang berpotensi diracuni. Lebih baik kehilangan entri log daripada mengirimkan kredensial ke a indeks yang dapat dikueri.

Langkah 4: blokir gelombang berikutnya dengan penjaga CI

Worm ini bergantung pada tiga hal yang mendarat di runner Anda: versi paket yang dikompromikan, a kait pasca-instal yang berjalan, dan akses jaringan keluar untuk dipublikasikan. Blokir salah satu dari mereka dan rantainya putus. Pemeriksaan Tindakan GitHub ini gagal dalam PR jika pembaruan lockfile memperkenalkan a versi yang diketahui buruk, worm IOC, atau dep runtime tanpa asal yang ditandatangani:

Pasangkan dengan npm config set ignore-scripts true pada pelari CI dan eksplisit daftar yang diizinkan untuk paket yang secara sah memerlukan langkah pembuatan (TypeScript, esbuild, Sharp). Itu kebisingan satu kali sepadan dengan standar anti cacing.

Langkah 5: mengecilkan permukaan yang dapat menampung worm

Jenis paket yang paling terkena dampak pada gelombang April dan Mei 2026 adalah AI SDK, validasi pembantu, klien HTTP, dan utilitas kecil. Masing-masing dari mereka adalah kandidat untuk dihapus dan ganti dengan panggilan HTTP yang dapat dibatalkan. Bandingkan radius ledakan:

Kategori Korban npm yang khas Penggantian HTTP Pencabutan
Validasi email validator, validator email dalam /v1/email/validate Putar kunci API
Pemeriksaan pelanggaran paket klien hibp /v1/breach/check Putar kunci API
PII dan pemindaian rahasia secretlint, detektor pii /v1/pii/detect Putar kunci API
Penguraian telepon libphonenumber-js /v1/phone Putar kunci API

Pilih paket dengan kait pasca-pemasangan terlebih dahulu. Pilih AI SDK kedua (Mistral, Guardrails, dan LiteLLM semuanya telah disusupi dalam dua bulan terakhir). Simpan perpustakaan yang sedang dalam proses Anda sebenarnya membutuhkan; hapus panggilan yang menyelesaikan panggilan 200 md yang dapat Anda lakukan sendiri.

Poin-poin penting

  • Deteksi dalam 60 detik. Versi paket yang disusupi, diberi nama repo Shai-Hulud-Migration, dan tindakan GitHub yang tidak sah adalah tiga hal yang paling keras sinyal. Satu pukulan berarti memutar.
  • Putar sebelum Anda menyelidikinya. token npm, PAT GitHub, kunci cloud, SaaS kunci, kunci SSH. Penjualan kredensial worm di hilir dimulai dalam hitungan menit, bukan hari.
  • Gosok log. Masukkan bidang-bidang yang berisiko tinggi /v1/pii/detect dan gagal ditutup pada batas waktu. Baris log yang hilang mengalahkan kredensial yang bocor.
  • Blokir gelombang berikutnya. Penjaga CI yang menolak versi yang diketahui buruk, worm IOC, dan deps runtime yang tidak ditandatangani. Sandingkan dengan ignore-scripts secara default.
  • Kecilkan permukaannya. Ganti paket npm tujuan tunggal dengan HTTP yang dapat dibatalkan panggilan. Kunci API yang dilanggar akan mati dalam satu permintaan; paket yang dilanggar sudah dijalankan.

Pameran Botoi /v1/breach/check, /v1/pii/detect, /v1/email/validate, dan sekitar 200 titik akhir tujuan tunggal lainnya di belakang satu API kunci dengan 5 req/mnt gratis. Hubungkan ke runbook insiden Anda atau sambungkan server MCP untuk Claude Code sehingga asisten AI Anda menjalankan skrip deteksi untuk Anda. Telusuri dokumen interaktif untuk memulai.

FAQ

Apa itu cacing Mini Shai-Hulud?
Mini Shai-Hulud adalah serangan rantai pasokan npm dan PyPI yang menyebar sendiri dan dijalankan oleh aktor ancaman TeamPCP. Ini mengkompromikan token pengelola, menerbitkan kode pasca-instalasi yang berbahaya, kemudian menggunakan token yang dicuri untuk menerbitkan versi yang lebih beracun di seluruh paket yang dimiliki pengelola. Gelombang 11 Mei 2026 melanda TanStack, Mistral AI SDK, UiPath, dan Guardrails AI; lebih dari 400 versi berbahaya dari 170+ paket diterbitkan dalam waktu sekitar enam menit antara pukul 19:20 dan 19:26 UTC.
Paket mana saja yang terdampak pada 11 Mei 2026?
TanStack Router, TanStack Query (beberapa adaptor kerangka kerja), Mistral AI SDK, paket npm UiPath, Guardrails AI, dan beberapa perpustakaan kecil di bagian hilir pengelola tersebut. Wiz, Snyk, dan StepSecurity semuanya menerbitkan nasihat pada 12 Mei dengan daftar lengkap IOC. Jika lockfile Anda menarik versi apa pun dari paket tersebut yang diterbitkan setelah 11-05-2026 19:20 UTC, perlakukan host CI dan mesin pengembang sebagai telah disusupi.
Bagaimana cara mengetahui jika CI saya terkena?
Periksa tiga sinyal: komit git bernama 'Shai-Hulud' yang dikirim dari pelari CI, permintaan keluar ke webhook.site atau unduhan biner TruffleHog di log CI Anda, dan repositori GitHub apa pun bernama 'Shai-Hulud-Migration' di organisasi Anda. Worm ini mengekstraksi rahasia melalui GitHub Actions, sehingga log audit adalah permukaan deteksi tercepat Anda. Filter untuk alur kerja baru yang tidak Anda buat dalam 7 hari terakhir.
Apa yang harus saya putar setelah pemaparan?
Setiap rahasia yang disentuh oleh pelari atau laptop yang terkena dampak. token npm, GitHub PAT, kunci AWS, akun layanan GCP, kunci langsung Stripe, token bot Slack, kunci API OpenAI dan Anthropic, kredensial basis data internal, dan kunci SSH apa pun yang disimpan dalam cache di mesin. Jangan selidiki dulu; putar, lalu selidiki. Eksfiltrasi selesai dalam hitungan detik; rotasi menutup pintu sebelum kredensial yang dicuri dijual.
Bagaimana HTTP API satu tujuan mengurangi risiko ini?
Panggilan HTTPS ke API tujuan tunggal menggantikan paket yang dipercaya secara transitif dan hook pasca-instalasinya dengan kunci yang dapat dibatalkan. Jika penyedia API dilanggar, Anda memutar satu kunci dan lalu lintas berhenti. Jika paket di pohon Anda dibobol, malware sudah berjalan di setiap mesin yang menjalankan npm install. Perdagangannya adalah latensi kecil untuk radius ledakan kecil dan pencabutan instan.

Mulai membangun dengan botoi

150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.