Peretasan pada Ekstensi Kode Ethereum
Seorang peretas telah menyisipkan permintaan tarik berbahaya ke dalam ekstensi kode untuk pengembang Ethereum, menurut penelitian yang dilakukan oleh perusahaan keamanan siber ReversingLabs. Kode berbahaya tersebut dimasukkan ke dalam pembaruan untuk ETHcode, sekumpulan alat sumber terbuka yang digunakan oleh pengembang Ethereum untuk membangun dan menerapkan kontrak pintar serta aplikasi terdesentralisasi (dapps) yang kompatibel dengan Ethereum Virtual Machine (EVM).
Detail Penemuan Kode Berbahaya
Sebuah blog yang diterbitkan oleh ReversingLabs mengungkapkan bahwa dua baris kode berbahaya tersembunyi dalam permintaan tarik GitHub yang terdiri dari 43 komit dan 4.000 baris yang diperbarui, yang sebagian besar berkaitan dengan penambahan kerangka pengujian dan kemampuan baru. Pembaruan tersebut diunggah ke GitHub pada 17 Juni oleh pengguna bernama Airez299, yang tidak memiliki riwayat kontribusi sebelumnya.
Permintaan tarik ini dianalisis oleh peninjau AI GitHub dan oleh anggota kelompok 7finney, yang bertanggung jawab untuk mengembangkan ETHcode. Hanya perubahan kecil yang diminta, dan baik 7finney maupun pemindai AI tidak menemukan hal yang mencurigakan. Airez299 berhasil menyembunyikan sifat dari baris kode berbahaya pertama dengan memberikannya nama yang mirip dengan file yang sudah ada, serta mengaburkan dan mengacak kode itu sendiri, sehingga lebih sulit untuk dibaca.
Baris kode kedua berfungsi untuk mengaktifkan yang pertama, yang menurut ReversingLabs bertujuan untuk membuat fungsi otomatis (sebuah Powershell) yang mengunduh dan menjalankan skrip batch dari layanan penyimpanan file publik. ReversingLabs masih menyelidiki apa sebenarnya yang dilakukan skrip ini, meskipun mereka berasumsi bahwa skrip tersebut “ditujukan untuk mencuri aset kripto yang disimpan di mesin korban atau, sebagai alternatif, mengkompromikan kontrak Ethereum yang sedang dikembangkan oleh pengguna ekstensi tersebut.”
Respon dan Implikasi
Dalam wawancara dengan Decrypt, penulis blog Petar Kirhmajer melaporkan bahwa ReversingLabs tidak memiliki indikasi atau bukti bahwa kode berbahaya tersebut telah digunakan untuk mencuri token atau data. Namun, Kirhmajer mencatat bahwa ETHcode memiliki 6.000 instalasi, dan permintaan tarik—yang seharusnya diluncurkan sebagai bagian dari pembaruan otomatis—mungkin telah menyebar “ke ribuan sistem pengembang.”
Ini berpotensi menjadi masalah serius, dan beberapa pengembang menyarankan bahwa jenis eksploitasi ini sering terjadi di dunia cryptocurrency, mengingat industri ini sangat bergantung pada pengembangan sumber terbuka.
Pernyataan Pengembang
Menurut Zak Cole, seorang pengembang Ethereum dan salah satu pendiri NUMBER GROUP, banyak pengembang menginstal paket sumber terbuka tanpa melakukan pemeriksaan yang memadai. “Terlalu mudah bagi seseorang untuk menyisipkan sesuatu yang berbahaya,” katanya kepada Decrypt. “Bisa jadi paket npm, ekstensi browser, atau apa pun.”
Contoh terbaru yang terkenal dari hal ini termasuk eksploitasi Ledger Connect Kit pada Desember 2023, serta penemuan malware di perpustakaan sumber terbuka web3.js milik Solana bulan lalu. “Terlalu banyak kode dan tidak cukup mata yang mengawasinya,” tambah Cole. “Kebanyakan orang hanya menganggap sesuatu aman karena itu populer atau sudah ada sejak lama, tetapi itu tidak berarti apa-apa.”
Cole menegaskan bahwa, meskipun hal semacam ini tidak baru, “permukaan serangan yang dapat dijangkau semakin meluas” karena semakin banyak pengembang yang menggunakan alat sumber terbuka. “Ingatlah bahwa ada seluruh gudang yang penuh dengan agen DPRK yang pekerjaan penuhnya adalah untuk melaksanakan eksploitasi ini,” katanya.
Rekomendasi untuk Pengembang
Sementara Cole menyarankan bahwa mungkin ada lebih banyak kode berbahaya yang mengintai daripada yang disadari banyak pengembang, Kirhmajer mengatakan kepada Decrypt bahwa, menurut perhitungannya, “upaya yang berhasil sangat jarang.”
Ini mengarah pada pertanyaan tentang apa yang dapat dilakukan pengembang untuk mengurangi kemungkinan menggunakan kode yang telah dikompromikan. ReversingLabs merekomendasikan agar pengembang memverifikasi identitas dan riwayat kontributor sebelum mengunduh apa pun. Perusahaan juga menyarankan agar pengembang meninjau file seperti package.json untuk mengevaluasi ketergantungan baru, yang juga dianjurkan oleh Zak Cole.
“Apa yang membantu adalah mengunci ketergantungan Anda sehingga Anda tidak menarik hal-hal baru yang acak setiap kali Anda membangun,” katanya. Cole juga merekomendasikan untuk menggunakan alat yang memindai perilaku aneh atau pemelihara yang mencurigakan, serta memperhatikan paket yang mungkin tiba-tiba berpindah tangan atau diperbarui secara mendadak. “Jangan menjalankan alat penandatangan atau dompet di mesin yang sama yang Anda gunakan untuk membangun sesuatu,” ia menyimpulkan. “Anggaplah tidak ada yang aman kecuali Anda telah memeriksanya atau mengisolasinya.”