Gelombang baru serangan rantai pasok (supply-chain attack) bernama kampanye Shai-Hulud telah mengompromikan ratusan paket di npm dan PyPI. Serangan yang dikaitkan dengan kelompok peretas TeamPCP ini menargetkan pengembang perangkat lunak dengan mendistribusikan malware pencuri kredensial.
Awalnya, peretas menyusup ke puluhan paket dari TanStack dan Mistral AI, namun infeksi ini dengan cepat menyebar ke proyek-proyek populer lainnya seperti Guardrails AI, UiPath, dan OpenSearch.
Manipulasi Cerdas: Bypass Otentikasi Kriptografi
Hal yang membuat serangan ini sangat berbahaya adalah paket berbahaya tersebut dipublikasikan melalui pipeline CI/CD yang sah dan membawa atestasi asal (provenance attestation) SLSA Build Level 3 yang valid.
Menurut laporan post-mortem dari TanStack, peretas merangkai tiga kerentanan kritis:
- Alur kerja
pull_request-targetyang berisiko. - Keracunan cache (cache poisoning) pada GitHub Actions.
- Pencurian token OpenID Connect (OIDC) dari memori runner.
Dari sudut pandang pengembang, paket yang diunduh terlihat sepenuhnya otentik secara kriptografi, tanpa ada indikasi bahwa paket tersebut telah disusupi. Endor Labs juga mencatat bahwa penyerang memanfaatkan trik commit Git yang “yatim piatu” (orphaned commit) di repositori hasil fork, memaksa npm untuk secara otomatis mengambil dan mengeksekusi kode berbahaya selama proses instalasi.
Target Pencurian dan Persistensi Malware
Malware ini secara spesifik memburu rahasia (secrets) pengembang, menyisir lebih dari 100 jalur file yang terkait dengan penyedia cloud, token kripto, dan aplikasi perpesanan. Target utamanya meliputi:
- Token OIDC GitHub Actions dan Personal Access Tokens (PAT).
- Kredensial Git dan token publish npm.
- Kredensial AWS Secrets Manager, IAM, dan tugas ESC.
- Token akun layanan Kubernetes dan kredensial klaster.
- Token HashiCorp Vault dan Kunci SSH.
- File
.envdan konfigurasi Claude Code/VS Code.
Untuk mengeksfiltrasi data sensitif ini tanpa terdeteksi, malware menggunakan jaringan P2P Session, sehingga lalu lintas datanya terlihat seperti trafik aplikasi perpesanan terenkripsi biasa. Buruknya lagi, sekadar menghapus paket (uninstall) tidak akan menghilangkan infeksi, karena malware ini menginjeksi dirinya sendiri ke dalam hook Claude Code dan tugas auto-run VS Code.
Analisis Microsoft: Eksekusi Destruktif dan Geofencing
Analisis dari Microsoft Threat Intelligence terhadap paket Mistral AI yang disusupi di PyPI menemukan payload bernama transformers.pyz. Malware ini memiliki kemampuan unik:
- Geofencing: Malware menolak untuk dieksekusi pada host atau sistem operasi yang menggunakan pengaturan bahasa Rusia.
- Penghapusan Data (Wiper): Jika malware mendeteksi lingkungan sistem berada di Israel atau Iran, ia memiliki probabilitas 1 banding 6 untuk menjalankan perintah penghapusan rekursif yang merusak (
rm -rf/). Perilaku ini sangat mirip dengan kampanye CanisterWorm yang juga didalangi oleh TeamPCP pada Maret lalu.
Langkah Mitigasi Darurat untuk Pengembang & Tim IT
Jika Anda atau tim Anda mengunduh paket yang terdampak, Anda wajib berasumsi bahwa kredensial Anda telah terekspos. Segera lakukan langkah berikut:
- Rotasi Total: Ganti (rotate) semua kredensial, termasuk token GitHub, token npm, kredensial AWS, token Vault, akun layanan Kubernetes, dan semua rahasia CI/CD.
- Audit Direktori: Periksa direktori IDE Anda dari file berbahaya yang bertahan meskipun proses npm install telah dibersihkan (misalnya
router_runtime.jsatausetup.mjs). - Blokir Akses C2: Putuskan akses ke infrastruktur Command-and-Control peretas di tingkat DNS atau proxy:
api.masscan.cloud,git-tanstack.com, dan*.getsession.org. - Perketat Instalasi: Untuk jangka panjang, terapkan kebijakan instalasi hanya melalui lockfile (lockfile-only installs) untuk mencegah pembaruan paket secara otomatis atau diam-diam.
