Белая шляпа под псевдонимом, известная как Канкоду. заявлено они представили отчет о вознаграждении за ошибки, который выявил конкретную уязвимость в Euler Financeчто впоследствии привело к атаке на протокол децентрализованного кредитования на сумму 200 миллионов долларов в марте.

«Исправление ошибки, о которой я сообщил, закончилось введением функции, отвечающей за взлом», — написал Канкоду в сообщении на X (ранее Twitter) вчера.

На Euler пользователи могут одалживать активы и получать взамен токены поставщика ликвидности, известные как eTokens. Эти eTokens, такие как eDAI для DAI Депозиты представляют собой внесенный базовый актив плюс любые полученные проценты. Количество предоставляемых eToken определяется обменным курсом, который учитывает проценты по депонированному активу.

Канкоду рассказал, что в июле 2022 года они сообщили об Эйлере «ошибка первого депозита», что является отдельным вопросом от мартовского инцидента. Эта ошибка, обнаруженная Канкудо, могла позволить злоумышленникам использовать Эйлера, искусственно завышая обменные курсы, что позволило бы им вывести все токены. Они добавили, что команда Эйлера наградила их 50 000 долларов за открытие.

Канкоду — крипто-белая шляпа, термин, обозначающий этического хакера. 17-е место на платформе web3 bug bounty Immunefiпредставив 28 платных отчетов с общим заработком $689 000.

Исправление и его непредвиденные последствия

Чтобы устранить конкретную уязвимость, Канкоду заявил, что Эйлер реализовал функцию, согласно которой все новые eTokens начинаются с общего количества и резерва в 1 миллион вэй, наименьшую единицу эфира. Это изменение сделало первоначальную атаку экономически нецелесообразной. По словам Канкоду, этот подход повторял подход Uniswap версия 2 и действовала для новых eToken.

Для существующих eToken с резервами менее 1 миллиона Wei Эйлер добавил функцию под названием donateToReserves. Хотя эта функция была разработана для увеличения резервов выше порога в 1 миллион вэй, она непреднамеренно создала большую уязвимость. Атака стоимостью 200 миллионов долларов была осуществлена ​​с использованием функции donateToReserves в сочетании с уникальным механизмом ликвидации Эйлера.

«Белая шляпа» сообщила об ошибке, упомянутой в твите, через Immunefi. В то время Эйлер предлагал награду в 1 миллион долларов за критические ошибки, но за это конкретное открытие было выплачено вознаграждение в 50 тысяч долларов, учитывая его меньшую серьезность. После того как исправление было разработано, оно кратко обсуждалось в белой шляпе, передавалось другим людям, знакомым с протоколом, проверялось предыдущим аудитором Euler и внедрялось после голосования руководства», — сказал Майкл Бентли, генеральный директор Euler Labs.

Однако Euler Labs не прокомментировала, привел ли более ранний отчет об ошибке к последующему массовому взлому.

Взлом и восстановление Эйлера на 200 миллионов долларов

Атака Эйлера с помощью срочного кредита 13 марта привела к потере почти 200 миллионов долларов по нескольким активам. В их число вошли 136 миллионов долларов в эфире (stETH), 34 миллиона долларов в USDC, 19 миллионов долларов в упакованных биткойнах (WBTC) и 8,7 миллиона долларов в биткойнах. DAI.

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

После атаки стоимость токена Euler EUL упала почти на 70%, упав до $2,07. По последним данным CoinGecko, токен сейчас торгуется по цене 2,58 доллара.

ЭУЛ/USD ценовой график.  Изображение: CoinGecko.

ЭУЛ/USD ценовой график. Изображение: МонетаGecko.

Позже злоумышленник вернул 177 миллионов долларов в ходе серии транзакций в марте и апреле, что составило ожидаемые «возвратные средства» от взлома с поправкой на вознаграждение, предложенное проектом.

«После успешных переговоров все возмещаемые средства, взятые из протокола Эйлера 13 марта, теперь успешно возвращены эксплуататором», — заявил тогда разработчик проекта Euler Labs.

При содействии Вишала Чавлы.