Risiko Kontrak Upgradeable dan Admin Key yang Terlalu Kuat
Kontrak upgradeable memberi admin kekuasaan mengubah aturan protokol kapan saja. Kenali red flag admin key terpusat dan cara membatasi eksposur.
Berdasarkan laporan yang dipublikasikan, protokol bridge Multichain kehilangan kepercayaan pengguna secara mendadak pada Juli 2023 setelah sekitar $126 juta dana berpindah dari kontraknya tanpa penjelasan resmi, bertepatan dengan kabar salah satu pendiri ditahan otoritas di Tiongkok. Dana itu bisa berpindah bukan karena bug di kode, melainkan karena kunci admin kontrak dipegang sangat terpusat — begitu orang yang memegang kunci itu tidak bisa dihubungi atau berada dalam tekanan, pengguna protokol tidak punya cara memverifikasi apa yang sedang terjadi pada dana mereka.
Bagaimana Risiko Admin Key Bekerja
Banyak protokol DeFi memakai pola “kontrak upgradeable” — logika kontrak disimpan terpisah dari data, lewat proxy contract, sehingga tim bisa memperbaiki bug atau menambah fitur tanpa memindahkan seluruh dana pengguna ke kontrak baru. Ini sebenarnya praktik yang wajar dan sering perlu untuk protokol yang masih berkembang. Masalahnya muncul dari siapa yang memegang kunci untuk melakukan upgrade itu, dan seberapa besar kekuasaan yang mereka pegang tanpa pengawasan.
Tiga pola yang membuat admin key jadi titik risiko:
1. Single EOA sebagai admin, bukan multisig. Kalau hanya satu wallet pribadi yang bisa meng-upgrade kontrak, maka satu private key yang bocor, satu individu yang berubah niat, atau satu otoritas yang menahan pemegang key sudah cukup untuk mengubah nasib seluruh dana yang tersimpan di protokol.
2. Tidak ada timelock antara perintah upgrade dan eksekusinya. Tanpa jeda waktu, upgrade berbahaya bisa langsung aktif begitu dieksekusi — komunitas tidak sempat mendeteksi dan bereaksi sebelum dana berpindah.
3. Kekuasaan upgrade mencakup fungsi yang seharusnya tidak bisa diubah, misalnya kemampuan mengubah alamat penerima fee, mengganti oracle harga, atau langsung memindahkan dana dari treasury. Semakin luas cakupan yang bisa diubah admin, semakin besar potensi kerugian kalau kunci itu disalahgunakan atau dikompromikan.
Perlu dicatat, ini berbeda dari governance attack yang dibahas di risiko governance attack pada dana pengguna — governance attack memanfaatkan mekanisme voting komunitas, sedangkan risiko admin key murni soal siapa yang punya kendali teknis langsung atas kontrak, dengan atau tanpa proses voting.
Perlu juga dibedakan antara dua situasi yang sering tertukar: admin key yang disalahgunakan secara sengaja (insider risk atau rugpull terselubung), dan admin key yang dikompromikan pihak luar lewat phishing, malware, atau social engineering terhadap pemegang kunci. Keduanya sama-sama berakar dari kekuasaan upgrade yang terlalu terpusat, meski penyebabnya berbeda — dan keduanya bisa dicegah dengan pendekatan mitigasi yang sama: mendistribusikan kekuasaan itu ke lebih banyak pihak independen.
Red Flag yang Bisa Anda Cek
- Admin/owner kontrak adalah wallet tunggal (EOA), bukan multisig — cek langsung di block explorer.
- Multisig ada, tapi jumlah signer sedikit (misalnya 2-of-3) dan identitas signer tidak transparan.
- Tidak ada timelock, atau timelock kurang dari 24–48 jam untuk perubahan non-darurat.
- Riwayat upgrade yang sering terjadi tanpa pengumuman jelas ke komunitas sebelum eksekusi.
- Fungsi admin mencakup kemampuan menarik dana pengguna secara langsung, bukan hanya mengubah parameter teknis.
- Tim tidak transparan soal siapa individu di balik multisig, terutama untuk protokol dengan TVL besar.
- Alamat kontrak proxy dan implementation berbeda dari yang tercantum di dokumentasi resmi — ini bisa jadi tanda upgrade yang dilakukan diam-diam tanpa pengumuman ke komunitas.
Langkah Mitigasi
- Cek pemegang admin key lewat block explorer sebelum deposit dalam jumlah besar — cari fungsi “owner”, “admin”, atau “upgradeTo” di tab Contract.
- Prioritaskan protokol dengan multisig yang punya cukup signer (idealnya 4-of-7 atau lebih) dan identitas signer yang bisa diverifikasi, bukan anonim seluruhnya.
- Verifikasi ada timelock yang berjalan, dan cek riwayatnya di block explorer — apakah timelock benar-benar dipatuhi atau pernah di-bypass untuk kasus “darurat.”
- Batasi eksposur dana ke protokol yang baru saja melakukan upgrade besar, tunggu beberapa waktu untuk melihat apakah ada masalah yang muncul pasca-upgrade.
- Jangan samakan “audit lulus” dengan “admin key aman” — audit memeriksa kode, bukan siapa yang memegang kunci untuk menggantinya nanti, seperti dibahas di audit bukan jaminan protokol aman.
- Diversifikasi ke beberapa protokol dengan struktur governance dan admin key berbeda, sehingga satu titik kegagalan sentralisasi tidak menghabiskan seluruh dana DeFi Anda sekaligus.
- Cek apakah protokol pernah mempublikasikan hasil audit terhadap proses governance dan manajemen kunci mereka, bukan hanya audit kode kontrak inti — sebagian firma keamanan menawarkan review khusus untuk operational security semacam ini.
Kalau Sudah Terlanjur
Kalau dana Anda tersangkut di protokol yang admin key-nya tiba-tiba tidak responsif, atau dana berpindah tanpa penjelasan, langkah pertama adalah mendokumentasikan seluruh transaksi terkait (tangkapan layar, hash transaksi, alamat kontrak) sebagai bukti, lalu mengikuti kanal komunitas resmi untuk info terbaru — bukan pesan pribadi dari pihak yang mengaku bisa membantu recovery. Kalau memungkinkan, cek juga apakah ada komunitas independen (bukan channel resmi tim) yang sedang mengumpulkan data korban dan melacak pergerakan dana on-chain — informasi ini kadang lebih cepat dan transparan dibanding pengumuman resmi yang tertunda. Realistisnya, kalau admin key sudah disalahgunakan untuk memindahkan dana ke luar kontrak, kemungkinan pemulihan penuh sangat kecil tanpa kerja sama pihak yang memegang key tersebut. Kalau Anda mengalami situasi ini, kena rug pull, apa yang bisa dilakukan membahas langkah yang lebih realistis untuk diambil.
⚠️ Disclaimer: Artikel ini bersifat edukatif, bukan saran keuangan atau investasi personal.
Elite Vault WhaleX: join membership via USDC di Base Network — akses penuh tanpa proses bank tradisional.
Lihat Elite Vault →Pertanyaan Umum
Apa itu kontrak upgradeable dan kenapa berisiko?
Kontrak upgradeable adalah pola desain smart contract yang memisahkan logika (bisa diganti) dari penyimpanan data, lewat proxy contract. Ini berisiko karena pihak yang memegang hak upgrade (admin key) bisa mengganti logika kontrak kapan saja — termasuk secara teori mengganti dengan kode berbahaya yang menguras dana — tanpa perlu mengeksploitasi bug apa pun.
Bagaimana cara tahu siapa yang memegang admin key sebuah protokol?
Cek kontrak di block explorer (Etherscan/Arbiscan/BscScan), cari fungsi seperti 'admin', 'owner', atau 'upgradeTo', lalu lihat address yang tercatat sebagai pemegangnya. Kalau address itu adalah multisig, Anda bisa cek jumlah signer dan siapa saja mereka lewat platform seperti Safe. Kalau address itu wallet tunggal (EOA), ini tanda risiko sentralisasi tinggi.