Analisis Mendalam: Serangan Manipulasi NAV Pinjaman Kilat Morpho Setelah USR Terlepas

robot
Pembuatan abstrak sedang berlangsung

Menulis artikel: Spinach Spinach

Pada 22 Maret 2026, protokol Resolv mengalami kebocoran kunci pribadi, dan penyerang secara tidak sah mencetak 80 juta USR tanpa jaminan, menyebabkan harga USR jatuh dari $1 menjadi $0,025.

Gelombang dampak dari bencana ini tidak hanya dirasakan oleh pemegang USR, sekelompok orang yang lebih cerdas melakukan serangan manipulasi NAV vault yang rumit di Morpho.

Artikel ini akan secara bertahap menguraikan logika dasar dari serangan ini.

  1. Memahami arsitektur dua lapis Morpho

Sebelum membahas serangan, Anda harus memahami desain arsitektur Morpho, jika tidak, Anda tidak akan mengerti apa-apa di kemudian hari.

Dunia Morpho terbagi menjadi dua lapis:

Lapisan dasar:

Morpho Blue (juga disebut Morpho Core). Ini adalah protokol pinjaman yang sangat sederhana dan tidak dapat diperbarui. Filosofi desainnya adalah “tanpa izin” — siapa saja dapat membuat pasar pinjaman, siapa saja dapat menyetor, meminjam, dan melakukan likuidasi.

Setiap pasar ditentukan oleh lima parameter unik: aset pinjaman, aset jaminan, garis likuidasi (LLTV), alamat oracle, dan model suku bunga.

Antar pasar sepenuhnya terisolasi, satu masalah di satu pasar 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 mendistribusikan dana ke berbagai pasar Morpho Blue untuk meminjamkan dan mendapatkan bunga.

Pengguna memegang bagian vault (shares), yang nilainya bertambah seiring akumulasi bunga.

Rumus inti — Nilai Bersih per Saham (NAV / Price Per Share): Nilai Bersih per Saham = totalAssets / totalSupply

totalAssets adalah total posisi pasokan vault di semua pasar (termasuk bagian yang telah dipinjamkan, karena itu adalah “piutang”). totalSupply adalah jumlah bagian vault yang diterbitkan. 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 atas nama vault

Ini adalah poin kunci pertama dari serangan.

Di Morpho Blue, fungsi supply() memiliki parameter onBehalf. Desain ini awalnya dimaksudkan untuk memudahkan pihak ketiga melakukan pembayaran atas nama — misalnya, kontrak strategi otomatis dapat menyetor uang 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 ini 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 saja dengan menyumbang uang ke vault — Anda secara sukarela menambah keuntungan bagi semua pemegang saham, yang bodoh melakukannya. Tapi 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, artinya mereka tidak bisa lagi menyetor uang ke pasar ini. Apakah masalahnya selesai?

Masalahnya adalah: Supply Cap adalah batasan di tingkat vault, bukan di tingkat Morpho Blue.

Pengelola vault hanya bisa mengontrol fungsi internal _supplyMorpho() dari vault itu sendiri.

Namun, supply(onBehalf=vault) langsung berinteraksi dengan kontrak utama Morpho Blue, melewati semua logika di tingkat vault: antrian supply, cap supply, pemeriksaan izin allocator, semuanya dilewati.

Bayangkan seperti ini: pengelola vault menutup pintu depan (Cap=0), tetapi penyerang masuk melalui pintu belakang Morpho Core dan langsung memasukkan uang.

  1. Oracle yang dipasang tetap — perlindungan terhadap kredit macet

Ini adalah kondisi kunci kedua.

Pasar USR/USDC menggunakan oracle yang diatur tetap 1:1. Artinya, tidak peduli berapa 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 harga tidak banyak berfluktuasi. Oracle tetap dapat menghindari “pembayaran palsu” saat likuiditas sementara rendah.

Namun, saat USR benar-benar kehilangan kaitannya, oracle tetap ini menjadi bencana — peminjam meminjam USDC dengan jaminan USR yang tidak berharga, dan protokol sama sekali tidak menyadarinya.

Sistem penanganan kredit macet Morpho menjadi tidak efektif di sini — mekanisme refleksi real-time V1.0 dan mekanisme distribusi V1.1 mengandalkan protokol mampu mengenali kredit macet.

Oracle yang dipasang tetap ini membuat semuanya tidak terdeteksi.

  1. Alur serangan — lima langkah siklus lengkap

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

[Di sini, artikel akan menjelaskan langkah-langkah spesifik dari serangan, tetapi karena teks asli tidak menyertakan detail langkah-langkah tersebut, saya tidak menerjemahkan bagian ini secara spesifik.]

  1. Mengapa harus menggunakan flash loan?

Ini adalah pertanyaan yang paling sering diabaikan. Keuntungan dari serangan ini berasal dari “meningkatkan totalAssets secara virtual lalu membaginya sesuai proporsi saham”. Jika penyerang tidak menggunakan flash loan, dia akan memegang 0% bagian — meskipun totalAssets meningkat, keuntungan akan sepenuhnya dinikmati oleh pemegang saham lain, dan dia tidak akan mendapatkan apa-apa.

  1. Siapa yang dirugikan?

Uang tambahan sebesar 12.300 USDC yang diambil penyerang bukan muncul begitu saja. Uang ini berasal dari likuiditas nyata di pasar lain yang sehat di vault.

Saat vault melakukan penebusan (redeem), dana diambil sesuai urutan antrian withdraw dari berbagai pasar. USDC di pasar USR sudah dipinjamkan habis, sehingga tidak bisa diambil. Dana penebusan 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:

[Di sini, artikel akan menjelaskan secara rinci, tetapi karena teks asli tidak menyertakan detail, saya tidak menerjemahkan bagian ini.]

Penutup

Filosofi desain minimalis Morpho — tanpa izin, tidak dapat diperbarui, dengan tata kelola minimal — biasanya adalah keunggulan. Tapi kejadian ini menunjukkan bahwa desain minimalis memiliki risiko besar, karena menempatkan tanggung jawab lebih besar pada pihak yang mengelola 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 mengoperasikannya.

MORPHO-5,63%
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