Злоумышленник 22 марта 2026 года получил доступ к сервису управления ключами AWS KMS протокола Resolv. Одного привилегированного ключа подписи хватило, чтобы выпустить 80 млн необеспеченных стейблкоинов USR. Злоумышленник вывел около $23 млн в ETH до остановки протокола.
Курс стейблкоина USR ($1) обвалился до $0,025 на децентрализованной бирже Curve Finance за 17 минут после первого аномального выпуска. Смарт-контракт работал штатно. Уязвимость находилась не в коде, а во внешней инфраструктуре, которая контролировала, кто может разрешить выпуск токенов.
Читайте также: Новый стилер Torg Grabber атакует криптокошельки
Выпуск USR в Resolv устроен в два этапа и зависит от внешнего сервиса. Пользователь вносит USDC в контракт USR Counter и отправляет запрос на выпуск (requestSwap). Внешний сервис, управляемый привилегированным закрытым ключом SERVICE_ROLE, вызывает функцию completeSwap и определяет, сколько USR выпустить.
Контракт проверяет минимальный объём выпуска, но не максимальный. Нет проверки соотношения залога и выпущенных токенов. Нет ценового оракула. Нет лимита. Сколько ключ подпишет, столько и будет выпущено.
SERVICE_ROLE был обычным Ethereum-кошельком (EOA, externally owned account), управляемый одним закрытым ключом без мультиподписи. Ключ хранился в AWS KMS. По данным Chainalysis, злоумышленник проник в облачную инфраструктуру Resolv и получил возможность вызывать операции подписи через API KMS. Ключи AWS KMS по умолчанию не экспортируются. Злоумышленник, вероятно, не извлёк сам ключ, а использовал API для подписания транзакций.
Два запроса на обмен, каждый с небольшим депозитом USDC на общую сумму $100 000–$200 000. Ключ SERVICE_ROLE вызвал completeSwap с завышенными объёмами выпуска. Две основные транзакции: 50 млн USR и 30 млн USR. Resolv подтвердил «выпуск примерно $80 млн» в заявлении на платформе X.
Читайте также: Жена сняла на камеру сид-фразу мужа и вывела 2 323 биткоина. Суд разрешил иск на $172 млн
Злоумышленник обменял USR на обёрнутый стейкинговый USR (wstUSR), представляющий долю в пуле для стейкинга (блокировки токенов). Из wstUSR средства перешли в USDC и USDT через несколько децентрализованных бирж, затем переведены в ETH. По описанию Chainalysis, вывод занял «считанные минуты».
На кошельке злоумышленника оставалось около 11 400 ETH (~$24 млн) и примерно 20 млн wstUSR (~$1,3 млн по сниженному курсу). Попытка дополнительных выпусков не удалась: Resolv успел остановить протокол.
Курс USR частично восстановился до $0,85, после чего последовало новое падение. CoinDesk зафиксировал курс $0,27 в понедельник. DL News сообщил о минимальном курсе $0,14.
Взлом Resolv — не просто очередной инцидент. Это архитектурный просчёт в том, как DeFi оценивает риски.
— Кевин Янг (Kevin Yang), управляющий партнёр, Gate Ventures
Resolv прошёл 18 аудитов безопасности. Ни один из них не обнаружил бы эту уязвимость, потому что уязвимость находилась не в коде смарт-контракта. Код работал корректно. Проблема была архитектурной: один ключ в облачной инфраструктуре с неограниченными правами на выпуск токенов и без ограничений на уровне блокчейна.
Аудиты смарт-контрактов проверяют логику кода. Они, как правило, не оценивают управление ключами в облаке, правила доступа и отсутствие лимитов в самом контракте. Аудиторская компания Pashov, проверявшая стейкинговый модуль Resolv в июле 2025 года, заявила Cointelegraph, что причиной стала «компрометация закрытого ключа», а не ошибка в коде протокола.
Читайте также: Налоговая служба Южной Кореи случайно опубликовала сид-фразу от конфискованного криптокошелька, с него тут же украли $4,8 млн
DL News сообщил, что Steakhouse Financial, управляющий рисками Resolv, опубликовал «экономический и операционный обзор» протокола за пять дней до атаки. Уязвимость, использованная при взломе, предположительно была выявлена примерно в то же время.
18 аудитов проверяли код. Никто не проверял архитектуру. Функция выпуска токенов, управляемая одним ключом без лимита на уровне блокчейна, — это как дать одному сотруднику право печатать неограниченное количество денег, защитив его только замком на двери кабинета. Лимиты на выпуск за транзакцию, за временное окно, мультиподпись или задержка исполнения для функции completeSwap ограничили бы ущерб даже после компрометации ключа.
Resolv Labs опубликовал заявление на X 22 марта и приостановил работу всех функций протокола, включая стейкинг и раздачу токенов. Команда заявила, что залоговый пул «полностью сохранён» и что проблема «ограничена процессом выпуска USR». Resolv направил злоумышленнику предложение прекратить преследование в обмен на возврат 90% похищенных ETH. Компания заявила, что сотрудничает с правоохранительными органами и аналитическими компаниями для возврата средств.
Злоумышленник публично проигнорировал предложение о возврате 90% средств. Каким образом была скомпрометирована среда AWS KMS (фишинг, кража учётных записей, ошибка в правилах IAM или действия сотрудника с привилегированным доступом), по-прежнему неизвестно.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.