Keamanan Ekosistem Perangkat Lunak: Ancaman Rantai Pasok Terbaru



Pada tanggal 11 Mei 2026, dunia pengembangan perangkat lunak dikejutkan oleh serangan supply chain terkoordinasi yang masif, menargetkan ekosistem package registry utama seperti npm dan PyPi. Serangan ini sangat terstruktur, menyerang puluhan paket dari berbagai namespace secara simultan.

Beberapa paket kunci yang terindikasi terdampak mencakup modul untuk platform otomasi enterprise UiPath, client resmi TypeScript untuk Mistral AI, serta paket guardrail yang digunakan di ranah LLM Python. Skala serangan ini menunjukkan tingkat koordinasi yang sangat tinggi dari pihak penyerang.

Bagaimana Kerentanan TanStack Dieksploitasi

Kompromi pada paket TanStack merupakan salah satu vektor serangan yang paling rumit. Penyerang mengeksploitasi rantai tiga kerentanan yang ada di GitHub Actions. Mereka memulai dengan membuat fork repositori, kemudian mengajukan pull request yang secara tidak sengaja memicu alur kerja target (pull_request_targetworkflow).

Alur kerja palsu ini menjalankan kode dari fork penyerang. Kode jahat tersebut bertujuan untuk meracuni cache lokal pnpm dengan repositori berbahaya. Akibatnya, ketika pengembang yang sah menggabungkan pull request yang asli ke branch utama, alur kerja release akan memulihkan cache yang sudah diracuni tersebut.

Dalam prosesnya, penyerang berhasil mengambil token OIDC (OpenID Connect) langsung dari memori proses runner GitHub Actions. Hal ini memungkinkan mereka untuk menerbitkan versi paket berbahaya tanpa harus mencuri kredensial akun npm secara langsung. 😈

Mekanisme Serangan Ganda dan Dampaknya

Selain insiden TanStack, paket di namespace UiPath juga menjadi sasaran berikutnya. Paket-paket ini menggunakan skrip preinstall yang tugasnya mengunduh runtime Bun dan mengeksekusi payload jahat. Mekanisme penyampaian ini sangat mirip dengan serangan terdahulu yang terjadi pada paket SAP.

Dampak dari eksekusi payload ini sangat serius. Malware yang didistribusikan berfungsi ganda: sebagai pencuri kredensial dan sebagai worm (cacing) yang menyebarkan dirinya secara mandiri.

Apa yang dicuri? Payload ini sangat ambisius, menargetkan token CI/CD (seperti GitHub Actions OIDC, GitLab, CircleCI), kredensial cloud (AWS IMDSv2, GCP, Azure), service account Kubernetes, hingga token dari HashiCorp Vault.

Lebih mengerikan lagi, menggunakan token npm dan token GitHub Actions yang berhasil dicuri, malware ini mampu menerbitkan versi paket palsu pada paket lain milik korban yang memiliki izin tulis. Ini memastikan penyebaran meluas di seluruh ekosistem npm.

Fitur Lanjutan dan Jejak Persistensi

Operasi ini menunjukkan tingkat evolusi yang tinggi. Penyerang tidak hanya menggunakan satu jalur eksfiltrasi.

Arsitektur C2 Tiga Tingkat:

Mereka membuat tiga jalur redudan untuk mencuri data, membuat serangan jauh lebih sulit dibendung. Jalur-jalur tersebut meliputi:

  1. Domain Typosquat (misalnya, git-tanstack[.]com).

  2. Jaringan pesan desentralisasi seperti Session.

  3. Dead drop melalui GitHub API, di mana malware akan membuat repositori bertema Dune menggunakan token yang dicuri.

Daemon Pemantau Token Persisten:

Jika malware mendeteksi keberadaan Personal Access Token GitHub atau token OAuth, ia akan menjalankan serangkaian pemeriksaan. Jika token tersebut valid dan memiliki izin yang cukup, ia akan menginstal sebuah daemon bernama gh-token-monitor. Daemon ini akan memantau GitHub setiap 60 detik, dan jika mendeteksi token yang dicabut (revoked), ia akan memicu perintah penghapus masif (rm -rf ~/), berpotensi menghapus seluruh direktori home pengguna. ⚠️

Langkah Mitigasi Kritis Bagi Tim Keamanan

Mengatasi ancaman semacam ini memerlukan respons yang sangat cepat dan terperinci. Tim keamanan wajib melakukan langkah-langkah berikut:

1. Identifikasi Eksposur:

Segera periksa lockfile dan log CI Anda. Cari keberadaan file aneh seperti router_init.js atau setup.mjs di akar paket, atau versi paket yang terdaftar sebagai yang terdampak.

2. Periksa Jejak Persistensi:

Ini krusial. Cari daemon gh-token-monitor pada mesin pengembang. Hapus daemon ini sebelum Anda melakukan pencabutan token GitHub secara massal.

3. Rotasi Kredensial Total:

Asumsikan semua token dan rahasia berpotensi terekspos. Lakukan rotasi segera pada semua token GitHub, token npm, kredensial AWS, token Vault, dan service account Kubernetes.

4. Audit Direktori IDE:

Periksa folder direktori IDE Anda (seperti .claude atau .vscode) karena payload ini bisa bertahan meskipun paket sudah dihapus menggunakan npm uninstall.

5. Blokir Infrastruktur C2:

Terapkan pemblokiran di jaringan untuk domain atau pola koneksi yang dicurigai oleh penyerang.

Perlu diingat, ancaman ini menuntut kewaspadaan tinggi. Mengikuti praktik keamanan pengembangan (DevSecOps) dan audit ketat pada setiap dependensi adalah kunci untuk melindungi infrastruktur dari serangan jenis ini.

Referensi
https://www.wiz.io/blog/mini-shai-hulud-strikes-again-tanstack-more-npm-packages-compromised

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.