Pelanggaran Rantai Pasokan TanStack: Saat Perangkat Lunak "Tepercaya" Berbalik Melawan Anda
TL;DR
Pelanggaran Rantai Pasokan TanStack: Saat Perangkat Lunak "Tepercaya" Berbalik Melawan Anda
Pada 11 Mei 2026, dunia pengembang mendapatkan peringatan keras. Antara pukul 19:20 dan 19:26 UTC, namespace npm TanStack—sebuah landasan pengembangan web modern—dibajak oleh aktor ancaman yang dikenal sebagai TeamPCP. Dalam enam menit tersebut, mereka mendorong 84 versi berbahaya di 42 paket @tanstack/* yang berbeda.
Ini bukan serangan typo-squatting biasa. Para penyerang tidak hanya mengunggah kode berbahaya; mereka mengompromikan pipeline build yang sebenarnya. Dengan mengeksploitasi kerentanan di GitHub Actions, mereka menyuntikkan worm pencuri kredensial langsung ke dalam rantai pasokan. Yang mengejutkan? Setiap paket berbahaya tersebut membawa bukti SLSA (Supply-chain Levels for Software Artifacts) yang valid.
Ilusi Kepercayaan
Ini adalah momen penting bagi keamanan perangkat lunak. Untuk pertama kalinya, kita melihat paket npm berbahaya dikirimkan dengan bukti SLSA Build Level 3 yang valid. Pikirkan hal itu sejenak. Proses build begitu terkompromi sehingga atestasi keamanan—hal yang seharusnya membuktikan bahwa sebuah paket aman—secara teknis akurat namun pada dasarnya berbahaya.
Sebagaimana dirinci dalam tindak lanjut insiden yang diterbitkan oleh TanStack, kode tersebut dirancang untuk memicu saat Anda menjalankan npm install. Setelah aktif, ia mulai mencari segalanya: kunci AWS, kredensial GCP, konfigurasi Kubernetes, token GitHub, dan kunci SSH. Kemudian, data tersebut dieksfiltrasi secara diam-diam melalui jaringan Session/Oxen. Jika Anda menjalankan paket-paket ini, rahasia Anda pada dasarnya disiarkan ke penyerang secara real-time.
Anatomi Serangan
TeamPCP—yang mungkin Anda kenal dengan alias lain seperti DeadCatx3, PCPcat, atau ShellForce—tidak berhenti di TanStack. Mereka menyebarkan varian worm "Mini Shai-Hulud". Dalam jendela waktu lima jam, infeksi menyebar ke lebih dari 170 paket di npm dan PyPI.
Postmortem kompromi rantai pasokan npm mengklarifikasi bahwa meskipun akun npm individu tidak selalu diretas, penyerang menemukan pintu belakang melalui alur kerja pull_request_target di GitHub Actions. Mereka pada dasarnya menipu pipeline CI/CD untuk melakukan pekerjaan berat bagi mereka.
| Metrik | Detail |
|---|---|
| Tanggal Insiden | 11 Mei 2026 (19:20–19:26 UTC) |
| Paket Terdampak | 42 paket @tanstack/* |
| Versi Berbahaya | 84 versi total |
| Status Bukti (Provenance) | SLSA Build Level 3 Valid (Terkompromi) |
| Metode Eksfiltrasi | Jaringan Session/Oxen |
| Aktor Ancaman Utama | TeamPCP / DeadCatx3 |
Mengapa Keamanan Tradisional Gagal
Kita telah menghabiskan bertahun-tahun memberi tahu pengembang untuk "memeriksa bukti" dan "memverifikasi tanda tangan". Namun, apa yang terjadi ketika lingkungan build itu sendiri adalah pembohong?
Karena kompromi terjadi di sumbernya, mekanisme kepercayaan otomatis melakukan apa yang diprogram untuk dilakukan: mereka memverifikasi build "tepercaya" yang kebetulan berisi payload berbahaya. Ini bukan hanya masalah TanStack. Kita telah melihat pola serupa dalam serangan baru-baru ini pada Trivy, Checkmarx KICS, LiteLLM, dan Bitwarden CLI. Jelas bahwa kita sedang melihat kampanye tingkat tinggi yang terkoordinasi yang ditujukan langsung ke jantung infrastruktur CI/CD.
Jika Anda menggunakan versi yang terkompromi, penasihat keamanan resmi menyatakan dengan jelas: asumsikan yang terburuk. Fakta bahwa TeamPCP bekerja sama dengan kelompok ransomware Vect adalah paku terakhir di peti mati. Mereka tidak hanya mencuri data; mereka memanen kredensial untuk memfasilitasi serangan destruktif skala penuh di kemudian hari.
Pembersihan: Apa yang Harus Anda Lakukan Sekarang
Jika pipeline CI/CD Anda menyentuh paket-paket ini, Anda harus bertindak seolah-olah seluruh lingkungan Anda terkompromi. Berikut adalah realitas situasinya:
- Hancurkan (atau setidaknya audit): Perlakukan setiap lingkungan CI/CD atau mesin pengembang yang menyentuh paket-paket ini sebagai tempat kejadian perkara.
- Rotasi segalanya: Jangan hanya mengubah kata sandi Anda. Rotasi setiap kunci API, token cloud, dan kunci SSH yang mungkin telah diakses oleh mesin tersebut. Asumsikan mereka sudah berada di tangan penyerang.
- Lacak jejaknya: Periksa log CI/CD Anda untuk aktivitas
npm installatau lalu lintas jaringan keluar yang aneh di sekitar tanggal 11 Mei. - Bersihkan dependensi Anda: Perbarui ke versi aman yang tercantum dalam pelacakan registri paket resmi. Jangan berasumsi lockfile Anda saat ini aman.
- Waspadai pergerakan lateral: Karena penyerang ini terkait dengan ransomware, awasi jaringan internal Anda dengan ketat. Mereka berusaha berpindah dari server build Anda ke lingkungan produksi Anda.
Kerapuhan Otomatisasi
Worm "Mini Shai-Hulud" adalah pengingat suram bahwa pipeline build modern kita disatukan oleh jaringan kepercayaan yang rapuh. Dengan menargetkan GitHub Actions, TeamPCP secara efektif melewati pertahanan perimeter yang telah kita bangun selama satu dekade. Kita telah beroperasi dengan asumsi bahwa jika lingkungan build otomatis dan "terbukti", maka itu pasti aman. Insiden ini membuktikan bahwa asumsi tersebut adalah kekeliruan yang berbahaya.
Bagi mereka yang ingin mendalami teknisnya, pelacak masalah repositori router TanStack berisi analisis mendalam tentang bagaimana ekstraksi token OIDC benar-benar bekerja. Ini adalah bacaan yang menyadarkan tentang betapa mudahnya sebuah pipeline dimanipulasi.
Seiring berjalannya penyelidikan, pesan kepada komunitas pengembang sangat sederhana: berhentilah memercayai pipeline secara membabi buta. Kita telah mencapai titik di mana integritas lingkungan build tidak dapat lagi diasumsikan—itu harus diverifikasi, diaudit, dan diperlakukan dengan skeptisisme yang sama seperti yang kita terapkan pada kode itu sendiri. Tetap waspada, karena aktor ancaman tentu saja tidak tidur.