Penulis: The Defiant
Diterjemahkan oleh Deep潮 TechFlow
Panduan DeepCha: Artikel ini bukan hanya membahas ulang kerentanan Resolv, tetapi membahas hal yang lebih mengkhawatirkan: pola serangan yang sama—oracle yang dihardcode menetapkan harga stablecoin yang terlepas dari pegnya menjadi 1 dolar—telah terjadi setidaknya empat kali dalam 14 bulan terakhir. Masalahnya bukan pada kerentanan teknis, tetapi pada struktur insentif model curator itu sendiri: risiko ditanggung oleh deposan, sementara keuntungan diambil oleh curator.
Seluruh teks berikut:
Pada sebuah pagi Minggu yang tenang, seseorang mengubah 100.000 dolar menjadi 25 juta dolar dalam waktu sekitar 17 menit.
Target adalah protokol stablecoin berbasis pendapatan Resolv. Sebelum kontrak Resolv dihentikan, stablecoin yang terikat dolar USR telah jatuh ke beberapa sen. Hingga penulisan artikel ini, USR masih sangat lepas dari pegangannya, diperdagangkan sekitar $0,25, dengan penurunan lebih dari 70% minggu ini.
Dampaknya jauh melampaui Resolv itu sendiri. Fluid/Instadapp menyerap lebih dari $10 juta kredit macet dalam satu hari, sekaligus mengalami arus keluar bersih lebih dari $3 miliar, mencatat arus keluar harian terbesar dalam sejarah mereka. Lima belas vault Morpho terdampak. Euler, Venus, Lista DAO, dan Inverse Finance semuanya sementara menghentikan pasar terkait USR.

Mekanisme yang menyebabkan penyebaran kerugian akibat celah ini—menghargai stablecoin yang terlepas dari pegannya sebesar 1 dolar di pasar pinjaman—bukanlah hal baru. Dalam 14 bulan terakhir, kejadian semacam ini setidaknya telah terjadi empat kali.
Bagaimana kerja kerentanan
Pencetakan USR mengikuti proses dua langkah di luar rantai: pengguna menyetor USDC melalui fungsi `requestSwap`, lalu kunci tanda tangan di luar rantai dengan hak istimewa `SERVICE_ROLE` mengonfirmasi jumlah USR yang diterbitkan melalui `completeSwap`. Kontrak memiliki batas minimum output, tetapi tidak ada batas maksimum. Apa pun yang ditandatangani oleh pemegang kunci, kontrak akan mengeksekusinya.
Penyerang memperoleh akses ke kunci tersebut melalui layanan manajemen kunci AWS Resolv. Mereka mengirimkan dua setoran USDC, total sekitar $100.000 hingga $200.000, lalu memanfaatkan kunci yang dicuri untuk mengotorisasi pencetakan 80 juta USR sebagai imbalannya. Data on-chain menunjukkan dua transaksi tersebut masing-masing sebesar 50 juta USR dan 30 juta USR, yang semuanya diselesaikan dalam hitungan menit.
"Resolv USR vulnerability bukanlah bug—tetapi fitur yang berjalan sesuai desain. Itulah masalahnya," kata analis on-chain Vadim (@zacodil).
SERVICE_ROLE adalah alamat akun eksternal biasa, bukan multisig. Kunci administrator dilindungi oleh multisig, tetapi kunci pencetakan tidak.
"Resolv telah menjalani 18 audit," kata Vadim, "salah satu temuan yang diberi nama langsung 'Missing Upper Bound'."
Penyerang keluar secara sistematis: pertama, mengonversi USR yang dicetak menjadi wstUSR (versi terkunci yang di-staking) untuk mengurangi dampak pasar, lalu menukarnya menjadi ETH melalui Curve, Uniswap, dan KyberSwap. Dompet penyerang memegang sekitar 11.400 ETH (sekitar $24 juta). Kolateral ETH dan BTC yang mendukung seluruh sistem tetap utuh saat stablecoin runtuh.
How does transmission spread?
Vulnerabilitas Resolv sebenarnya merupakan dua kejadian yang terjadi secara bertumpukan. Yang pertama adalah kerentanan pencetakan uang, dan yang kedua adalah kegagalan pasar pinjaman berantai.
Ketika USR dan wstUSR runtuh, setiap pasar pinjam-meminjam yang menerima keduanya sebagai jaminan menghadapi masalah yang sama: oracle mereka masih mematok harga wstUSR di sekitar 1 dolar.
Founder of risk analysis firm Chaos Labs, Omer Goldberg, documented this mechanism. His key finding was: "The oracle is hard-coded and thus never repriced. wstUSR is marked at $1.13, while trading at approximately $0.63 on the secondary market."
Trader membeli wstUSR di pasar terbuka dengan harga rendah, lalu menggunakan wstUSR sebagai jaminan untuk meminjam USDC dengan harga oracle sebesar $1,13 di Morpho atau Fluid, sebelum keluar.
Di Fluid, tim telah mengambil pinjaman jangka pendek untuk menutupi 100% kerugian macet dan berjanji untuk mengganti seluruh kerugian kepada setiap pengguna. Di Morpho, co-founder Paul Frambot menyatakan bahwa sekitar 15 vault memiliki eksposur besar, semuanya menggunakan strategi jaminan berisiko tinggi dan berjangka panjang.
Kurator terkenal Gauntlet menyatakan, "Paparan terhadap beberapa rekening berpenghasilan tinggi terbatas."
Namun, D2 Finance langsung membantah pernyataan ini, merilis data on-chain yang menunjukkan bahwa "USDC Core Vault" unggulan Gauntlet mengalokasikan $4,95 juta ke pasar wstETH/USDC. Goldberg kemudian menyatakan bahwa vault Gauntlet menyumbang 98% dari likuiditas pemberi pinjaman di pasar tersebut.
Frambot dalam tanggapan tertulis kepada The Defiant menyatakan: "Kami terus meneliti cara yang lebih komprehensif untuk menggambarkan berbagai risiko. Namun, kami tidak percaya bahwa masalah inti di sini adalah kurangnya label."
Frambot menambahkan: "Morpho adalah oracle-agnostic, yang berarti memungkinkan curator untuk memilih oracle mana pun yang mereka anggap paling cocok untuk pasar tertentu. Morpho adalah infrastruktur terbuka dan tanpa izin, yang dirancang untuk menyerahkan manajemen risiko kepada curator."
"Sulit untuk memaksakan pagar 'benar' yang objektif di semua skenario," kata Frambot, "menerapkan batasan pada tingkat protokol juga berisiko menghambat penerapan strategi legal."
Meskipun protokol dasar menyerahkan manajemen risiko kepada kurator, sebagian pihak di industri percaya bahwa kurator tidak memenuhi tanggung jawabnya.
"Saya berpendapat desain industri curator memiliki kecacatan, karena sama sekali tidak ada kurasi nyata yang terjadi," kata Marc Zeller di X.
Pada saat pelaporan, Resolv, Gauntlet, dan Fluid belum menanggapi permintaan komentar dari The Defiant.
Pola kegagalan yang berulang
Ini bukan serangan baru. Pada Januari 2025, USD0++ dari Usual Protocol secara hard-coded ditetapkan senilai 1 dolar oleh curator MEV Capital di vault Morpho. Usual kemudian tiba-tiba menyesuaikan harga tebusan menjadi 0,87 dolar tanpa peringatan apa pun, menyebabkan pemberi pinjaman terkunci di vault MEV Capital yang tingkat pemanfaatannya melonjak hingga 100%.
Pada November 2025, xUSD dari Stream Finance runtuh setelah kurator mengalihkan deposit USDC ke dalam siklus leverage yang didukung oleh stablecoin sintetis ini; ketika oracle menolak memperbarui, aset senilai perkiraan $285 juta hingga $700 juta di Morpho, Euler, dan Silo berisiko. Moonwell mengalami dua kegagalan oracle berturut-turut pada Oktober dan November 2025, yang mengakibatkan kerugian lebih dari $5 juta.
Apa artinya untuk model curator ini
Arsitektur Morpho menyerahkan semua keputusan risiko kepada pihak ketiga "curator", yang bertanggung jawab membangun vault, memilih jaminan, menetapkan rasio nilai pinjaman, dan memilih oracle. Teori ini berpendapat bahwa lembaga profesional memiliki keahlian yang lebih mendalam, dan persaingan dapat menghasilkan manajemen risiko yang lebih baik, sementara protokol bertugas menjalankan aturan.
Namun, kurator menghasilkan biaya berdasarkan imbal hasil yang dihasilkan, yang menciptakan insentif untuk menerima jaminan dengan risiko lebih tinggi dan imbal hasil lebih tinggi (seperti stablecoin berbasis imbal hasil). Masalahnya adalah, ketika stablecoin ini lepas dari pegangannya, kerugian ditanggung oleh deposan, bukan kurator. Dalam insiden Resolv, beberapa robot otomatis kurator terus mengalirkan dana ke rekening yang terdampak selama beberapa jam setelah kerentanan terjadi, memperdalam kerugian.
Alasan penerapan oracle hard-coded untuk stablecoin berbasis pendapatan adalah untuk mencegah pelunasan yang tidak perlu akibat fluktuasi jangka pendek. Namun, perlindungan ini hanya efektif jika stablecoin tetap stabil.
Lembaga analisis on-chain Chainalysis menyatakan dalam tinjauan pasca-insiden bahwa diperlukan kemampuan deteksi on-chain secara real-time.
"Kontrak pintar di blockchain berjalan sepenuhnya normal. Masalahnya jelas terletak pada desain sistem yang lebih luas dan infrastruktur di luar rantai," kata lembaga analisis tersebut.
