#rsETHAttackUpdate: Полный разбор уязвимости, восстановления и извлечённых уроков



Сообщество децентрализованных финансов (DeFi) было потрясено 22 апреля 2026 года, когда изощрённая атака нацелилась на контракт ликвидного рестейкинга rsETH. rsETH, выпущенный Kelp DAO как токен-расписка для позиций EigenLayer, подвергся эксплуатации его основной логики депонирования и снятия, что привело к временной утрате активов примерно на 8,4 миллиона долларов. В этом посте представлен подробный пошаговый отчёт о происшествии — от начального вектора до текущего пост-мортема.

1. Что такое rsETH и почему он стал целью?

rsETH — это ликвидный токен рестейкинга, представляющий ставку пользователя в нескольких активно валидируемых сервисах (AVS) через EigenLayer. В отличие от простого stETH от Lido, rsETH включает сложную логику обмена, чеканки и сжигания в нескольких пулах. Атакающие часто нацеливаются на такие контракты, потому что их межконтрактные вызовы и зависимости от ценовых оракулов создают поверхности атаки.

Уязвимость, использованная на этой неделе, находилась не в основном протоколе EigenLayer, а в пользовательском «обёртке депозита», используемой Kelp DAO для приёма ETH и LST (как stETH) в обмен на rsETH. Эта обёртка, KelpDepositAdapterV2, имела незащищённую функцию receive(), которая позволяла перенаправлять произвольные разрешения токенов.

2. Хронология атаки — как всё произошло

Фаза 1 — разведка (18-21 апреля)
Атакующий, финансируемый через Tornado Cash (начальный залог 0,5 ETH), начал проверять контракт адаптера. Данные в блокчейне показывают несколько «тестовых» транзакций с малыми суммами, чтобы проверить, как контракт обрабатывает реентерацию и delegatecall.

Фаза 2 — выполнение эксплуатации (22 апреля, 14:32 UTC)
Используя флеш-займ в 5000 ETH от Aave V3, злоумышленник вызвал функцию depositLST адаптера. Уязвимость позволила ему передать вредоносный байтовый параметр, который перезаписал внутренний адрес пула. В результате, адаптер отправил средства пользователя в фальшивый пул Lido, контролируемый злоумышленником.

Повторными флеш-займами и обменами они вывели примерно 1280 rsETH из пула ликвидности на Uniswap V3 (Arbitrum) и ещё 740 rsETH из пула Balancer 80/20. Общие убытки в долларах на тот момент составили около 8,4 миллиона долларов.

Фаза 3 — обнаружение и приостановка (14:45 UTC)
Мониторинговые боты Kelp DAO зафиксировали аномальное использование газа при вызове depositLST. В течение 13 минут команда приостановила все депозиты и снятия через мультисиг администратора. Это предотвратило дальнейшую эксплуатацию оставшихся средств, но уже украденные активы были обменяны на DAI и переведены на основной Ethereum.

3. Немедленные меры и влияние на пользователей

Команда Kelp DAO немедленно опубликовала обновление статуса в их официальном Discord и Twitter, подтвердив:
· Средства пользователей в хранилищах рестейкинга #rsETHAttack. EigenLayer( не были напрямую скомпрометированы.
· Пострадал только контракт адаптера )который хранил ожидающие депозиты около 6 часов(.
· Цена rsETH на вторичных рынках временно упала на 12%, но восстановилась после приостановки.

В течение 6 часов был опубликован официальный пост-мортем с перечнем пострадавших адресов. Около 340 уникальных вкладчиков, использовавших адаптер за последние 12 часов, понесли нереализованные убытки. Команда взяла на себя обязательство полностью возместить убытки за счёт казны DAO и страхового фонда )Nexus Mutual, который покрывает до (миллиона$5 .

4. Коренная причина: отсутствие защиты от реентерации и манипуляции оракулом

Обнаружены два критических недостатка в KelpDepositAdapterV2:
· Отсутствие модификатора nonReentrant в функции depositLST. Это позволило злоумышленнику рекурсивно вызывать функцию до обновления состояния, фактически удваивая получение rsETH.
· Зависимость от однолинейного ценового оракула из пула Curve с низкой ликвидностью для конвертации LST/ETH. Манипуляции этим пулом с помощью флеш-займов позволили злоумышленнику завысить стоимость своего депозита.

После приостановки команда развернула исправленный адаптер )V3( с использованием ReentrancyGuard от OpenZeppelin и переключилась на новый агрегированный оракул ETH/LST от Chainlink ), который использует медианные цены из пяти пулов с высокой ликвидностью(.

5. Текущий статус )24 апреля 2026(

· Восстановление средств: аналитики отслеживают переведённый злоумышленником DAI на новый адрес. 23 апреля злоумышленник вернул около 5200 ETH )примерно 9,1 миллиона долларов( после переговоров через сообщение в белую шляпу, сохранив 5% вознаграждения. Все пострадавшие вкладчики полностью возмещены.
· Обновление контракта: новый адрес адаптера )0x...c7D9( работает уже 24 часа с усиленной безопасностью. Депозиты и снятия возобновлены. Также введены лимиты на ежедневные депозиты в размере )миллион$2 , а сторонний аудит (от Quantstamp) находится в финальной стадии.
· Требуемые действия пользователей: для держателей rsETH ничего делать не нужно — их балансы остаются действительными. Однако те, кто взаимодействовал с функцией depositLST старого адаптера в окно уязвимости, должны подать заявку на возврат через специальный портал (без ссылок — только через официальные каналы Kelp DAO).

6. Уроки для экосистемы DeFi

Это ещё одно напоминание о четырёх ключевых принципах:
1. Контракты адаптеров должны рассматриваться как высокорискованные. Даже если базовый слой #rsETHAttackUpdate EigenLayer( надёжен, обёртка вокруг него требует такой же тщательности, как и кредитный протокол.
2. Обязательное тестирование с использованием флеш-займов в CI/CD. Вектор атаки, использованный здесь, был бы обнаружен инструментами вроде Echidna или Medusa fuzzing.
3. Механизмы приостановки спасают средства. Время реакции Kelp — 13 минут — примерное, но оно основано на мультисиге 3 из 5. В настоящее время добавляются более быстрые автоматические автоматические прерыватели )на основе аномальных объемов депозитов(.
4. Прозрачность укрепляет доверие. Решение команды публиковать полный пост-мортем, включая пострадавшие адреса и переговоры по вознаграждению, предотвратило панику и теории заговора.

Заключение

На момент написания rsETH остаётся полностью обеспеченным, все средства пользователей восстановлены, а протокол прошёл три новых аудита смарт-контрактов. Уязвимость, хотя и вызвала стресс у вкладчиков, не привела к постоянным потерям — благодаря быстрому реагированию и сотрудничеству белых хэтов. Для получения обновлений следите за официальными каналами Kelp DAO )Discord, Twitter и форумом управления(. Всегда проверяйте адреса контрактов самостоятельно и никогда не подтверждайте транзакции по неподтверждённым ссылкам.
STETH-0,43%
ETH0,07%
AAVE1,69%
Посмотреть Оригинал
post-image
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 1
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
ybaser
· 8ч назад
На Луну 🌕
Посмотреть ОригиналОтветить0
  • Закрепить