Dasar
Spot
Perdagangkan kripto dengan bebas
Perdagangan Margin
Perbesar keuntungan Anda dengan leverage
Konversi & Investasi Otomatis
0 Fees
Perdagangkan dalam ukuran berapa pun tanpa biaya dan tanpa slippage
ETF
Dapatkan eksposur ke posisi leverage dengan mudah
Perdagangan Pre-Market
Perdagangkan token baru sebelum listing
Futures
Akses ribuan kontrak perpetual
TradFi
Emas
Satu platform aset tradisional global
Opsi
Hot
Perdagangkan Opsi Vanilla ala Eropa
Akun Terpadu
Memaksimalkan efisiensi modal Anda
Perdagangan Demo
Pengantar tentang Perdagangan Futures
Bersiap untuk perdagangan futures Anda
Acara Futures
Gabung acara & dapatkan hadiah
Perdagangan Demo
Gunakan dana virtual untuk merasakan perdagangan bebas risiko
Peluncuran
CandyDrop
Koleksi permen untuk mendapatkan airdrop
Launchpool
Staking cepat, dapatkan token baru yang potensial
HODLer Airdrop
Pegang GT dan dapatkan airdrop besar secara gratis
Launchpad
Jadi yang pertama untuk proyek token besar berikutnya
Poin Alpha
Perdagangkan aset on-chain, raih airdrop
Poin Futures
Dapatkan poin futures dan klaim hadiah airdrop
Investasi
Simple Earn
Dapatkan bunga dengan token yang menganggur
Investasi Otomatis
Investasi otomatis secara teratur
Investasi Ganda
Keuntungan dari volatilitas pasar
Soft Staking
Dapatkan hadiah dengan staking fleksibel
Pinjaman Kripto
0 Fees
Menjaminkan satu kripto untuk meminjam kripto lainnya
Pusat Peminjaman
Hub Peminjaman Terpadu
Analisis Mendalam: Serangan Manipulasi NAV Pinjaman Kilat Morpho Vault USR Setelah Dekuementasi
Pada tanggal 22 Maret 2026, protokol Resolv mengalami kebocoran kunci pribadi, dan penyerang secara tidak sah mencetak 80 juta USR tanpa jaminan, menyebabkan USR jatuh dari $1 ke $0,025.
Gelombang dampak dari bencana ini tidak hanya dirasakan oleh pemegang USR, tetapi juga oleh sekelompok orang yang lebih cerdas, yang melakukan serangan manipulasi NAV vault yang rumit di Morpho.
Artikel ini akan secara bertahap menguraikan logika dasar dari serangan ini.
Sebelum membahas serangan, Anda harus memahami desain arsitektur Morpho, jika tidak, Anda sama sekali tidak akan mengerti.
Dunia Morpho dibagi menjadi dua lapisan:
Lapisan dasar:
Morpho Blue (juga disebut Morpho Core). Ini adalah protokol pinjaman yang sangat sederhana dan tidak dapat diupgrade. Filosofi desainnya adalah “tanpa izin” — siapa saja dapat membuat pasar pinjaman, siapa saja dapat menyetor, meminjam, dan melakukan likuidasi.
Setiap pasar ditentukan secara unik oleh lima parameter: aset pinjaman, aset jaminan, garis likuidasi (LLTV), alamat oracle, dan model suku bunga.
Antar pasar sepenuhnya terisolasi, jika satu pasar mengalami masalah, tidak akan mempengaruhi pasar lain.
Lapisan atas:
MetaMorpho Vault (kunci). Ini adalah vault standar ERC-4626, setara dengan “produk dana”.
Pengguna menyetor USDC ke vault, dan pengelola vault (Curator) bertanggung jawab untuk mendistribusikan dana ke berbagai pasar Morpho Blue untuk dipinjamkan dan mendapatkan bunga.
Pengguna memegang bagian vault (shares), yang nilainya bertambah seiring akumulasi bunga.
Rumus utama — nilai bersih per saham (NAV / Price Per Share): nilai bersih per saham = totalAssets / totalSupply
totalAssets adalah jumlah posisi pasokan vault di semua pasar (termasuk bagian yang telah dipinjamkan, karena itu adalah “piutang”). totalSupply adalah jumlah total bagian yang diterbitkan vault. Saat bunga terakumulasi, totalAssets meningkat tetapi totalSupply tetap, sehingga nilai bersih per saham naik — inilah prinsip keuntungan Anda.
Ini adalah poin kunci pertama dari serangan.
Di Morpho Blue, fungsi supply() memiliki parameter onBehalf. Tujuannya adalah memudahkan pihak ketiga untuk membayar atas nama pengguna — misalnya, kontrak strategi otomatis dapat menyetor dana untuk pengguna.
Namun, ini sepenuhnya tanpa izin: siapa saja dapat menentukan alamat apa pun sebagai onBehalf, termasuk alamat vault.
Dokumentasi resmi Morpho dengan tegas memperingatkan: “Warning: Anyone can supply on behalf of the vault so the call to updateWithdrawQueue that expects a market to be empty can be griefed by a front-run.”
Ketika Anda menyetor 10.000 USDC atas nama vault, posisi supply vault di pasar tersebut bertambah 10.000, dan totalAssets juga bertambah 10.000. Tetapi total bagian vault (totalSupply) tidak berubah — karena tidak ada yang menyetor dana baru melalui fungsi deposit() vault.
Hasilnya: nilai bersih per saham meningkat.
Secara normal, ini sama dengan menyumbang uang ke vault — Anda secara sukarela menambah keuntungan untuk semua pemegang saham, dan hanya bodoh yang melakukannya. Tetapi dalam kondisi tertentu, ini bisa dimanfaatkan.
Setelah USR kehilangan kaitannya, beberapa pengelola vault secara darurat mengatur Supply Cap pasar USR/USDC menjadi 0, yang berarti pengelola tidak bisa lagi menyetor dana ke pasar ini. Apakah masalahnya selesai?
Masalahnya adalah: Supply Cap adalah batasan di tingkat vault, bukan di tingkat Morpho Blue.
Pengelola vault hanya dapat mengontrol fungsi internal _supplyMorpho() dari vault sendiri.
Namun, supply(onBehalf=vault) berinteraksi langsung dengan kontrak utama Morpho Blue, sepenuhnya melewati logika vault: antrian supply, batas supply, pemeriksaan izin allocator, semuanya dilompati.
Sebagai analogi: pengelola vault menutup pintu depan (Cap=0), tetapi penyerang bisa langsung memasukkan uang melalui pintu belakang Morpho Core.
Ini adalah kondisi kunci kedua.
Oracle pasar USR/USDC diatur tetap 1:1. Artinya, berapapun harga USR di pasar eksternal, di dunia Morpho, 1 USR selalu sama dengan 1 USDC.
Mengapa pengelola vault menggunakan oracle tetap? Karena USR adalah “stablecoin”, biasanya harganya sangat stabil. Oracle tetap dapat menghindari “likuidasi palsu” akibat volatilitas harga jangka pendek.
Namun, ketika USR benar-benar kehilangan kaitannya, oracle tetap menjadi bencana — peminjam menggunakan USR yang tidak berharga sebagai jaminan untuk meminjam USDC dalam jumlah besar, dan protokol sama sekali tidak menyadarinya.
Sistem penanganan kredit macet di Morpho di sini benar-benar gagal — mekanisme refleksi real-time V1.0 dan mekanisme distribusi V1.1 mengasumsikan protokol mampu mengenali kredit macet.
Oracle yang dipasang tetap tidak bisa mengenali apa-apa.
Sekarang semua kondisi terpenuhi. Berikut adalah operasi atom yang dilakukan dalam satu transaksi:
Ini adalah pertanyaan yang paling sering diabaikan. Keuntungan serangan berasal dari “meningkatkan totalAssets secara artifisial lalu membaginya sesuai proporsi bagian yang dimiliki”. Jika penyerang tidak meminjam melalui flash loan, dia akan memegang 0% bagian — meskipun totalAssets dinaikkan, keuntungan akan sepenuhnya menjadi milik pemegang saham lain, dan dia tidak akan mendapatkan apa-apa.
Jumlah USDC tambahan sebesar 12.300 USDC yang diambil penyerang bukan muncul dari udara. Uang ini berasal dari likuiditas nyata di pasar lain yang sehat di vault.
Saat vault melakukan penebusan, dana diambil sesuai urutan antrian withdraw dari berbagai pasar. USDC di pasar USR sudah dipinjam habis, tidak bisa diambil lagi. Jadi, dana yang ditarik berasal dari pasar lain — misalnya, wETH/USDC, cbBTC/USDC, dan pasar lain yang beroperasi normal.
Serangan ini bukan hanya satu celah, tetapi gabungan dari tiga masalah desain:
Penutup
Filosofi desain minimalis Morpho — tanpa izin, tidak dapat diupgrade, dengan tata kelola minimal — biasanya menjadi keunggulan. Tetapi kejadian ini menunjukkan bahwa desain minimalis memiliki konsekuensi besar, yaitu menanggung beban tanggung jawab yang lebih besar di lapisan atas.
Protokol tidak melakukan verifikasi oracle, pengelola harus melakukannya sendiri. Protokol tidak membatasi supply(onBehalf), sehingga lapisan vault harus menambahkan perlindungan ekstra.
Bagi penyetor, “memilih Curator yang tepat” lebih penting daripada “memilih Morpho”. Protokol adalah alat, dan keamanan alat tergantung pada pengguna yang memanfaatkannya.