Serangan Supply-Chain “Shai-Hulud” Susupkan Malware ke 19 Paket PyPI Populer Bidang Sains

Dunia pengembangan perangkat lunak kembali diguncang oleh serangan rantai pasok (supply-chain attack) yang menyasar ekosistem repositori Python Package Index (PyPI). Kelompok peretas berhasil menyusupkan malware ke dalam 19 paket Python berfokus sains (terutama visualisasi dan bioinformatika) yang secara kolektif telah diunduh ratusan ribu kali.
Serangan terorganisir ini pertama kali diidentifikasi oleh perusahaan keamanan aplikasi Socket. Kampanye berbahaya yang dikategorikan sebagai bagian dari operasi Shai-Hulud ini merilis total 37 versi pembaruan palsu yang diduga berasal dari pembajakan satu akun pemelihara (maintainer) paket yang sama.
1. Daftar Paket Utama yang Terinfeksi (Alat Bioinformatika & Sains)
Mayoritas paket yang dikompromikan merupakan pustaka (libraries) dan alat analisis data medis serta bioinformatika populer yang sering digunakan oleh peneliti, ilmuwan, dan akademisi, di antaranya:
- Dynamo
- Spateo
- CoolBox
- U-FISH
- Napari-UFISH
Catatan: Socket merekomendasikan perusahaan atau institusi yang sempat mengunduh paket-paket tersebut dalam beberapa waktu terakhir untuk segera melakukan audit total.
2. Mekanisme Kerja Malware: Manfaatkan “.pth” untuk “Delayed Trigger”
Kelompok penyerang Shai-Hulud menggunakan taktik licik yang memanfaatkan mekanisme bawaan Python guna menyembunyikan eksekusi kode jahat mereka agar lolos dari pemindaian antivirus tradisional:
[Instalasi Paket PyPI yang Kompromi] ──► Menyisipkan File '*-setup.pth' secara Pasif
│
▼ (Pengguna Membuka Python / Pip / Notebook)
[Eksekusi Otomatis File .pth] ──► Mengunduh 'Bun JavaScript Runtime' dari GitHub
│
▼
[Eksekusi File '_index.js'] ──► Memindai, Menguras, dan Mencuri Kredensial Developer
- Pemicu yang Tertunda (Delayed Trigger): Artefak berbahaya ini menyertakan sebuah file konfigurasi khusus bernama
*-setup.pthdan sebuah muatan skrip JavaScript terenkripsi (obfuscated) bernama_index.js. - Eksekusi Otomatis: File berkstensi
.pth(Python Path) memiliki sifat unik di mana sistem akan mengeksekusinya secara otomatis setiap kali runtime Python diaktifkan. Artinya, serangan tidak langsung berjalan saat prosespip install. Serangan baru terpicu saat pengguna membuka notebook kernel, menjalankan pengujian otomatis (test run), mengeksekusi skrip CI/CD, atau mengetik perintah dasar Python lainnya. - Penyusupan Runtime Eksternal: Begitu terpicu, file
.pthakan langsung mengunduh perangkat lunak Bun JavaScript Runtime secara diam-diam dari GitHub demi mengeksekusi file berbahaya_index.js.
3. Target Data yang Dikuras: Berfokus pada Rahasia Pengembang (Developer Secrets)
Analisis mendalam pada muatan skrip JavaScript menunjukkan bahwa tujuan utama dari serangan Shai-Hulud adalah menguras habis rahasia kredensial infrastruktur digital dari komputer milik pengembang (workstation) maupun server CI/CD, yang meliputi:
- Token Publikasi: npm, PyPI, RubyGems, dan JFrog publishing tokens.
- Akses Repositori: GitHub tokens dan konfigurasi GitHub Actions secrets.
- Kredensial Cloud & Infrastruktur: AWS, Google Cloud Platform (GCP), Microsoft Azure, Kubernetes, dan HashiCorp Vault.
- Kunci Keamanan: Kunci enkripsi SSH dan Docker credentials.
- File Konfigurasi Sensitif: File
.env,.npmrc,.pypirc, riwayat perintah terminal (shell histories), serta file konfigurasi AI milik Claude/MCP (Model Context Protocol).
4. Metode Kamuflase, Persistensi, dan Eksfiltrasi Data
Malware Shai-Hulud dibekali kemampuan canggih untuk mengelabui tim forensik serta mempertahankan posisinya di dalam sistem korban:
- Eksfiltrasi via GitHub: Metode utama untuk mengirim data rampokan keluar adalah dengan membuat repositori GitHub baru secara otomatis menggunakan akun korban, lalu menuliskan data rahasia tersebut ke dalam log via fitur GitHub Actions.
- Kamuflase Endpoint Anthropic: Metode eksfiltrasi kedua menggunakan jalur HTTPS langsung yang mengarah ke endpoint API palsu milik Anthropic (
api[.]anthropic[.]com/v1/api). Endpoint ini sengaja dipilih peretas agar lalu lintas data terlihat legal layaknya aktivitas komunikasi AI normal. - Fitur Anti-Analisis: Malware akan mendeteksi apakah sistem menggunakan bahasa/lokasi Rusia (Russian locales) dan secara aktif memeriksa keberadaan alat pertahanan siber seperti StepSecurity Harden-Runner untuk menghentikan aksinya agar tidak ketahuan.
- Sistem Persistensi: Agar tetap aktif meskipun komputer dinyalakan ulang, malware akan menanamkan diri pada layanan systemd di sistem operasi Linux dan LaunchAgents pada macOS.
Langkah Mitigasi Darurat Bagi Tim Pertahanan Siber
Bagi perusahaan atau pengembang yang merasa sempat mengintegrasikan paket-paket sains di atas ke dalam alur kerja mereka, berikut langkah penanganan yang wajib segera dilakukan:
- Rotasi Total Seluruh Kredensial: Segera ganti (rotate) semua token API, password, kunci SSH, dan kredensial cloud yang tersimpan pada mesin yang terdampak.
- Pembersihan Lingkungan Kerja: Hapus total instalasi paket yang mencurigakan dan pulihkan (restore) lingkungan kerja atau server CI/CD menggunakan salinan cadangan (backup) yang terverifikasi aman.
- Gunakan Indikator Kompromi (IoC) untuk Pemindaian: Lakukan inspeksi pada jaringan untuk mendeteksi:
- Keberadaan file
.pthmencurigakan yang berisi perintah eksekusi kode (startup hooks). - Aktivitas pengunduhan file Bun JavaScript Runtime yang tidak terduga dari GitHub.
- Pola rantai proses di mana aplikasi Python memicu peluncuran program Bun untuk mengeksekusi skrip internal
_index.js.
- Keberadaan file
Sumber: Laporan Investigasi Rantai Pasok Socket App Security / Threat Intel Report PyPI








