MetaMask mengungkap sebuah insiden keamanan infrastruktur dasar yang berkaitan dengan penjaminan (staking) Ethereum. Namun kali ini yang mengalami masalah bukanlah dompet MetaMask yang biasa digunakan oleh pengguna sehari-hari, melainkan infrastruktur dasar para validator yang berada di balik layanan staking Ethereum.

Pada 30 September, MetaMask mengonfirmasi bahwa perusahaan sedang menangani insiden keamanan yang berkelanjutan yang memengaruhi “sebagian infrastruktur”. Saat ini, MetaMask telah bekerja sama dengan mitra eksternal dan konsultan keamanan siber untuk melakukan penyelidikan bersama. Pihak resmi juga menekankan bahwa hingga saat ini tidak ditemukan adanya ancaman langsung terhadap dompet MetaMask; namun, berdasarkan pertimbangan manajemen risiko, MetaMask telah mulai keluar dari layanan staking non-kustodian miliknya yang terdampak terhadap validator Ethereum tersebut.

Lido kemudian mengonfirmasi bahwa MetaMask Staking, yang sebelumnya dikenal sebagai Consensys Staking, telah mulai mengeluarkan validator yang dioperasikannya dalam protokol Lido. Validator terdampak terakhir diperkirakan menyelesaikan proses keluar sebelum 7 Oktober. Namun, karena ETH selanjutnya masih harus melalui proses penarikan, mengantre kembali, dan mengaktifkan ulang validator, pemulihan penuh staking bisa memakan waktu hingga hampir 45 hari.

Dompet MetaMask tidak bermasalah, jadi mengapa semua validator tetap harus keluar?

Intinya, kunci privat dompet dan kunci penandatanganan validator adalah dua hal yang berbeda.

Dompet MetaMask adalah alat kustodi mandiri, yang berarti pengguna mengendalikan sendiri kunci privat dompet mereka. Namun, layanan staking MetaMask perlu mengoperasikan node validator Ethereum untuk pengguna, termasuk server node, sistem penandatanganan validator, serta infrastruktur cloud dan deployment terkait.

Dokumentasi resmi MetaMask menjelaskan bahwa setelah pengguna menyetor 32 ETH untuk membuat validator, infrastruktur staking mereka akan menangani operasi node dan tugas validasi sehari-hari. Jadi, meskipun penyerang sama sekali tidak menyentuh kunci privat dompet pengguna MetaMask biasa, selama MetaMask belum dapat memastikan bahwa kunci penandatanganan validator, sistem penandatanganan jarak jauh, akun cloud, lingkungan deployment, atau sistem produksi lainnya tidak pernah diakses, validator yang ada tidak bisa dibiarkan terus beroperasi dengan aman. Itulah sebabnya “dompet MetaMask tidak diretas” dan “validator harus keluar” bukanlah dua hal yang bertentangan.

Yang benar-benar dikhawatirkan bukan ETH dicuri secara langsung, melainkan terkena penalti slashing

Validator Ethereum memiliki dua jenis kunci yang sangat penting.

  1. Jenis pertama adalah kredensial penarikan (withdrawal credentials), yang menentukan ke alamat mana ETH yang di-staking nantinya dapat ditarik.

  2. Jenis kedua adalah kunci penandatanganan validator (validator signing key), yang digunakan untuk menjalankan tugas validasi sehari-hari, seperti pengesahan blok dan pengusulan blok.

MetaMask secara khusus menegaskan bahwa layanan staking nonkustodialnya tidak menguasai kunci penarikan pelanggan. Karena itu, meskipun infrastruktur validator diretas, bukan berarti penyerang bisa langsung menarik ETH yang di-staking oleh pengguna.

Namun, jika kunci penandatanganan validator bocor, risikonya tetap besar. Misalnya, jika penyerang menggunakan kunci validator yang sama di mesin lain dan menandatangani data yang bertentangan pada saat yang sama dengan node yang sah, hal itu dapat memicu penalti slashing Ethereum. Jika slashing terjadi, ETH yang di-staking oleh validator benar-benar bisa mengalami kerugian. Selama tidak bisa sepenuhnya dipastikan bahwa kunci penandatanganan atau sistem terkait tidak pernah diakses, langkah paling aman adalah mengeluarkan validator yang bersangkutan terlebih dahulu.

Mengapa tidak bisa langsung mengganti kunci saja?

Inilah bagian dari insiden kali ini yang paling mudah membuat orang bingung.

Jika situs web biasa mendapati bahwa kunci API atau kata sandi mungkin telah bocor, biasanya mereka bisa langsung: mencabut kunci lama → mengganti dengan kunci baru → melanjutkan operasi.

Namun, validator Ethereum tidak sesederhana itu. Setelah validator dibuat, kunci penandatanganannya tidak dapat diganti kapan saja seperti kata sandi biasa sambil tetap mempertahankan identitas validator yang sama. Untuk benar-benar menyingkirkan risiko bahwa “kunci penandatanganan lama mungkin telah disalin”, cara yang paling tuntas biasanya adalah: “keluarkan validator lama → tunggu hingga ETH bisa ditarik → bangun kembali infrastruktur yang bersih → buat kunci validator baru → staking kembali ETH”

Itulah sebabnya satu insiden keamanan infrastruktur dapat berkembang menjadi keluarnya validator secara massal, bukan sekadar memulai ulang server.

Mengapa semua validator harus keluar sekaligus, bukan hanya sebagian?

Pasalnya, saat insiden keamanan siber baru terjadi, hal tersulit untuk dipastikan biasanya bukanlah “apakah terjadi insiden”, melainkan sistem mana saja yang sempat diakses penyerang.

MetaMask belum mengungkapkan penyebab utama secara lengkap dan belum secara terbuka mengonfirmasi bahwa kunci penandatanganan validator telah dicuri. Namun, jika kelompok validator yang sama menggunakan akun cloud, proses deployment, layanan penandatanganan jarak jauh, atau sistem manajemen kunci yang sama, akan sulit menentukan secara tepat kunci mana yang “pasti aman” dan mana yang mungkin terdampak sebelum penyelidikan selesai.

Karena itu, bagi penyedia layanan staking profesional, pendekatan yang paling aman biasanya adalah mengeluarkan terlebih dahulu semua validator yang berada dalam cakupan infrastruktur terdampak, lalu membuatnya kembali. Perlu diperhatikan bahwa istilah yang digunakan MetaMask secara resmi adalah “validator terdampak”; MetaMask tidak secara jelas menyatakan bahwa semua validator staking MetaMask di seluruh dunia telah dikeluarkan.

Kalau proses keluarnya selesai pada 7 Oktober, mengapa masih perlu 45 hari?

Karena masih ada banyak langkah antara “mengeluarkan validator” dan “mulai mendapatkan imbalan staking lagi”.

Gambaran umum proses lengkapnya adalah sebagai berikut:

  • Validator mengajukan permohonan keluar

  • → Menunggu dalam antrean keluar

  • → Resmi keluar

  • → ETH menjadi bisa ditarik

  • → Dana kembali ke pool staking

  • → Mengantre untuk membuat validator baru

  • → Validator baru diaktifkan

  • → Mulai menghasilkan imbalan staking lagi

Lido menyatakan bahwa validator terdampak terakhir diperkirakan menyelesaikan proses keluar sebelum 7 Oktober. Namun, setelah ETH kembali masuk ke sistem staking, ETH masih harus menghadapi antrean masuk validator Ethereum yang saat ini cukup padat. Karena itu, keseluruhan siklusnya bisa memakan waktu hingga hampir 45 hari.

Per 1 Oktober, beaconcha.in menunjukkan bahwa saat ini Ethereum memiliki sekitar:

  • 1,578 juta ETH menunggu untuk masuk ke staking, dengan perkiraan waktu antrean sekitar 27,4 hari;

  • 576 ribu ETH menunggu untuk keluar, dengan perkiraan waktu sekitar 10 hari.

Dari saat validator mulai mengantre untuk keluar hingga ETH secara resmi bisa ditarik, keseluruhan proses diperkirakan memakan waktu sekitar 11 hari. Statistik real-time lainnya menunjukkan bahwa saat ini sekitar 43,7 juta ETH di Ethereum sedang di-staking, setara dengan sekitar 35,8% dari total suplai, dengan imbal hasil tahunan staking sekitar 2,64%.

Selama validator terdampak keluar dan dibuat kembali, memang akan ada periode ketika mereka tidak dapat menghasilkan imbalan staking secara penuh seperti biasa. Karena itu, Lido secara keseluruhan mungkin mengalami penurunan imbal hasil dalam tingkat tertentu.

Jika validator berhenti beroperasi sebelum resmi keluar, selama periode itu juga bisa terjadi sejumlah kecil penalti karena offline (downtime penalty). Namun, ini bukan berarti ETH semua pengguna MetaMask berhenti menghasilkan imbal hasil selama 45 hari, dan bukan berarti semua pemegang stETH berhenti mendapatkan imbal hasil.

Lido adalah pool staking bersama, dengan dana yang tersebar di antara beberapa operator node berbeda. MetaMask Staking hanyalah salah satu operator node di dalamnya. Karena itu, proses keluar kali ini terutama berdampak pada validator yang ditangani operator tersebut, bukan seluruh sistem Lido.

Lido telah menyatakan bahwa pemegang stETH tidak perlu melakukan tindakan tambahan apa pun. Saat ini, total nilai terkunci Lido di Ethereum masih sekitar 26,5 miliar dolar AS.

Lido memiliki mekanisme penyangga untuk mengurangi dampak keluarnya satu operator

Lido menyatakan bahwa protokolnya beroperasi dengan membagi tugas di antara beberapa operator node. Karena itu, keluarnya satu operator dari sebagian validator tidak serta-merta membuat seluruh sistem staking berhenti beroperasi. Lido juga menyiapkan cadangan sementara lebih dari 6.750 stETH untuk mengurangi dampak keluarnya validator kali ini terhadap keseluruhan sistem.

Inilah perbedaan terbesar antara staking likuid dan menjalankan validator sendiri. Jika seseorang hanya memiliki satu validator 32 ETH, begitu validator itu keluar, 32 ETH tersebut pada dasarnya tidak akan menghasilkan imbalan validator normal hingga masuk kembali. Namun, Lido membagikan ETH dalam jumlah besar kepada beberapa operator berbeda. Karena itu, ketika satu operator untuk sementara menarik diri, dampaknya ditanggung bersama oleh seluruh pool staking.

Per 1 Oktober, harga ETH sekitar 2.685 dolar AS dan pasar tidak menunjukkan kepanikan yang berarti akibat insiden ini. Saat ini juga tidak ada indikasi bahwa stETH mengalami penyimpangan harga yang signifikan akibat insiden ini.

Namun, tingkat risiko yang sebenarnya masih belum sepenuhnya diketahui karena MetaMask belum mengungkapkan penyebab utama insiden secara lengkap.

 

Artikel "Insiden keamanan infrastruktur MetaMask! Validator Lido segera keluar, staking ulang ETH bisa memakan waktu hingga 45 hari" pertama kali diterbitkan di (BlockTempo).