Sekelompok penyerang siber memanfaatkan sistem otomatisasi rilis milik proyek Ethersphere untuk mendistribusikan versi berbahaya dari dua perangkat lunak jaringan penyimpanan terdesentralisasi Swarm, yakni pustaka bee-js versi 13.3.0 serta aplikasi Swarm Desktop versi 0.56.2.
Kedua paket rilis tersebut dirancang untuk mengunduh sekaligus mengeksekusi muatan berbahaya yang bertujuan mencuri kunci privat dompet kripto yang dikelola Swarm Desktop pada nodus pengguna, berikut kata sandi tersimpan yang berfungsi membuka kuncinya. Selain menjarah kredensial dompet, kode jahat tersebut diprogram guna menanamkan pintu belakang (backdoor) pada sistem operasi Windows, macOS, dan Linux.
Paket bee-js sendiri berperan sebagai pustaka JavaScript utama yang mendasari operasional aplikasi Swarm Desktop serta perangkat antarmuka baris perintah swarm-cli. Sementara itu, Swarm Desktop berfungsi menjalankan sebuah nodus Swarm secara mandiri di komputer pengguna dan menyimpan kunci privat milik nodus tersebut secara lokal di dalam sistem.
Kedua versi berbahaya tersebut saat ini telah ditarik sepenuhnya dari peredaran publik, dan tim pengelola proyek Ethersphere telah merilis pembaruan Swarm Desktop yang bersih hari ini. Walaupun demikian, langkah penarikan maupun pembaruan tersebut tidak serta-merta menghapus backdoor yang terlanjur terpasang di sistem korban, juga tidak dapat membatalkan kunci privat yang sudah terlanjur terkirim ke server penyerang. Hingga artikel ini disusun, belum ada laporan mengenai terjadinya kehilangan atau pencurian dana kripto dari pengguna terdampak.
Versi berbahaya Swarm Desktop 0.56.2 pertama kali muncul di repositori GitHub sekitar pukul 00:36 UTC hari ini sebelum akhirnya dicabut sekitar 8,5 jam kemudian. Fitur pembaruan otomatis internal aplikasi tersebut sanggup menyalurkan berkas berbahaya ini ke komputer berbasis Windows x64 dan perangkat Mac berbasis Apple Silicon hanya dalam rentang waktu sekitar 10 menit, sebagaimana diungkapkan dalam analisis insiden yang dirilis oleh perusahaan keamanan rantai pasok Socket. Sebaliknya, perangkat Mac berbasis prosesor Intel sama sekali tidak pernah ditawari versi bermasalah ini, sedangkan pemasangan di lingkungan Linux memang tidak memiliki mekanisme pembaruan otomatis.
Sementara itu, rilis bee-js versi 13.3.0 sempat bertengger sebagai versi paling mutakhir pada repositori publik npm selama kurang lebih 75 menit, tepatnya sejak pukul 00:09 hingga 01:25 UTC hari ini. Kode berbahaya di dalamnya disisipkan sebagai skrip pascapemasangan (postinstall script), yang secara otomatis dijalankan oleh pengelola paket npm saat proses instalasi berlangsung, kecuali apabila pengguna mematikan eksekusi skrip instalasi secara manual. Suatu proyek perangkat lunak bahkan tidak perlu mengimpor modul pustaka tersebut agar kode berbahayanya dapat bekerja dan berjalan.
Paket bawaan milik proyek Ethersphere sendiri, seperti swarm-cli dan bee-dashboard, beserta kode sumber utama Swarm Desktop, secara kebetulan mengonfigurasi batas rentang versi dependensi yang mencakup versi 13.3.0. Oleh sebab itu, setiap instalasi bersih baru yang dilakukan pengguna maupun pengembang di dalam jendela waktu 75 menit tersebut berpotensi besar menarik masuk pustaka berbahaya ini ke dalam komputer mereka.
Tidak ada laporan resmi yang membeberkan secara pasti berapa total unit komputer yang telah terinfeksi oleh serangan rantai pasok ini. Estimasi kasar yang disusun oleh firma keamanan Socket memperkirakan bahwa pustaka bee-js versi 13.3.0 sempat diunduh sebanyak kurang lebih 10 kali, yang sebagian di antaranya mencakup mesin pemindai keamanan otomatis dan peladen cermin (mirrors). Di sisi lain, angka unduhan untuk berkas Swarm Desktop versi 0.56.2 telah menyentuh angka 65 kali unduhan tepat pada pukul 08:27 UTC, dengan beberapa pengunduh diketahui merupakan kalangan peneliti siber.
Para pengelola inti Ethersphere segera mencabut paket 0.56.2 dari peredaran dan langsung menggantikannya hari ini dengan rilis yang sepenuhnya bersih, yaitu versi 0.56.3. Pada catatan perubahan teknis yang menyertai rilis perbaikan tersebut, salah seorang pengelola menegaskan bahwa versi 0.56.2 “diterbitkan oleh seorang penyerang menggunakan kredensial CI yang dicuri dan telah ditarik.”
Rilis versi 0.56.3 sebenarnya mengusung basis kode yang persis sama dengan varian pendahulunya, yakni versi 0.56.1, namun telah ditandatangani ulang secara sah menggunakan sertifikat Developer ID yang baru saja diterbitkan, menurut penjelasan teknis dalam catatan insiden dari pengelola tersebut. Catatan insiden itu turut menerangkan bahwa sistem pembaruan otomatis aplikasi akan secara mandiri mengalihkan instalasi versi 0.56.2 menuju rilis baru yang aman, walaupun instalasi untuk sistem Linux tetap wajib diganti secara manual oleh penggunanya sendiri. Melalui verifikasi perbandingan kode sumber di antara kedua versi yang dilakukan oleh The Hacker News, dipastikan tidak ada modifikasi apa pun di luar pembaruan nomor versi rilis serta pembaruan teks catatan rilis.
Ketika The Hacker News meninjau kembali repositori publik npm hari ini, pustaka bee-js versi 13.2.0 telah dikembalikan posisinya sebagai versi stabil paling mutakhir, dan keberadaan versi 13.3.0 sudah dihapus sehingga tidak dapat diunduh lagi dari registri resmi tersebut.
Peringatan keamanan resmi pada GitHub Advisory untuk pustaka bee-js 13.3.0 secara tegas menyatakan: “Setiap komputer yang memiliki paket ini terpasang atau sedang berjalan harus dianggap telah sepenuhnya disusupi.” Panduan mitigasi dan penilaian risiko serupa juga disampaikan oleh perusahaan keamanan rantai pasok perangkat lunak SafeDep bagi setiap perangkat komputer yang sempat memasang Swarm Desktop versi 0.56.2.
Bagi Anda yang menggunakan dependensi bee-js di dalam suatu proyek perangkat lunak maupun pada alur kerja integrasi berkelanjutan (CI job):
Bagi Anda yang mengoperasikan aplikasi Swarm Desktop pada komputer pribadi:
Pada setiap komputer atau mesin server tempat kode berbahaya tersebut sempat dieksekusi:
Cara Kerja Malware yang Ditanamkan
Berdasarkan rincian teknis yang diungkapkan oleh firma SafeDep, kedua rilis yang disusupi tersebut mengusung muatan loader berbahaya yang serupa. Loader ini tersusun atas beberapa baris instruksi yang bertugas mengunduh skrip tambahan dari domain api.frameworkmetrics[.]xyz dan langsung mengeksekusinya di bawah hak akses akun pengguna yang sedang aktif. Pada paket pustaka bee-js, loader tersebut diposisikan di dalam skrip pascapemasangan, sedangkan di dalam aplikasi Swarm Desktop, loader dipicu untuk berjalan secara otomatis setiap kali pengguna membuka aplikasi.
Skrip jahat hasil unduhan tersebut lantas secara spesifik memindai direktori data milik Swarm Desktop untuk menemukan dua berkas penting: config.yaml serta direktori data-dir/keys/swarm.key. Begitu kedua berkas tersebut ditemukan keberadaannya di dalam cakram penyimpan, muatan malware akan segera mengirimkannya menuju peladen kontrol milik sang peretas.
Berkas kunci swarm.key sejatinya merupakan dokumen Ethereum keystore yang terenkripsi, akan tetapi Swarm Desktop justru menyimpan kata sandi pembuka kuncinya dalam format teks polos (plain text) pada berkas konfigurasi config.yaml. Dengan berhasil merampas kedua berkas konfigurasi vital ini secara bersamaan, pelaku penyerangan memperoleh kemampuan penuh untuk menguras token xDAI dan token xBZZ milik nodus dompet korban, menjarah seluruh saldo dana buku cek (chequebook funds), hingga menyita deposit staking yang terpasang, demikian konfirmasi dari pihak perusahaan.
Selain pencurian dompet, instruksi jahat yang diunduh turut memasang modul backdoor permanen ke dalam sistem. Di lingkungan sistem operasi Linux dan macOS, malware ini menanamkan modul remote shell berbasis bahasa Go yang dinamai evjawbreaker, yang disembunyikan rapi pada direktori tersembunyi ~/.solidity. Shell berbahaya ini beroperasi di latar belakang sistem sebagai layanan pengguna pada Linux dan sebagai komponen LaunchAgent pada macOS.
Menariknya, shell remote tersebut membaca alamat server pengendali (C2) miliknya langsung dari sebuah kontrak pintar (smart contract) di jaringan Ethereum, sebuah taktik terdesentralisasi yang memberi kebebasan bagi kelompok penyerang untuk memperbarui atau mengganti alamat peladen mereka kapan saja. Pelaku tercatat sempat memperbarui alamat target tersebut sekitar 29 menit sebelum muatan kode berbahaya dimasukkan ke repositori pustaka bee-js.
Sementara pada sistem operasi Windows, kode yang diunduh bertugas menginstal klien remote access ScreenConnect yang sepenuhnya asli dan sah, lengkap dengan tanda tangan digital resmi dari pengembangnya, ConnectWise. Klien kendali jarak jauh ini dijalankan sebagai sebuah layanan sistem (system service) Windows dan dikonfigurasi untuk terhubung langsung ke relay server yang dikendalikan oleh pelaku kejahatan.
Apabila akun pengguna yang menjalankan proses berstatus administrator, malware akan langsung menaikkan hak aksesnya melalui metode pengelakan (bypass) mekanisme User Account Control (UAC) yang sudah dikenal luas di dunia siber. Apabila pengguna biasa yang menjalankannya, skrip jahat akan terus-menerus memunculkan jendela dialog izin UAC berulang kali setiap kali pengguna menekan tombol batal, hingga pengguna akhirnya memberikan persetujuan. Berbekal kewenangan tingkat tinggi tersebut, malware menambahkan aturan pengecualian pada sistem keamanan Microsoft Defender dan melanjutkan instalasi klien kendali jarak jauh secara diam-diam tanpa disadari.
Kronologi Masuknya Rilis Berbahaya ke Publik
Kedua paket versi bermasalah ini secara mengejutkan dipublikasikan secara langsung dari akun resmi bernama bee-worker, yakni sebuah akun layanan yang lazim dimanfaatkan oleh tim internal proyek Ethersphere guna mengotomatisasi seluruh alur kerja penerbitan perangkat lunak mereka. Tidak ada satu pun dari kedua modifikasi kode berbahaya tersebut yang ditandatangani secara kriptografis maupun diajukan melalui mekanisme peninjauan pull request.
Pada kasus bee-js, peretas menerbitkan sebuah rilis versi baru di repositori GitHub, tindakan yang secara otomatis memicu alur kerja publikasi npm milik proyek tersebut. Alur pipa otomatisasi itu tidak memerlukan persetujuan manual apa pun dari pengelola manusia, sehingga berhasil mengompilasi dan mengunggah paket berbahaya tersebut langsung ke registri publik npm hanya dalam waktu 73 detik, berdasarkan temuan dari analisis Socket.
Karena paket tersebut dikompilasi langsung melalui alur kerja resmi milik proyek, paket berbahaya itu secara otomatis menyandang status provenance yang sah, yakni catatan kriptografis yang mengaitkan paket npm dengan repositori asli beserta alur kerja yang memproduksinya. Namun demikian, rekam jejak provenance sejatinya hanya membuktikan di mana suatu paket dibangun, bukan membuktikan apakah ada pihak manusia yang telah meninjau isi baris kode di dalamnya.
Sementara pada kasus Swarm Desktop, penyerang memulai eksekusi alur kerja kompilasi (build workflow) secara manual. Alur kerja ini kebetulan memegang sertifikat penandatanganan resmi untuk lingkungan Apple dan Windows serta tidak mengonfigurasi kewajiban persetujuan manusia. Hasilnya, aplikasi desktop untuk macOS berhasil ditandatangani secara sah menggunakan Developer ID resmi proyek Ethersphere dan mendapatkan status notarized dari pihak Apple, membuat sistem pertahanan macOS hanya menampilkan dialog peluncuran perdana yang wajar tanpa kecurigaan, ungkap firma tersebut.
Menanggapi kelemahan fatal tersebut, para pengelola proyek kini telah mengubah sistem keamanan, di mana setiap pekerjaan penandatanganan sertifikat aplikasi wajib menunggu tinjauan dan persetujuan manual dari tim DevOps proyek, serta hanya diizinkan berjalan dari cabang repositori utama (main branch).
Bagaimana metode spesifik yang dipakai oleh pelaku peretasan untuk memperoleh akses awal ke sistem internal masih belum terungkap secara pasti saat laporan ini disusun. Catatan insiden yang dirilis oleh pihak pengelola sejauh ini hanya merujuk pada terjadinya pencurian kredensial dan rahasia sistem CI.
Hasil investigasi yang dipaparkan oleh firma Socket mengindikasikan bahwa terdapat dua akun GitHub yang disalahgunakan dalam insiden ini: akun otomatisasi bee-worker dan satu akun milik seorang pengelola lama. Meskipun begitu, tidak ada satu pun laporan investigasi yang berhasil menguraikan cara para peretas membobol kedua kredensial akun tersebut.
Keterkaitan Erat dengan Serangan Siber Sebelumnya
Seluruh muatan berbahaya dalam insiden ini memperlihatkan kesamaan jejak teknis yang sangat identik, meliputi penggunaan kontrak pintar Ethereum yang sama, peladen relay ScreenConnect yang sama, serta struktur penamaan berkas dengan ekstensi palsu untuk pengembang Solidity yang sebelumnya sempat beredar di pasar ekstensi Open VSX pada September lalu. Rincian mengenai gelombang ekstensi berbahaya tersebut pertama kali diungkap oleh para peneliti keamanan siber dari Pluto Security dalam laporan analisis EtherDuck tertanggal 1 Oktober.
Pihak Pluto Security mengaitkan temuan tersebut “dengan tingkat keyakinan tinggi” kepada kelompok peretas yang bertanggung jawab di balik ekstensi berbahaya asli bernama SleepyDuck, yang tercatat sempat membaca alamat server C2 miliknya melalui sebuah kontrak pintar Ethereum yang berbeda pada tahun 2025. Senada dengan temuan itu, tim peneliti dari Socket turut menyimpulkan bahwa sindikat ancaman siber yang sama merupakan dalang di balik rilis manipulatif bee-js dan Swarm Desktop kali ini.
Indikator Kompromi Sistem (IoC)
Para pengelola sistem pertahanan jaringan dan administrator TI dapat menelusuri catatan log aktivitas serta memeriksa kondisi mesin mereka untuk mendeteksi keberadaan indikator-indikator kompromi berikut ini.
