Малоликвидный пул и не обновлённые резервы: как похитили 74 BNB из Likwid Finance
21.09.2026 CoinKyt Company
3 мин
share button
18 сентября 2026 года злоумышленник воспользовался ошибкой в расчёте займов протокола Likwid Finance и похитил 74,31 BNB. Он выбрал пул с низкой ликвидностью, искусственно разогнал цену мем-токена, а затем многократно получал займы, потому что контракт не обновлял внутренние резервы после каждой операции.
Расследование «КоинКит» анализирует, как именно сработала атака и куда ушли средства.

 


Введение


Likwid Finance
— это протокол кредитования в сети BNB Smart Chain. Пользователи вносят криптовалюту как обеспечение и получают займы в других токенах.

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

Мем-токен
— это криптовалюта, созданная на волне хайпа, обычно с низкой ликвидностью и нестабильной ценой.

 


Ход инцидента

  1. Злоумышленник выбрал пул с парой BNB и мем-токеном. Этот пул был крайне малоликвидным: более 80% всех мем-токенов находилось именно в нём, а реальной ликвидности для обмена было всего около 18 BNB.

  2. Он начал покупать мем-токен небольшими сделками. Всего потратил около 55 BNB. Из-за того, что в пуле было мало токенов, каждая покупка сильно двигала цену. Цена мем-токена выросла почти в 5 раз.

  3. Затем он использовал функцию Likwid, которая позволяет внести один токен пары как обеспечение и занять второй. Он внёс купленные мем-токены как залог и начал получать BNB.

  4. Чтобы получить больше средств, он разбил купленные токены на множество отдельных позиций и брал займ под каждую.

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

  6. В результате несколько отдельных позиций получали практически одинаковую оценку залога, как будто предыдущих займов не было. Из пула LikwidVault было похищено 74,31 BNB.

 

 

Почему это стало возможным


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

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

 


Детали расследования: движение средств


Похищенные ~74,3 BNB поступили на контракт злоумышленника:
0xC63FB27F52ed8d06673c60c3075B2D3bD26Cf4AA

Затем они были отправлены на адрес:
0x90bde1e0Bb16B3DEEb9d638aCf8D01F19fD2F31e

Далее около 4,41 BNB десятью равными транзакциями ушли на адрес:
0x8c507e1b268aee2c0A36cd297D65297D0f0fD7ce
где были обменяны через Likwid на ~195 млн токенов DQ, отправлены обратно и снова обменяны на ~4,96 BNB.

Основная часть — 70 BNB — была направлена в миксер Tornado Cash — сервис, который скрывает источник и путь криптовалюты. Оставшиеся ~4,96 BNB были смешаны с другими средствами и также отправлены в Tornado Cash.

 


Заключение


Инцидент в Likwid Finance показал, что использование малоликвидного пула как единственного источника цены и отсутствие обновления резервов при выдаче займов создаёт уязвимость. Злоумышленник искусственно разогнал цену мем-токена и воспользовался ошибкой в расчёте, чтобы многократно получить займ по одной и той же завышенной оценке.