Penjelasan teknis
Kelompok ancaman TeamPCP menerapkan cacing pencuri kredensial yang menyebarkan sendiri ('Mini Shai-Hulud') yang mengganggu 170+ paket npm dan PyPI pada 11 Mei 2026. Ekosistem yang terdampak meliputi: (1) TanStack (42 paket, termasuk React Router dengan 12M+ unduhan mingguan), (2) UiPath (65 paket), (3) Mistral AI SDK (npm dan PyPI), (4) Guardrails AI (PyPI), (5) klien JavaScript OpenSearch, (6) paket Squawk (87 namespace). Malware menyebar melalui eksploitasi alur kerja GitHub Actions (penyalahgunaan pull_request_target), mengatasi autentikasi dua faktor menggunakan pencurian token OIDC, dan menanamkan dirinya dalam konfigurasi alat pengembang (.vscode, .claude).
Vektor serangan
Kompromi rantai pasokan melalui pembajakan saluran pipa CI/CD: (1) Penyerang mengeksploitasi alur kerja GitHub Actions pull_request_target yang terlalu permisif, (2) Mencuri token OIDC berumur pendek untuk penerbitan npm, (3) Menyuntikkan malware ke dalam kode paket, (4) Menyebarkan sendiri dengan mencuri kredensial dan menerbitkan ke proyek hilir, (5) Bertahan melalui file konfigurasi alat pengembang (folder .vscode, .claude), (6) Mengalihkan kredensial melalui aplikasi perpesanan anonim (Session) untuk menghindari deteksi.
Sistem yang terdampak
Terutama ekosistem pengembangan JavaScript/Node.js dan Python; mempengaruhi perusahaan hilir yang menggunakan React (melalui TanStack Router), UiPath RPA, integrasi Mistral AI, dan pemantauan model Guardrails AI. Dampak perkiraan: ratusan ribu pengembang; pengembang disarankan untuk mencabut semua kredensial terhubung (AWS, Google Cloud, GitHub, Kubernetes, HashiCorp Vault).
Mitigasi
Segera: (1) Cabut semua token npm dan GitHub, kredensial AWS/GCP, akun layanan Kubernetes, dan kunci SSH yang disentuh oleh pengembang yang mengunduh paket yang terdampak pada 11 Mei, (2) Audit file konfigurasi .vscode dan .claude untuk entri tidak sah, (3) Pindai file package-lock.json dan requirements.txt untuk versi yang dikompromikan, (4) Aktifkan persetujuan yang diperlukan untuk alur kerja pull_request_target, (5) Paksakan token OIDC berumur pendek dengan ruang lingkup minimal. Jangka menengah: (1) Adopsi pemindaian Daftar Materi Perangkat Lunak (SBOM) dan artefak yang ditandatangani, (2) Gunakan fitur provenance paket (misalnya provenance npm) untuk memverifikasi identitas penerbit, (3) Terapkan kontrol akses tingkat repositori dan penentuan dependensi, (4) Pantau ancaman pemerasan (malware mencakup switch dead-man yang mengancam untuk menghapus direktori home jika korban mencabut token).