Взлом KelpDAO: жидко обосрались...кто же виноват?

Взлом KelpDAO: жидко обосрались...кто же виноват?

Предисловие

Представьте банк, в котором резервы всех двадцати филиалов лежат в одном хранилище, а ключ от хранилища проверяет один охранник, и проверяет он не сам ключ, а звонок от напарника, который узнаёт правду через один-единственный телефонный провод. Теперь представьте, что этот провод перерезали, а напарнику в трубку наговорили фейк. Именно это произошло с KelpDAO 18 апреля 2026 года. Только вместо банка — протокол ликвидного рестейкинга с TVL $1,5 млрд, а вместо резервов — 116 500 rsETH на сумму около $292 млн. Всё ушло за одну транзакцию.

Это крупнейший DeFi-взлом 2026 года на данный момент. Но важнее даже не сумма, а то, как быстро локальная проблема превратилась в системный шок. Украденный rsETH почти сразу занесли в Aave и другие протоколы как залог и под него заняли уже настоящую ликвидность — WETH и другие активы. Поэтому удар пришёлся не только по KelpDAO: начались заморозки рынков, дефицит ликвидности и массовый вывод средств из крупных DeFi-протоколов.

Самое неприятное в этой истории: это не классический баг в смарт-контракте, который можно показать пальцем и сказать — вот дыра, вот строка, вот ошибка разработчика. По публичной картине, сломался не базовый контракт рестейкинга, а слой доверия вокруг него — мост, его настройки и инфраструктура, через которую этот мост проверял сообщения из другой сети. Поэтому история и выглядит такой токсичной: формально основной код мог работать по правилам, а деньги всё равно ушли.

Разбор ниже — попытка распутать, что именно произошло, как была устроена атака технически, кто с кем теперь спорит об ответственности, и какие выводы должен сделать каждый, кто держит LRT или пользуется кросс-чейн-мостами. Это не рассказ про неудачного разработчика, пропустившего баг. Это рассказ про архитектурные допущения, которые индустрия десять лет принимала как само собой разумеющееся, и про то, что происходит, когда эти допущения встречаются с северокорейским ресёрч-отделом, специализирующимся на взломе инфраструктуры.

Что именно взломали, а что нет

Здесь важно сразу разделить две вещи. Не было взлома «ядра» KelpDAO — то есть той части системы, где лежит пользовательский ETH и через которую идёт рестейкинг в EigenLayer. Удар пришёлся по другому месту: по мостовой схеме rsETH, которая должна была безопасно переносить этот актив между Ethereum и L2. Проще говоря, сломали не сам склад, а механизм выдачи со склада. По публичной картине, основной сбой был именно в кроссчейн-маршруте rsETH, а не в базовых рестейкинг-контрактах.

Это важное различие, потому что после атаки rsETH на Ethereum и его мостовые версии в других сетях — уже не совсем одно и то же. По оценке Aave, rsETH на Ethereum mainnet остаётся обеспеченным. Но bridge-версии rsETH на L2 после этой истории превратились в токсичный актив: прежняя схема, которая должна была подтверждать и обеспечивать такие перемещения, дала сбой. Поэтому для рынка это уже другой уровень риска.

Сама атака выглядела так: злоумышленник не «сломал» адаптер в лоб, а заставил его принять ложное сообщение за настоящее. Система поверила, что в другой сети якобы произошло корректное действие с токенами, и после этого отдала rsETH из эскроу на Ethereum. То есть контракт выполнил не случайную ошибку, а штатное действие — но по фальшивому сигналу. Именно поэтому правильнее говорить не «контракт сошёл с ума», а «систему обманули на этапе проверки». LayerZero и независимые разборы сходятся в том, что критическим местом был именно слой верификации мостового сообщения.

Корневая проблема была в том, что этот слой проверки фактически держался на одном обязательном проверяющем. Если такой маршрут приносит ложное подтверждение, второй независимой перепроверки уже нет — и система пропускает сообщение дальше. LayerZero после инцидента отдельно подчеркнула, что не считает схему с одним DVN нормальной для боевого маршрута, а в своей документации прямо предупреждает не воспринимать такие настройки как безопасные для production.

Если совсем просто: сам rsETH как продукт не «исчез», но его мостовая обвязка дала критический сбой. Поэтому mainnet-rsETH и его версии на L2 после атаки нужно рассматривать отдельно. В этом и заключается одна из главных тонкостей всей истории: тикер вроде один и тот же, а состояние у него уже разное.

❗️Крипто-новостник: Crypto Headlines

Как это работает: три кита под капотом

Чтобы понять атаку, нужно разложить три понятия.

Рестейкинг и EigenLayer. EigenLayer — протокол, позволяющий одному и тому же застейканному ETH одновременно обеспечивать безопасность самого Ethereum и дополнительных сервисов: оракулов, мостов, DA-слоёв. За это даётся дополнительная доходность, но и риски складываются. KelpDAO — надстройка: она принимает пользовательский ETH или LST (stETH, ETHx, sfrxETH), делегирует его операторам EigenLayer, а взамен выдаёт rsETH — токен-квитанцию, цена которого со временем растёт.

OFT и кросс-чейн. Чтобы rsETH был полезен не только на мейннете, его нужно было доставить на L2, где он используется как залог в Aave, Pendle, Morpho, Euler и ещё пятнадцати протоколах. LayerZero продаёт для этого стандарт Omnichain Fungible Token (OFT). На Ethereum стоит контракт-адаптер по адресу 0x85d456B2DfF1fd8245387C0BfB64Dfb700e98Ef3 — это и есть хранилище, из которого вынесли деньги. На каждой L2 стоит контракт-копия, чеканящий обёрнутые токены.

DVN и где здесь был "косяк"
Именно здесь находится главный нерв всей истории. В LayerZero входящие сообщения между сетями должны подтверждать специальные проверяющие. Смысл идеи простой: чем больше денег защищает маршрут, тем меньше он должен зависеть от одного-единственного «верю / не верю».

У KelpDAO на этом маршруте всё было настроено слишком слабо: для подтверждения сообщения хватало одного обязательного проверяющего. Ни второго голоса, ни независимой перепроверки, ни запасного контура доверия там не было. По сути, вся защита сводилась к одному «да, сообщение настоящее».

Для актива такого размера это и есть ключевая инженерная ошибка. Пока всё спокойно — схема выглядит рабочей. Когда компрометируют именно этот слой, защита растворяется мгновенно...

Хронология: 46 минут, спасших сотню миллионов

Если смотреть по транзакциям, сама кража заняла считанные минуты. Но подготовка, судя по реконструкции, началась заранее.

Примерно за десять часов до атаки несколько адресов получили небольшие суммы ETH из Tornado Cash. Обычно так готовят кошельки под какую-либо операцию: не для самого вывода денег, а чтобы оплатить газ и не светить прямую связь с биржей.Это готовые кошельки-спутники для последующих операций.

В 17:20 UTC по логам LayerZero начинается DDoS-трафик, направленный на часть RPC-нод, которые обслуживают DVN. Одновременно активируются заранее подменённые бинарники op-geth на двух других нодах — они ждали своего часа.

В 17:31:11 UTC атакующий вызывает функцию commitVerification на контракте ULN302 — это приём подписанной DVN аттестации. В 17:35:35 UTC приходит главная транзакция: lzReceive на EndpointV2. Endpoint передаёт вызов в OFTAdapter, и из эскроу уходит 116 500 rsETH на адрес 0x8B1b6c9A6DB1304000412dd21Ae6A70a82d60D3b. Хэш — 0x1ae232da212c45f35c1525f851e4c41d529bf18af862d9ce9fd40bf709db4222, блок 24 908 285, nonce сообщения — 308.

Следующие двадцать минут — распределение добычи. Атакующий раскидывает rsETH по семи сестринским кошелькам, и с каждого действует по одному сценарию: approvemulticallapproveDelegationsupply()borrow() на Aave V3 под 99% LTV. Токены ложатся залогом, под залог берутся реальные WETH и wstETH. На Ethereum так извлечено порядка 52 834 WETH. Часть rsETH через OFT-мост отправляется на Arbitrum, где повторяется тот же сценарий — ещё ~29 782 WETH плюс 821 wstETH. Мелкие позиции открываются на Compound V3 и Euler, прежде чем там успевают заморозить рынки.

В 18:21 UTC — через 46 минут после дрейна — экстренный мультисиг KelpDAO вызывает pauseAll. Транзакция 0x4f52256ab6c8ab95d30cf994e0264f1de27e089764bb011824d5ddd47d9a1698 замораживает контракты rsETH, депозитный пул, модуль вывода и оракул одновременно на Ethereum и на всех подключённых L2. Это узкое место: в 18:26 и 18:28 UTC приходят ещё два форж-пакета с nonce 309, каждый пытается вывести около 40 000 rsETH — оба реверсятся. Если бы пауза опоздала хотя бы на десять минут, общие потери выросли бы до ~$391 млн.

В 20:10 UTC — через два с половиной часа после атаки — появляется первый публичный твит KelpDAO: «выявили подозрительную кросс-чейн-активность rsETH, контракты приостановлены, работаем с LayerZero, Unichain и аудиторами». К этому моменту ZachXBT в Telegram уже час как разбирает кошельки атакующего, PeckShield разослал алерт, Aave начал замораживать рынки rsETH в V3 и V4.

Технический разбор: как обманули единственного охранника

По официальной версии LayerZero, злоумышленник не крал приватные ключи и не ломал протокол «в лоб». Атака шла ниже — через инфраструктуру, на которую опирался единственный проверяющий.

Если упростить, системе подменили картину реальности: проверяющий получил ложные данные о том, что в исходной сети якобы произошёл настоящий перевод, и поставил подпись под тем, чего в действительности не было.

Это важная оговорка. On-chain часть инцидента уже хорошо читается: деньги вывели, маршрут понятен, дальнейшее использование украденного rsETH тоже видно. Но точный корень проблемы сейчас всё ещё остаётся предметом спора между LayerZero и Kelp. Поэтому здесь важно не путать подтверждённые движения денег с версией о том, как именно злоумышленник дошёл до подмены проверки.

Атакующий действовал тремя шагами. Первый — разведка: получил список RPC-эндпоинтов, которые использует DVN LayerZero Labs. Второй — компрометация: на двух независимых нодах op-geth в разных кластерах подменил бинарники. Подменённый бинарник вёл себя как классический sleeper agent: обычным клиентам (в том числе мониторингу LayerZero) он возвращал честные ответы, а вот на запрос от IP-адреса DVN выдавал кастомный payload — сфабрикованное «доказательство» того, что на Unichain действительно был бёрн на 116 500 rsETH. После атаки бинарник самоуничтожился вместе с логами.

Третий шаг — заставить DVN обратиться именно к отравленной ноде. Для этого пошёл DDoS на остальные, чистые эндпоинты. Трафик шёл достаточный, чтобы сработал failover — механизм автопереключения на резервные источники при недоступности основных. DVN переключился на резервы, а резервы к этому моменту уже были отравлены. Подпись ушла на Ethereum, ULN302 её принял, Endpoint вызвал lzReceive, адаптер перевёл токены.

LayerZero в своём заявлении особо подчёркивает: протокол отработал по спецификации. Атакован был не код, а доверенная цепочка вспомогательной инфраструктуры. По внутренней атрибуции LayerZero, за атакой стоит «высоко квалифицированный государственный актор, вероятно TraderTraitor / Lazarus Group (КНДР)». TraderTraitor — подразделение северокорейского Lazarus, специализирующееся на компрометации инфраструктуры и supply chain, а не на ручном поиске багов в Solidity. Тот же почерк уже виден в Bybit ($1,5 млрд, февраль 2025), Radiant Capital ($50 млн, октябрь 2024), DMM Bitcoin ($308 млн, май 2024) и Drift ($285 млн, апрель 2026). По данным Chainalysis, в 2025 году северокорейские операции унесли из крипты $2,02 млрд — это 60% всех украденных за год $3,4 млрд.

Почему слив был таким умным: схема через Aave вместо DEX

Напрашивающийся ход — сбросить украденные rsETH на Curve, Balancer или Uniswap, получить ETH, прокрутить через миксеры. Так делают большинство хакеров. Но ликвидности rsETH/ETH в AMM недостаточно, чтобы переварить $292 млн без катастрофического слиппеджа. Попытка продать такой объём обрушила бы цену rsETH на 40–60% ещё до того, как атакующий успел бы вывести половину.

Вместо этого пошла более изящная схема. Украденный rsETH не продавался, а вносился как залог в Aave V3 и V4. Протокол, не имея способа отличить ворованные токены от обычных, принимал их и выдавал под них кредиты в WETH, wstETH и стейблкоинах. Атакующий получил реальные активы, которые уже не зависели от будущего депега rsETH и не требовали DEX-ликвидности. По оценкам Chaos Labs, он извлёк около 52 834 WETH на Ethereum и 29 782 WETH плюс 821 wstETH на Arbitrum. Совокупно — от $200 до $266 млн живой ликвидности, в зависимости от того, как считать.

Форензика Innora к плюс-девяти часам после дрейна зафиксировала на хабовом адресе 0x5d3919F12bCc35c26Eee5F8226A9bee90c257Ccc 75 700 ETH на Ethereum и 30 765 ETH на Arbitrum. Ни одного исходящего перевода, ни одного депозита на централизованную биржу, ни одного прохода через Tornado Cash для вывода. Атакующий сидит на деньгах. Tornado использовался только для фондирования кошельков до атаки, не для отмывания.

Одна из сестринских EOA, помеченная в форензике как A6, прогнала около 83 wstETH через Uniswap V3/V4 на Arbitrum. Это единственный зафиксированный DEX-ход — меньше 0,1% объёма. Похоже на разведку реакции, а не на реальный вывод.

Реакция KelpDAO: быстрая пауза, вялая коммуникация

Заморозка контрактов за 46 минут — это единственное, что Kelp сделал безупречно. Подготовленный runbook, мультисиг с нужным числом подписантов в онлайне в субботу вечером, настроенные алерты. Именно эта скорость отбила вторую и третью волну атаки и сохранила около $100 млн. Всё, что было дальше, пошло хуже.

Первый твит появился только через 2,5 часа после дрейна. Развёрнутого пост-мортема от Kelp на Mirror или в блоге на момент 20 апреля нет. Основатели Amitej Gajjala и Dheeraj Borra лично не высказались — все заявления идут от корпоративного аккаунта. Нет формального плана компенсаций, нет решения по wrapped-rsETH на L2 (они теперь структурно необеспечены), нет даже публичного признания того, что обёртки на L2 и rsETH на мейннете — это теперь два разных актива.

На этом фоне в первые же часы после атаки началась фишинговая волна: появился домен portal-kelpdao.com, девять ретвитов официального аккаунта Kelp пришли с уже скомпрометированных чужих аккаунтов в течение шести минут. Обычная история, но показывает, насколько низкий приоритет у команды сейчас получает операционная гигиена.

И ещё один момент, о котором почему-то почти не пишут. Это уже третий инцидент KelpDAO. В июле 2024 года атакующий социально инженерил поддержку GoDaddy, обошёл 2FA и перехватил DNS-домен dApp — некоторые пользователи потеряли средства через подменённый фронтенд. В апреле 2025 года в контракте LRTOracle обнаружился баг: после апгрейда внутренний расчёт комиссий при минте оказался перешкалирован до 10³⁶ вместо ожидаемых 10¹⁸, что привело к избыточной эмиссии rsETH на казначейский адрес Kelp. Пользователи тогда не пострадали, но Aave на всякий случай заморозил рынки rsETH. Теперь — мост и $292 млн. Три инцидента в трёх разных частях стека: DNS, оракул комиссий, конфигурация моста. Общий знаменатель не алгоритмический, а организационный.

Версия LayerZero и встречная версия Kelp

Вот где начинается политически самая острая часть истории.

Сейчас спор идёт уже не о том, был ли инцидент, а о том, кто должен нести основную долю ответственности.

LayerZero говорит жёстко: маршрут Kelp работал на схеме с одним обязательным проверяющим, и именно это превратило компрометацию инфраструктуры в кражу на сотни миллионов.

Kelp, наоборот, возражает: по их версии, опасная схема была фактически унаследована из настроек LayerZero, а скомпрометирован оказался именно контур самого LayerZero.

Но здесь есть важная развилка. Даже если часть настроек действительно пришла «по умолчанию», это не снимает вопроса, почему их оставили в продакшене на активе такого масштаба. Ссылка на дефолт объясняет происхождение проблемы, но не оправдывает её.

Кто здесь больше прав — покажет публикация технических артефактов. Ключевой вопрос, на который должны ответить стороны: конфигурация setConfig в ULN302 на момент блока 24 908 285 — какие именно DVN были прописаны как requiredDVNs, и кто именно в какой момент их туда прописал? Пока эти данные не выложены в явном виде, публика вынуждена принимать на веру словесные версии обеих сторон.

Справедливый промежуточный вывод: оба допустили ошибку. Kelp — за то, что оставил единую точку отказа на продакшене при таком TVL. LayerZero — за то, что архитектура в принципе позволяла такой продакшен, а публичная документация недостаточно явно и агрессивно отговаривала от 1/1.

Aave: заложники композитности

Aave не была взломана. Это важно. Её протокол сработал в точности как запроектирован — принял залог, выдал кредит под этот залог, начисляет проценты. Но именно эта корректность и сделала её главным экономическим пострадавшим.

Цифры впечатляют. За 48 часов TVL Aave обвалился с $26,4 млрд до $17,9–18,6 млрд — в разных источниках оценки чуть расходятся, но речь о потерях более $8 млрд. Utilization по WETH, USDT и USDC на Ethereum дошёл до 100%: вся свободная ликвидность ушла в руки атакующего через его кредиты, а новых депозитов не поступало. Пулы превратились в ловушку: вкладчики физически не могли вывести свои же средства, потому что их активов просто не было в пуле. В какой-то момент из USDT-пула на $2,87 млрд доступно для вывода оставалось всего $2 540. Это не метафора — это on-chain число.

$5,1 млрд в стейблкоинах оказались временно недоступны для вывода до тех пор, пока в систему не поступит свежая ликвидность или не будут погашены непогашенные займы. Bad debt (плохой долг) Aave, по последним оценкам на 20 апреля, — в диапазоне $177–195 млн. Разбивка: около $113 млн на Ethereum и $64 млн на Arbitrum, плюс wstETH-мелочь. Aave заморозил рынки rsETH на V3 и V4, а также заморозил WETH-резервы на Ethereum, Arbitrum, Base, Mantle и Linea в качестве превентивной меры.

Umbrella — страховой механизм Aave, запущенный в июне 2025 года именно для таких случаев, — проходит свой первый настоящий стресс-тест. WETH-ваулт Umbrella держит около $56 млн и, судя по всему, будет полностью срезан до минимального порога. Остаток покроется комбинацией средств Collector и эмиссии токена AAVE. Сам AAVE за сутки обвалился на 16–18%, ZRO (токен LayerZero) — на 22%.

Marc Zeller из Aave Chan Initiative, лично, кстати, бывший ангельский инвестор в Kelp, написал в Twitter коротко: «выводите сейчас, вопросы задавайте потом». В тот же день он опубликовал в Aave governance пост о закрытии собственной программы ACI Frontier — это их внутренний стейкинг-сервис, который зарабатывал комиссии. Весь застейканный там ETH возвращается DAO, чтобы быть использованным на покрытие чужих убытков. Символический жест, но финансово значимый.

Пауза rsETH — это ещё не конец. Из протоколов, которые остановили или заморозили что-либо в связи с инцидентом: SparkLend, Fluid, Compound V3, Euler, Pendle, Yearn, Beefy, Upshift. Ethena на 6 часов остановила свои собственные OFT-бриджи — просто из предосторожности, без прямой экспозиции на rsETH. Lido приостановил депозиты в продукт earnETH. Lombard Finance поставил LBTC-маршруты через LayerZero на паузу. Curve Finance, BitGo's Wrapped Bitcoin — тоже паузы. Это «flight to quality» в чистом виде: доверие к компонентам экосистемы испарилось быстрее, чем успели разобраться, кто конкретно пострадал.

Justin Sun, как обычно в таких случаях, обозначил сразу обе ипостаси. С одной стороны — публично предложил хакеру переговоры: «сколько хочешь, давай поговорим». С другой — вывел из Aave 65 584 ETH (около $154 млн) и перераспределил в Sky/Spark. В одном твите — и переговорщик, и первый пассажир, сошедший с тонущего корабля.

Что предлагают делать с деньгами

0xngmi, псевдонимный основатель DeFiLlama, сформулировал три варианта возможной развязки, и ни один из них не выглядит приятно.

Первый — «социализировать» убытки среди всех держателей rsETH: пропорционально размыть долю каждого, чтобы обеспечение вернулось к 1:1. Технически реализуемо, но означает, что юзеры, которые никогда не пользовались мостом и держали rsETH только на мейннете, частично заплатят за проблему L2-обёрток. Юридически и политически — очень болезненно.

Второй — «кинуть держателей rsETH на L2»: признать, что обёртки на Arbitrum, Base, Mantle и прочих теперь необеспечены, и оставить всё как есть. Мейннет-rsETH остаётся обеспеченным на 100%, L2-версии превращаются в фактически дефолтные токены. Это наиболее «честный» вариант с точки зрения чёткого разграничения ответственности, но он означает полную потерю для тех, кто держал бриджевые обёртки.

Третий — попытаться вернуть балансы держателей к состоянию на момент до взлома (снапшот). Это можно сделать через форк контрактов и ручное восстановление. Технически «очень сложно», как мягко выразился 0xngmi. Потребуется координация десятков протоколов, в которых rsETH используется как залог, и решения по каждой зависшей сделке.

Основатель Curve Michael Egorov высказался в ещё более жёстком ключе: если переговоры с хакером не удадутся, основную часть компенсации должен взять на себя экосистемный фонд LayerZero — «у них самые глубокие карманы и наибольший долгосрочный интерес», а KelpDAO «на мели» и может рассчитаться токенами или будущими доходами. Или, мол, просто продаться. Это не официальная позиция, но показывает, куда дрейфует общественный консенсус.

Аудиты: что проверили и что пропустили

Формально у Kelp всё выглядело прилично: несколько аудитов, публичные отчёты, bug bounty. На бумаге — почти образцовая картина. Но именно эта история и показала, что набор логотипов безопасности сам по себе ничего не гарантирует.

Проблема была не там, где её обычно ищут. Не в красивом месте, не в базовом контракте rsETH, а в боевых настройках мостового маршрута и в инфраструктуре, на которую этот маршрут опирался.

И в этом главный урок. Аудит может проверить код в заданном скоупе. Но если критический риск живёт в post-deploy-настройке, в выборе схемы верификации или вообще вне основного набора контрактов, один только аудит вас не спасёт.

1) конфигурация DVN не является частью смарт-контракта в традиционном смысле. Контракт-адаптер — это стандартный OFT-boilerplate от LayerZero, в Solidity там проверять нечего. Конфигурация — это post-deploy-параметры, задаваемые через setConfig на Endpoint. Аудит кода такого объекта не видит: код написан правильно, а решение «сколько DVN требуется» — это операционный параметр, а не программный. Как точно сформулировал DefiPrime, «ошибка в конфигурации деплоя, которая находится вне обычного скоупа Solidity-аудита. Config review как отдельная дисциплина — гораздо более молодая, и нормой в индустрии ещё не стала».

2) Immunefi bug bounty KelpDAO. Программа работает с августа 2024 года, обновлена в марте 2025-го. Максимальная выплата — $250 000 — скромная сумма для протокола с TVL $1,5 млрд, как отмечал ещё LlamaRisk в своём pre-incident assessment. В скоуп включено одиннадцать контрактов: rsETH, LRT Deposit Pool, LRT Config, LRT Oracle, WithdrawalManager и другие. А вот OFTAdapter — тот самый контракт, который дренировали, — в скоуп не входил. То есть баг-хантеры, нашедшие проблему с конфигурацией моста, формально не могли рассчитывать на выплату. Это не обязательно объясняет, почему проблему не нашли, но говорит о том, как сами разработчики ранжировали приоритеты.

3) Виновата ли аудиторская индустрия? Формально — нет. Sigma Prime, MixBytes, Code4rena сделали то, за что им платили. Проверять конфигурацию кросс-чейн-моста в рамках Solidity-аудита — это примерно как просить инспектора по электрике оценить, правильно ли выбран дверной замок. Но если никто — ни разработчик, ни аудитор, ни провайдер инфраструктуры — не берёт на себя этот слой ответственности в явном виде, это общая слепая зона индустрии. Galaxy-эффект: каждый смотрит в свою сторону, а в середине остаётся дыра.

Кто виноват: честное распределение ответственности

Прямой исполнитель — атакующий. Если предварительная атрибуция LayerZero на TraderTraitor/Lazarus подтвердится, это будет ещё один эпизод в длинной цепочке операций, которые связывают с северокорейскими группами. Рассчитывать на красивый судебный финал тут наивно: в таких историях обычно речь идёт не о посадках, а об отслеживании и попытках вернуть хотя бы часть денег.

Главная доля ответственности за то, что атака вообще стала возможной, лежит на KelpDAO. Даже если принять их версию, что опасная схема пришла из default-настроек LayerZero, в проде её всё равно оставила команда проекта. Документация LayerZero прямо говорит две вещи: production-путь не стоит строить на одном DVN, а default-конфиг — это placeholder, который нужно явно настраивать и фиксировать. Поэтому мост такого масштаба, фактически завязанный на одного обязательного проверяющего, — это не спорная инженерная школа, а плохое решение. Дополнительный неприятный штрих: в публичном scope bug bounty у Kelp перечислены 11 активов, но мостовой адаптер как отдельный объект там не обозначен.

LayerZero Labs несёт крупную вторичную ответственность. Формально компания права в одном: по её версии, протокол не был взломан как протокол, а атака шла через отравление RPC-инфраструктуры, на которую опирался их DVN. Но для пострадавших это слабое утешение. Если ваш единственный проверяющий пропускает фальшивое сообщение, а запрет на 1/1-схемы появляется уже после инцидента, вопросы возникают не только к клиенту, но и к вам. Политика «один DVN — не прод» должна была быть не только строчкой в checklist, но и жёсткой практикой задолго до этого взлома.

Аудиторы виноваты не напрямую, а как часть общей слепой зоны индустрии. Публичные аудиты Kelp были сосредоточены на Solidity-реализации контрактов в заданном скоупе; сами аудиторы отдельно оговаривают, что не дают гарантий по бизнес-модели и не закрывают весь риск-периметр проекта. История Kelp как раз и показала, что уязвимым может оказаться не «красивый» основной контракт, а боевая конфигурация моста и офчейн-инфраструктура вокруг него.

Aave и другие интеграторы виноваты косвенно. Принимая rsETH как залог, рынок фактически принимал на баланс не только сам токен, но и всю безопасность мостовой схемы вокруг него. Aave отдельно подчёркивает, что уязвимость была не в самом протоколе Aave, а в активе rsETH; именно это и есть главный урок композитности в DeFi: когда в залог берут токен-обёртку, вместе с ним берут и весь риск его маршрута между сетями.

EigenLayer к этой атаке отношения не имеет, несмотря на соблазн свалить часть вины на саму идею рестейкинга. Публичная картина указывает на сбой мостового маршрута rsETH и слоя его проверки, а не на поломку самого рестейкингового механизма. Пользователи же заплатили за старую ошибку рынка: слишком многие до сих пор читают слово “decentralized” как синоним слова “safe”, хотя в реальности оно часто означает лишь то, что безопасность здесь настраивается — а значит, её можно настроить и плохо.

Выводы для индустрии

Первое и самое практическое. Децентрализованный не равно безопасный. Kelp использовал аббревиатуру DVN — Decentralized Verifier Network — в инфраструктуре, где верификатор был один. Название сработало как маркетинговая подушка, за которой оказалась пустота. Привычка смотреть не на бренды и термины, а на конкретные параметры — количество подписей, имена валидаторов, размеры мультисигов — это не паранойя. Это выживание.

Второе. Кросс-чейн остаётся самой опасной поверхностью DeFi. По кумулятивным убыткам мосты обогнали DEX, лендинг, оракулы и любую другую категорию. Ronin, Poly Network, Wormhole, Nomad, Multichain, Orbit, теперь KelpDAO — проблема не в конкретных командах, а в том, что мост — это точка концентрации капитала по определению, а все существующие модели доверия (мультисиг, light client, DVN, zk-proof) имеют свои векторы компрометации. Универсального решения пока нет, и в ближайшие пару лет не появится.

Третье. LRT-сектор проверили на прочность, и результаты смешанные. Взлом одного протокола не привёл к депегу других — weETH, ezETH, pufETH торговались в нормальных диапазонах. Но доверие к LRT как категории просело, и это надолго. Ether.fi, Renzo, Puffer, Swell проведут следующие месяцы в гонке за более высокие стандарты безопасности мостов. Если не сделают — регуляторный взгляд на всю категорию изменится в худшую сторону. Renzo-депег апреля 2024 был токеномическим эпизодом. Kelp — это уже инфраструктурный провал системного характера.

Четвёртое. 46 минут спасают миллионы. Скорость реакции команды — это не чудо, а следствие заранее написанного runbook, мультисига с достаточным числом подписантов онлайн в любой день недели и настроенных алертов. Без этого убытки выросли бы на $100 млн. Если проект декларирует emergency multisig, он обязан иметь процедуры, которые работают в субботу вечером, а не только в рабочее время Нью-Йорка.

Пятое. Аудит — необходимое, но недостаточное условие. Три аудитора, публичные отчёты, Immunefi-программа — и ни одно из этих действий не покрывало точку, через которую утекли деньги. Индустрии нужно нормализовать отдельный configuration review для кросс-чейн-развёртываний: отдельный документ, отдельная команда, обязательная публикация до листинга на крупных кредитных рынках. Пока этого нет, каждая новая LRT-эмиссия на очередную L2 — это лотерея для всех, кто её использует.

Шестое. Композитность режет в обе стороны. Именно то, что делало rsETH привлекательным — повсеместная интеграция, ликвидность, плечи через Aave, Pendle, Euler, — превратило локальный провал в системный шок. DeFi не пережил бы эту атаку без паузы в 46 минут и быстрой заморозки рынков Aave. В следующий раз может повезти меньше, и отток $13 млрд за 48 часов станет не эпизодом, а тенденцией.

Седьмое, предельно конкретное. Для держателя LRT прямо сейчас — чеклист: где именно живёт ваш токен, какой адаптер его держит, сколько DVN подписывают сообщения этого адаптера, входит ли адаптер в bug bounty протокола. Если хотя бы один из ответов — «не знаю» или «один валидатор», — у вас ровно такой же риск, какой был у держателей wrapped-rsETH на Unichain 17 апреля 2026 года в 23:59 UTC.

Итоги

Самый честный итог здесь такой: это не история про одного злодея и не про одну случайную ошибку. Не было спрятанного бэкдора, потерянного приватного ключа или банальной дыры в Solidity, которую все дружно проспали. Была цепочка решений, каждое из которых само по себе выглядело допустимым. Но вместе они сложились в конструкцию, которая развалилась сразу, как только по ней ударили в нужную точку.

KelpDAO оставил мостовой маршрут на схеме 1/1 DVN — а для актива такого масштаба это уже не просто риск, а готовая точка отказа. LayerZero ограничился предупреждениями в документации, но не закрыл саму возможность держать боевой маршрут на одном обязательном проверяющем. Аудиторы смотрели на код, а не на боевую конфигурацию моста. Aave и десятки других протоколов принимали rsETH как обычный залог, хотя вместе с ним на баланс принимали и весь риск его кроссчейн-обвязки. По отдельности всё это можно объяснить. Вместе — это и есть рецепт катастрофы.

Поэтому главный вопрос после взлома KelpDAO — не только «кто виноват», но и «почему рынок снова наступил на те же грабли». Мосты и кроссчейн-инфраструктура ломаются не первый год. Уроки Ronin, Wormhole, Nomad и других историй давно известны. Но на практике индустрия раз за разом выбирает скорость, TVL и экспансию по сетям, а не запас прочности. Пока всё работает, это выглядит как рост. Когда схема рвётся, выясняется, что рост стоял на слишком хрупкой конструкции.

Именно поэтому история KelpDAO важна не только из-за суммы. Она показала, насколько опасной может быть не ошибка в коде, а ошибка в архитектуре доверия. Когда маршрут на сотни миллионов долларов фактически опирается на одного проверяющего, вопрос уже не в том, случится ли проблема, а в том, когда именно по этому месту ударят.

Самая неприятная мысль напоследок проста: KelpDAO — вряд ли последний такой случай. Следующий протокол с похожей схемой может уже сейчас спокойно работать, собирать ликвидность, проходить аудиты и выглядеть вполне надёжно. До тех пор, пока не выяснится, что в основе у него всё тот же одинокий «1 из 1».

Крипто-новости: https://t.me/crypto_hd
📌 Больше статей: https://t.me/web3ru
📌 ТОП-1 биржа в СНГ: Bybit (+бонусы для вас)

Рекомендуем также:

Взлом Grinex и легенда о «западных спецслужбах»
Виноваты «структуры недружественных государств» ? Давайте разбираться…
Криптобиржи блокируют граждан России. За что? Как этого избежать?
Одни кейсы — это точечная AML-проверка транзакций, другие – прямой юрисдикционный запрет, третьи – Enhanced Due Diligence (EDD)...Прочитайте.

Источники

  1. LayerZero Labs — официальное заявление «KelpDAO Incident Statement» (20 апреля 2026, layerzero.network/blog).
  2. CoinDesk — серия репортажей 19–20 апреля: «$292M Kelp DAO exploit», «LayerZero blames Kelp's setup», «Kelp DAO claims LayerZero's default settings», «$13B DeFi wipeout in two days».
  3. Blockaid — технический разбор «How a Single LayerZero DVN Compromise Drained $292M from KelpDAO».
  4. Innora.ai — on-chain форензик с реконструкцией кластера из 9 EOA и полным таймлайном транзакций.
  5. DefiPrime — расследование «Kelp DAO rsETH Exploit: $292M Minted From a 1-of-1 Bridge, and Who Actually Pays».
  6. The Block, Decrypt, Unchained Crypto — репортажи об атрибуции к Lazarus / TraderTraitor.
  7. Aave governance — тред «rsETH incident — 2026-04-18», пост Marc Zeller «Ending the ACI Frontier program», а также исторический тред «rsETH precautionary freezing 30/04/2025» по оракульному инциденту прошлого года.
  8. KernelDAO audits — отчёты Sigma Prime (rsETH Adapter, ноябрь 2024), MixBytes (март 2024), Code4rena (декабрь 2023) на kerneldao.com/kelp/audits.
  9. Immunefi — описание bug bounty программы KelpDAO (immunefi.com/bug-bounty/kelp-dao).
  10. Chainalysis — Crypto Crime Report 2025 (данные по $2,02 млрд DPRK-краж и методам TraderTraitor / Lazarus).

Subscribe to web3ru research

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe