
Блокчейн-безпекова організація SlowMist 18 червня опублікувала TI Alert: під час моніторингу виявили, що на BSC-ланцюгу DeFi-протокол Little Boy Plus зазнав хакерської атаки, внаслідок чого втратили близько 377,642 USDT (приблизно 610,555 BNB). SlowMist зазначає, що в цьому нападі вразливість була в функції LBPHashrate._update().
Джерело вразливості: функція LBPHashrate._update() може бути обходом перевірки авторизації через transferFrom зі нульовим значенням
(Джерело: Etherscan)
Згідно з технічним аналізом SlowMist, суть проблеми така: атакувальнику не потрібно отримувати будь-яку авторизацію для торгової пари (pair) — він може напряму викликати LBPHashrate.transferFrom(pair, DEAD, 0) (переведення зі значенням 0). Цей виклик не передбачає фактичного переведення активів, однак обминає механізм перевірки авторизації OpenZeppelin (allowance) і запускає внутрішню функцію _harvest(pair).
Маршрут виконання атаки: від виклику з нульовим значенням до PancakePair.swap(), що “викачує” USDT
За аналізом 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 у SlowMist TI Alert, опублікованому 18 червня 2026 року на платформі X (колишній Twitter). Точне значення: ~377,642 USDT (~610,555 BNB). Його підтверджено через інструменти пов’язаного з ланцюгом моніторингу SlowMist.