Нулевой перевод токенов, который запустил выдачу наград самому пулу: как ошибка в LBPHashrate стоила $377,6 тыс.
18.06.2026 | CoinKyt Company

17 июня 2026 года злоумышленник провернул многоходовую атаку на пул Little Boy Plus / BSC-USD, воспользовавшись мгновенными кредитами и тонкой логической ошибкой в системе наград проекта. Ключевую роль сыграл «нулевой перевод» токенов — операция, которая формально ничего не передаёт, но из-за ошибки в коде запускала реальную выдачу новых токенов.

Little Boy Plus — токен, торгуемый на бирже PancakeSwap в сети BNB Smart Chain (BSC), в пуле ликвидности LBP/BSC-USD. Пул ликвидности — это контракт, в который участники вносят пару токенов, чтобы другие могли обменивать их между собой; за это вкладчики получают вознаграждение.


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

 


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


1️⃣ Мгновенные кредиты на крупную сумму. Через контракт-исполнитель 0x5449ded887576f43Fc339851e942eBc1E6F8118b злоумышленник временно получил очень большой объём стейблкоина BSC-USD: около 7,77 млн от платформы Lista DAO (Moolah) и около 34,09 млн от PancakeSwap Infinity Vault. Это флэш-лоаны — кредиты без залога, которые берутся и обязательно возвращаются в рамках одной транзакции.


2️⃣ Добавление ликвидности. На полученные средства атакующий добавил ликвидность в пул LBP/BSC-USD. После этого действия система LBPHashrate создала для адреса самого пула возможность получить награду — то есть пул как бы «заработал» право на дополнительные токены LBP, хотя пулы ликвидности по задумке не должны получать такие награды как обычные пользователи.


3️⃣ Нулевой перевод с побочным эффектом. Здесь произошло ключевое действие. Атакующий вызвал функцию transferFrom с нулевой суммой — то есть формально приказал «перевести 0 токенов» с адреса пары на адрес DEAD (адрес, используемый для уничтожения токенов). Такая операция с нулевой суммой не требует разрешения от владельца — в данном случае от самой пары — и в норме не должна иметь никаких последствий. Но из-за ошибки в коде LBPHashrate даже нулевой перевод запускал внутреннюю логику начисления и выдачи награды.


4️⃣ Выпуск токенов прямо в пул. В результате этого вызова новые токены LBP были выпущены прямо на адрес пары PancakeSwap. Баланс LBP в пуле вырос — но внутренние «резервы», которые контракт пула использует для расчёта курса обмена, не обновились соответствующим образом. Образовался разрыв между тем, сколько токенов реально лежит в пуле, и тем, сколько пул «думает», что у него есть.


5️⃣ Вывод средств через обмен. Используя этот разрыв, злоумышленник обменял токены в пуле и забрал BSC-USD. После возврата флэш-кредитов на контракте атакующего осталось чистого ущерба около 377 тыс. BSC-USD.

 


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


Главная ошибка заключалась в том, что функция обновления LBPHashrate срабатывала даже при нулевом переводе токенов. Логически нулевая операция не должна была иметь никакого эффекта — но разработчики не предусмотрели эту ситуацию, и код всё равно запускал начисление награды.


Вторая часть проблемы — пул ликвидности (AMM-пара) фактически смог стать получателем этой награды, как если бы он был обычным пользователем. Пулы ликвидности — это технические контракты, которые рассчитаны на хранение и обмен токенов по строго определённой формуле, а не на «заработок» дополнительных наград. Когда новые токены поступили напрямую в пул, а его внутренний учёт резервов не обновился вместе с реальным балансом, образовался разрыв, которым воспользовался атакующий.

 


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


После завершения атаки и возврата заёмных средств на контракте 0x5449ded887576f43Fc339851e942eBc1E6F8118b осталось около 377 000 BSC-USD. Эти средства были обменены через PancakeSwap на примерно 610 WBNB, затем конвертированы в BNB и отправлены на адрес злоумышленника 0x515788797914Cb663114aEb806B3CFb6096F6D1A.


Далее средства разделились:


— 25 BNB были отправлены на адрес 0xB1dDE17a9be9F123f63420A5b41Af5FD7FCF0D19, где остаются на момент расследования


— оставшаяся часть была переведена на адрес 0x597a11e35Aea9280a070967cBBE6aaFebD293DFF и далее отправлена в миксер Tornado Cash — сервис, который скрывает происхождение и дальнейший путь криптовалюты, существенно затрудняя отслеживание.


Основная транзакция: 0x55856d9fda4c5be5193561c7d775e823c3d6e499da44aab9da963daf61c50b0c

 


Заключение


Атака на Little Boy Plus — пример того, как, казалось бы, безобидная операция с нулевой суммой может стать ключом ко взлому, если код недостаточно тщательно проверяет крайние случаи. Разработчики предусмотрели логику начисления наград, но не подумали о ситуации, когда сама операция перевода токенов формально ничего не передаёт.


Часть похищенных средств уже отправлена в миксер, что усложняет дальнейшее отслеживание. Команда «КоинКит» продолжает анализ оставшихся маршрутов.