Resolv хакерська атака: як витік одного ключа привів до незаконного чеканування 23 мільйонів доларів

Автор: Chainalysis

Переклад: AididiaoJP, Foresight News

22 березня 2026 року протокол Resolv DeFi став останнім прикладом, що демонструє, наскільки швидко може опинитися у кризі сфера DeFi, коли припущення про безпеку виявляються хибними. За кілька хвилин зловмисник створив десятки мільйонів беззаставних стабільних монет Resolv USR і вивів приблизно 25 мільйонів доларів США вартістю, що спричинило різке розходження ціни USR із реальністю, через що протокол був змушений припинити роботу.

Зовні це нагадує випадок уразливості смарт-контракту. Однак це не так. Відповідний код працював цілком відповідно до задуму.

Насправді це сталася аварія через надмірну довіру до оффчейн інфраструктури. Оскільки системи DeFi стають все складнішими і дедалі більше залежать від зовнішніх сервісів, привілейованих ключів та хмарної інфраструктури, їхня уразливість значно перевищує межі блокчейну.

У цій статті буде розглянуто хід подій та їхній вплив, а також обговорено: коли компоненти оффчейн зазнають зломів, єдиним надійним захистом є системи виявлення та реагування на загрози у реальному часі на ланцюгу, які можуть виступати важливою останньою лінією оборони, розрізняючи контрольовані інциденти і вразливості, що спричиняють мільйонні збитки.

Огляд подій

Зловмисник спочатку вніс невелику суму (близько 100 000–200 000 доларів США в USDC) і використав її для взаємодії з системою створення USR — стабільної монети Resolv. У нормальних умовах, після внесення USDC, користувач отримує рівнозначний USR. Однак у цьому випадку зловмисник успішно створив близько 80 мільйонів USR, що значно перевищує логічний обсяг, який можна було отримати за внесену суму.

Це сталося через те, що процес затвердження створення залежав від оффчейн сервісу, який використовував привілейований приватний ключ для авторизації кількості створюваних USR. Водночас, смарт-контракт сам по собі не обмежував кількість створюваних монет — він лише перевіряв валідність підпису.

Після створення беззаставних USR зловмисник швидко конвертував їх у стейкінгову версію wstUSR, потім поступово обмінював на інші стабільні монети і врешті-решт вивів у ETH. На момент завершення атаки він отримав приблизно 25 мільйонів доларів США в ETH. Величезна кількість беззаставних USR раптово з’явилася на ринку, що спричинило падіння ціни цього токена приблизно на 80%.

Після з’ясування результату подій далі буде проаналізовано, як недосконалість у процесі створення могла сприяти цій атаці.

Звичайний процес створення токенів Resolv

Щоб зрозуміти причини цієї атаки, потрібно розібратися з механізмом створення токенів Resolv.

Коли користувач бажає створити нативний токен USR, його взаємодія відбувається не з цілком автономним ланцюговим механізмом, а через оффчейн процес із двома етапами:

requestSwap — користувач вносить USDC у контракт USR Counter і ініціює запит на створення.

completeSwap — оффчейн сервіс із привілейованим ключем SERVICE_ROLE перевіряє цей запит і за допомогою зворотного виклику контракту визначає кінцеву кількість USR для створення.

На рівні контракту визначено лише мінімальну кількість USR, що може бути створена, але не встановлено жодних обмежень. В системі не передбачено перевірки співвідношення між внесеними заставами та кількістю створених USR, не інтегровано цінові оракули, обмеження загальної кількості або максимального відсотка створення. Іншими словами, будь-яка кількість, підписана цим ключем, може бути створена.

Детальний опис кроків атаки

Крок 1: отримання доступу до середовища Resolv AWS KMS

Зловмисник через злом хмарної інфраструктури Resolv отримав доступ до середовища AWS KMS, де зберігалися привілейовані підписні ключі протоколу. Здобувши контроль над цим середовищем, він міг використовувати власний ключ для авторизації будь-яких операцій створення USR.

Крок 2: створення USR

Після отримання ключа підпису зловмисник ініціював дві операції swap, кожна з яких базувалася на невеликому внеску USDC — близько 100 000–200 000 доларів США, розподілених по кількох транзакціях. Потім він викликав функцію completeSwap із використанням ключа SERVICE_ROLE, вказуючи штучно завищену кількість USR для створення, що дозволило створити десятки мільйонів USR за мінімальних вкладень USDC.

На ланцюгу зафіксовано дві основні транзакції:

  • створення 50 мільйонів USR

  • створення 30 мільйонів USR

Загалом було створено 80 мільйонів USR, що оцінюється приблизно у 25 мільйонів доларів США.

Крок 3: обходження обмежень ліквідності через wstUSR

Зловмисник конвертував USR у wstUSR — похідний токен, що відображає частку у стейкінговому пулі, цінність якого не фіксована щодо USR. Це дозволило уникнути прямого впливу на ринок USR і перенести позицію у більш ліквідний, але менш залежний від беззаставних USR актив.

Крок 4: виведення коштів

Згодом він обміняв wstUSR на стабільні монети, потім — на ETH, і за допомогою децентралізованих біржових пулів і міжланцюгових мостів перемістив кошти, щоб максимізувати суму виведення і ускладнити їхнє відстеження.

На момент написання статті зловмисник зберігає на своєму рахунку приблизно:

  • 11 400 ETH (близько 24 мільйонів доларів США)

  • 2 мільйони wstUSR (за ціною після роз’єднання — приблизно 130 тисяч доларів США)

Вплив на власників USR

Ця подія спричинила безпосередній і серйозний удар по власниках USR.

Новостворені 80 мільйонів беззаставних USR поступово потрапили до пулів децентралізованих бірж. Через різке збільшення пропозиції ціна USR щодо долара швидко обвалилася. Токен упав до 0,20 долара, знизившись на 80%, але згодом за кілька годин частково відновився до приблизно 0,56 долара.

Після інциденту Resolv Labs опублікувала заяву, у якій призупинила всі функції протоколу, щоб запобігти подальшим втратам, і почала розслідування зломної події. Оскільки зловмисник досі намагається створити більше USR, швидке реагування було життєво важливим для запобігання ще більших збитків, що підкреслює критичну важливість швидкої реакції на подібні атаки.

Здоровий підхід до безпеки базується на припущенні, що уразливості неминучі

Незважаючи на те, що Resolv застосувала всі стандартні заходи безпеки і пройшла до 18 аудитів безпеки, ця атака з певної точки зору є простим сценарієм: зловмисник отримав ключ, незаконно створив активи і, поки відповідальні особи не помітили, швидко їх реалізував.

Однак глибше аналізуючи, ця подія показує, як протоколи DeFi успадковують ризики та припущення безпеки, що закладені у їхню оффчейн інфраструктуру. Смарт-контракти працювали і працюють відповідно до задуму, але загальна система і зламані оффчейн компоненти не відповідали належним стандартам безпеки.

У часи, коли зломи і вразливості можуть бути реалізовані за кілька хвилин, і коли збитки стають очевидними миттєво, системи моніторингу у реальному часі та автоматичної реакції стають не просто додатковими засобами безпеки, а необхідною складовою захисту.

Приклад запобігання зломам Hexagate

Злом, що стався з Resolv, ілюструє важливість систем моніторингу у реальному часі для виявлення підозрілих дій. Якщо б у цьому випадку застосовували Chainalysis Hexagate, можна було б використати такі два конкретні сценарії виявлення:

Перший сценарій: моніторинг аномальних створень USR

За допомогою Hexagate можна налаштувати контроль за викликами функції completeSwap, зокрема для виявлення випадків, коли кількість створених USR значно перевищує внесені застави.

Наприклад, при внесенні USDC на суму 100 000 доларів США, авторизація створення 50 мільйонів USR є аномальною і виходить за межі норми. Можна встановити правило сповіщення, наприклад, при співвідношенні створених USR до внесених застав понад 1.5 разу — спрацьовує сигнал тривоги. Це дозволить швидко виявити і заблокувати подібні транзакції.

Hexagate зможе автоматично реагувати на підозрілі дії, активуючи відповідні заходи.

Другий сценарій: інтеграція GateSigner і кастомних правил для контролю ключових подій

Зловмисник має виконати послідовність: requestSwap і completeSwap, кожен з яких генерує події у ланцюгу. За допомогою функції GateSigner і моніторингу подій можна налаштувати автоматичне призупинення контракту при виявленні підозрілих Mint-подій, щоб запобігти створенню 80 мільйонів USR і їхньому потраплянню на відкритий ринок до того, як вони будуть виявлені.

RESOLV0,89%
ETH4,5%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріпити