Автор: The Defiant
Переклад: Shenchao TechFlow
Огляд Shenchao: Ця стаття — не просто аналіз уразливості Resolv, а розгляд чогось більш тривожного: той самий шаблон атаки — жорстко закодований оракул, що визначає ціну дезавтованої стабільної монети на 1 долар США — за останні 14 місяців вже відбувся щонайменше чотири рази. Проблема не в технічній уразливості, а в дефектній структурі стимулів моделі curator: ризики несуть депозиторі, а прибуток отримує curator.
Повний текст:
У тиху недільну ранок хтось перетворив 100 000 доларів США на 25 мільйонів доларів США за 17 хвилин.
Ціль — дохідний стабільний протокол Resolv. До призупинення контракту Resolv його доларовий стабільний кошелек USR впав до кількох центів. На момент написання цієї статті USR залишається серйозно від’єднаним від прив’язки і торгуються приблизно за 0,25 долара, що становить зниження більше ніж на 70% за тиждень.
Вплив хвилі поширився далеко за межі Resolv. Fluid/Instadapp за один день поглинули більше 10 мільйонів доларів США просрочених боргів та зазнали чистого виведення понад 300 мільйонів доларів США, що стало найбільшим одноденним виведенням в історії проекту. Під впливом опинилися 15 золотих скринь Morpho. Euler, Venus, Lista DAO та Inverse Finance послідовно призупинили ринки, пов’язані з USR.

Механізм, що призвів до поширення втрат через цю вразливість — оцінка відмінених стабільних монет на ринку позик за 1 доларом США — не є новим. За останні 14 місяців таке відбувалося щонайменше чотири рази.
Як працюють вразливості
Випуск USR відбувається за допомогою двохкрокового оффчейн-процесу: користувачі вносять USDC за допомогою функції `requestSwap`, а потім оффчейн-підписний ключ із привілеями `SERVICE_ROLE` підтверджує кількість випущених USR за допомогою `completeSwap`. У контракті встановлено мінімальний ліміт виводу, але немає максимального. Що підписує власник ключа, те й виконує контракт.
Зловмисники отримали доступ до ключа за допомогою служби керування ключами AWS Resolv. Вони внесли два депозити USDC на загальну суму приблизно 100 000–200 000 доларів США, а потім за допомогою вкраденого ключа авторизували випуск 80 мільйонів USR як відповідь. Дані ланцюга показують, що дві транзакції становили 50 мільйонів USR і 30 мільйонів USR, обидві з яких були випущені протягом кількох хвилин.
Вразливість Resolv USR — це не баг, а функція, що працює за проектом. Ось у чому проблема, — стверджує ончейн-аналітик Vadim (@zacodil).
SERVICE_ROLE — це звичайна зовнішня адреса облікового запису, а не мультипідпис. Ключі адміністратора захищені мультипідписом, але ключі для чеканки — ні.
«Resolv пройшов 18 аудитів», — сказав Вадим, — «один із знайдених недоліків прямо названий „відсутність верхньої межі“».
Зловмисник систематично вивів кошти: спочатку перетворив відлиті USR на wstUSR (квотована версія), щоб зменшити вплив на ринок, а потім обміняв їх на ETH через Curve, Uniswap та KyberSwap. Гаманець зловмисника містить близько 11 400 ETH (приблизно 24 мільйони доларів США). Резерви ETH і BTC, що забезпечують всю систему, залишилися непошкодженими під час краху стабільної монети.
Як поширюється зараження
Вразливість Resolv насправді є результатом двох подій, що поєдналися. Перша — це вразливість у процесі чеканки, а друга — відмова ринку ланцюгових позик.
Коли USR і wstUSR розвалилися, кожен кредитний ринок, що приймає їх як забезпечення, стикнувся з однією й тією ж проблемою: їхні оракули все ще цінують wstUSR близько до 1 долара.
Засновник аналітичної агенції Chaos Labs Омер Голдберг зафіксував цей механізм. Його ключове відкриття: «Оракули жорстко закодовані, тому ніколи не перепризначені. wstUSR оцінюється в 1,13 долара, тоді як на вторинному ринку він торгувався близько 0,63 долара».
Трейдери купують wstUSR на відкритому ринку за низькою ціною, а потім використовують їх як забезпечення для позичання USDC на Morpho або Fluid за оцінкою оракула 1,13 долара США, після чого виходять з позиції.
У Fluid команда отримала короткостроковий кредит, щоб покрити 100% невибіркових боргів і гарантувала повну компенсацію кожному користувачеві. У Morpho співзасновник Пол Фрамбот зазначив, що приблизно 15 сховищ мають значні ризики, всі вони використовують стратегії з високим ризиком та довготривалими забезпеченнями.
Відомий куратор Gauntlet зазначив: «Виставлення на декількох високодоходних скарбницях обмежене.»
Але D2 Finance безпосередньо спростувала це твердження, опублікувавши дані ланцюга, які показують, що флагманський «USDC Core сховище» Gauntlet виділило 4,95 мільйона доларів США на ринок wstETH/USDC. Після цього Голдберг зазначив, що сховище Gauntlet становить 98% ліквідності кредиторів на цьому ринку.
Frambot у письмовій відповіді The Defiant сказав: «Ми постійно досліджуємо, як більш всебічно представляти різні ризики. Однак ми не вважаємо, що основна проблема полягає у відсутності позначок».
Frambot додав: «Morpho не залежить від оракулів, що означає, що він дозволяє кураторам вибирати будь-який оракул, який вони вважають найбільш підходящим для конкретного ринку. Morpho — це відкрита, бездозвольна інфраструктура, спроектована таким чином, щоб делегувати управління ризиками кураторам».
“Важко впроваджувати об’єктивні «бар’єри» у всіх сценаріях,” — сказав Frambot, — “накладання обмежень на рівні протоколу також несе ризик блокування легітимних стратегій.”
Хоча нижчий протокол залишає управління ризиками на кураторі, деякі фахівці галузі вважають, що куратор не виконав своїх обов’язків.
«Я вважаю, що дизайн індустрії curator має дефекти, бо справжнього кураторства взагалі не відбувається.» — сказав Марк Целлер у X.
На момент публікації Resolv, Gauntlet і Fluid не відповіли на запит The Defiant з проханням коментарів.
Повторюваний шаблон невдачі
Це не нова атака. У січні 2025 року USD0++ від Usual Protocol був жорстко закодований як 1 долар у сейфі Morpho куратором MEV Capital. Пізніше Usual раптово змінив ціну викупу на 0,87 долара без будь-якого попередження, що призвело до блокування позичальників у сейфі MEV Capital, який досяг 100% використання.
У листопаді 2025 року xUSD Stream Finance зруйнувався, оскільки куратор вже направив депозити USDC у лінійний цикл, забезпечений цим синтетичним стабільним активом; коли оракул відмовився оновити дані, на ризику опинилося від 285 млн до 700 млн доларів США на Morpho, Euler і Silo. Moonwell зазнав двох послідовних відмов оракулів у жовтні та листопаді 2025 року, що призвело до більш ніж 5 мільйонів доларів США просрочених боргів.
Що це означає для моделі curator?
Архітектура Morpho делегує всі рішення щодо ризиків стороннім «кураторам», які створюють скарбниці, вибирають забезпечення, встановлюють коефіцієнт забезпечення та обирають оракули. Ця теорія передбачає, що професійні інституції мають глибші експертні знання, а конкуренція призводить до кращого управління ризиками, а протокол відповідає за виконання правил.
Але куратори отримують комісії за створену дохідність, що створює стимул приймати більш ризиковані та прибуткові забезпечення, такі як дохідні стабільні монети. Проблема полягає в тому, що коли ці стабільні монети втрачають прив’язку, збитки несе вкладник, а не куратор. У події Resolv деякі автоматизовані боти кураторів продовжували надсилати кошти до постраждалих скарбниць протягом кількох годин після виявлення вразливості, що поглибило збитки.
Причина використання жорстко закодованих оракулів для дохідних стабільних монет — запобігання ненужним клірингам, спричиненим короткостроковими коливаннями. Але ця захистна функція діє лише тоді, коли стабільна монета залишається стабільною.
Аналітична компанія Chainalysis у своєму післяподійному аналізі зазначила, що необхідні реальні можливості виявлення в ланцюзі.
«На ланцюзі смарт-контракти працюють повністю нормально. Проблема, очевидно, полягає в більш широкому проектуванні системи та позаланцюговій інфраструктурі», — зазначив аналітичний центр.
