Peneliti keamanan dari StepSecurity, Socket, dan Nextron Systems membongkar serangan rantai pasok terkoordinasi terhadap tiga crate Rust yang banyak dipakai — arrayref, internment, dan append-only-vec — yang ternyata membawa risiko langsung bagi proyek-proyek di ekosistem Solana yang bergantung pada paket-paket ini. Versi yang sudah disusupi adalah arrayref 0.3.10, internment 0.8.7, dan append-only-vec 0.1.9; developer yang belum memperbarui melewati 0.3.9, 0.8.6, dan 0.1.8 secara berurutan otomatis terekspos.

Serangan ini bekerja dengan menyisipkan dependensi ke paket typosquatting bernama proc-macro1, yang dibuat menyamar sebagai library proc-macro2 yang sah dan banyak dipercaya. Karena kode berbahaya ini ditanam di dalam build script paket tersebut, ia langsung tereksekusi begitu sebuah proyek dikompilasi terhadap versi yang sudah tercemar — tanpa perlu ada pemanggilan fungsi eksplisit untuk memicunya.

Rust Supply-Chain Attack Hits Crates With Solana Ecosystem Exposure
Image via @WuBlockchain on X

Cara Kerja Payload-nya

Begitu terpicu, dropper yang berjalan saat proses build ini mengunduh binary khusus platform dari infrastruktur milik penyerang, dengan validasi sertifikat TLS yang sengaja dimatikan, lalu langsung menjalankannya di komputer developer. Menurut analisis StepSecurity, payload tahap kedua ini memprofilkan sistem korban, mendata browser yang terpasang untuk mencuri origin login dan username, lalu menanamkan persistence — di sistem Linux, dilaporkan lewat systemd service — sembari tetap terhubung ke infrastruktur command-and-control yang mampu menjalankan perintah lanjutan dari jarak jauh.

Crate arrayref saja sudah diunduh sekitar 245 juta kali sepanjang masa, angka yang menunjukkan betapa dalamnya paket-paket utilitas level rendah semacam ini tertanam di seluruh ekosistem Rust, termasuk dalam rantai dependensi yang menjalar sampai ke framework GUI dan tooling blockchain. Jangkauan itulah yang mengubah satu crate utilitas yang disusupi dari sekadar bug kecil menjadi risiko rantai pasok yang serius.

Deteksi Cepat, Pembersihan Lebih Cepat Lagi

Responsnya tergolong sangat gesit untuk ukuran serangan rantai pasok. Scanner otomatis milik Socket berhasil menandai paket proc-macro1 yang berbahaya hanya sekitar 18 menit setelah dipublikasikan, dan seorang peneliti secara independen melaporkan temuan ini ke Rust Security Response Team pukul 07:54 UTC pada 20 Agustus — cuma 39 menit setelah paket jahat itu dipublikasikan.

Baca juga: MANTRA Chain Hentikan Jaringan Usai Insiden Tak Jelas, Token Anjlok

Seluruh kampanye ini, mulai dari pembuatan akun crates.io milik penyerang sampai paket-paket yang tercemar dihapus dari registry, berlangsung dalam satu pagi saja, dengan semua versi berbahaya sudah ditarik pada pukul 09:25 UTC.

Kenapa Ini Penting bagi Developer Solana

Tak satu pun dari tiga crate yang disusupi ini spesifik untuk Solana, tapi popularitasnya di tooling Rust umum membuat mereka muncul sebagai dependensi transitif di berbagai proyek, termasuk pengembangan program Solana yang memang mengandalkan Rust sebagai bahasa utamanya. Insiden ini jadi pengingat bahwa perimeter keamanan sebuah ekosistem blockchain jauh melampaui smart contract dan validatornya sendiri — merambah ke rantai pasok open-source yang lebih luas, tempat developer menarik dependensi secara default, sering kali tanpa mengaudit setiap dependensi transitif satu per satu.