Analisis Mendalam: Serangan Manipulasi NAV Pinjaman Kilat Morpho Vault USR Setelah Dekuementasi

robot
Pembuatan abstrak sedang berlangsung

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.

  1. Pertama, pahami arsitektur dua lapisan Morpho

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.

  1. supply(onBehalf) — Siapa saja bisa menyetor dana atas nama vault

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.

  1. Supply Cap = 0 ≠ Aman

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.

  1. Oracle yang dipasang tetap — perlindungan terhadap kredit macet

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.

  1. Proses serangan — siklus lengkap lima langkah

Sekarang semua kondisi terpenuhi. Berikut adalah operasi atom yang dilakukan dalam satu transaksi:

  1. Mengapa harus menggunakan flash loan?

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.

  1. Siapa yang dirugikan?

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.

  1. Efek gabungan dari tiga celah

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.

MORPHO-8,16%
USDC0,03%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
Tambahkan komentar
Tambahkan komentar
Tidak ada komentar
  • Sematkan