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

Опасное сжигание. Как проект Movie Token «отдал» хакеру $242 тыс.

25.03.2026

429

5 мин

10 марта 2026 года токен Movie Token (MT) подвергся атаке: злоумышленнику удалось вывести около $242 000 из-за критической ошибки в логике продажи токенов. GetBlock AML Research пошагово разбирает логическую ошибку в коде проекта, которая привела к потере средств.

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

Адреса, участвовавшие в атаке

Атакующий кошелек
xDB0901A3254f47c0CE57fFFCE2C730Bc33A1c0e1
Пострадавший адрес
0xb32979f3A5b426a4A6Ae920f2B391D885Abf4C18

Пошаговый алгоритм атаки

Сначала злоумышленник взял так называемый «мгновенный займ» (кредит, который нужно вернуть в рамках одной операции) на сумму 358 681.54 WBNB, фактически использовав весь доступный баланс из одного источника.

Затем он провел серию обменов: купил небольшое количество MT, добавил ликвидность в пул и получил специальный токен, подтверждающий долю в пуле. После этого он обменял 496 WBNB на 10 миллионов MT, отправив их в систему обмена.

Далее он удалил ранее добавленную ликвидность и вернул себе те же 10 миллионов MT. Такой обходной путь позволил избежать комиссий и ограничений, которые мешали бы прямой покупке.

На следующем этапе злоумышленник инициировал еще одну операцию с заемными средствами. Внутри этой операции около 90% токенов (после комиссии) было отправлено в пул, но одновременно это же количество было учтено как подлежащее сжиганию в будущем.

После этого он обменял 717 WBNB примерно на 10 миллионов MT, что резко сократило количество токенов в пуле. Затем он вручную вызвал функцию распределения наград, которая привела к сжиганию примерно 6.74 миллиона MT прямо из пула.

В результате в пуле осталось крайне мало токенов MT (около 21 000), но при этом значительное количество WBNB (~1 201). Это создало сильный перекос в цене. В финале злоумышленник обменял свои ~10 миллионов MT на 1 198.628 WBNB, воспользовавшись искаженной ценой. После возврата первоначального займа он получил прибыль 381.7468 WBNB.

В чем была уязвимость

Корень проблемы — ошибка в логике продажи токенов. При продаже система одновременно:

  • отправляла токены в пул
  • и записывала их как «подлежащие сжиганию»

Позже эти же токены повторно списывались (сжигались), что приводило к искажению баланса. Судя по структуре кода, эта логика, вероятно, была реализована по ошибке.

Что произошло с деньгами

Транзакция обмена похищенных активов при помощи Railgun

После атаки злоумышленник обменял полученные 381.7468 WBNB примерно на $242 000 в USDC, затем перевел средства в другую сеть, где обменял их на DAI. В конце деньги были дополнительно «скрыты» с помощью специализированного инструмента для повышения анонимности (Railgun).

Подписывайтесь на Getblock Magazine и будьте всегда в курсе последних новостей из мира криптовалют и цифровой экономики