
Блокчейн-безопасностная организация SlowMist опубликовала TI Alert 18 июня; в ходе мониторинга было обнаружено, что DeFi-протокол для майнинга ликвидности Little Boy Plus в сети BSC подвергся атаке, в результате потери составили около 377 642 USDT (примерно 610,555 BNB). SlowMist заявляет, что уязвимость в ходе этой атаки связана с функцией LBPHashrate._update().
Корень уязвимости: функция LBPHashrate._update() позволяет обходить проверку авторизации через transferFrom со значением 0
(Источник:Etherscan)
Согласно техническому анализу SlowMist, суть уязвимости заключается в следующем: атакующему не нужно получать никакую авторизацию для пары (pair) — он может напрямую вызвать LBPHashrate.transferFrom(pair, DEAD, 0) (перевод с нулевым значением). Этот вызов не предусматривает фактического перевода активов, но при этом обходит механизм проверки авторизации OpenZeppelin (allowance) и запускает внутреннюю функцию _harvest(pair).
Сценарий атаки: от вызова со значением 0 до опустошения USDT через PancakePair.swap()
По анализу SlowMist, ход атаки выглядит так: после вызова _harvest(pair) функция вызывает LBP.mintReward(pair, reward), напрямую чеканя токены LBP в адрес пула ликвидности PancakeSwap.
Эта бесплатная эмиссия LBP увеличивает балансовые остатки торговой пары, но не увеличивает реальные резервы, из-за чего происходит дисбаланс цен в пуле ликвидности. Затем атакующий использует функцию PancakePair.swap(), извлекая из пула весь USDT по мнимому курсу, возникшему из-за этого несоответствия, тем самым завершив атаку.
Частые вопросы
В чём причина этой атаки?
Согласно техническому анализу SlowMist, коренная причина заключается в дефекте логики обработки в функции LBPHashrate._update() на вызовы transferFrom со значением 0. Это позволяет любому вызывать _harvest() без наличия какой-либо авторизации, что приводит к несанкционированной эмиссии токенов LBP. Речь идёт об уязвимости бизнес-логики смарт-контракта, а не о проблеме криптографического алгоритма.
Почему атакующий выбрал transferFrom со значением 0 в качестве точки входа?
По объяснению SlowMist, стандартный механизм проверки авторизации в OpenZeppelin обычно активируется только тогда, когда сумма перевода больше нуля. Перевод со значением 0 обходит это ограничение, позволяя атакующему вызывать внутренние функции без владения какими-либо токенами или авторизациями — это и стало ключевым прорывом в данной атаке.
Откуда взяты конкретные цифры масштаба потерь?
Число потерь взято из публикации SlowMist 18 июня 2026 года на платформе X (бывший Twitter) — SlowMist TI Alert. Точные цифры: ~377,642 USDT (~610,555 BNB). Эти данные были подтверждены инструментами on-chain мониторинга SlowMist.