Хакерская уловка LULA: как украли $578 тыс. без взлома биржи
В сети BNB Smart Chain произошла атака на токен LULA, благодаря которой злоумышленник обогатился на $578 тыс. Несколько исследователей X практически одновременно сообщили о случившемся инциденте.
Токен LULA торговался в пуле ликвидности децентрализованной биржи PancakeSwap, и проблема крылась в его коде. Атака основывалась на функции recycle(), заложенной в смарт-контракте Rental.
Эта функция позволяла контракту забирать LULA прямо из пары PancakeSwap V2 и вызывать sync(), которая синхронизировала учетные резервы с новыми, искаженными балансами. Таким образом, манипуляции с весами пары USDT и LULA делали возможным изменение цены.
Сначала был проведен крупный обмен USDT на LULA, что увеличило резерв USDT. Затем неоднократные вызовы recycle() сократили резерв LULA, а заключительный обмен LULA опустошил ликвидность пула.
Цель атакующего — уменьшение количества токенов LULA в пуле, что искусственно завысило их стоимость. Злоумышленник обменял малое количество LULA по завышенной цене, воспользовавшись дефляционным эффектом.
Подготовка к атаке началась за 12 дней до нее: установлены вспомогательные контракты для накопления вознаграждений. Это стало точкой входа для связки claimReward() → recycle(), что усилило дефляционный эффект.
Основной этап атаки был осуществлен с помощью флеш-займа на $237 млн. Этот инструмент позволил временно использовать крупную сумму без залога, что помогло вывести LULA из пула и усилить действие recycle().