С 28 по 30 октября мост BabyDoge между BNB Chain и TON выдал одному получателю 242 трлн BabyDoge по заявкам, за которыми не стоит ни одного депозита: 149 трлн из хранилища в TON и 93 трлн из хранилища в BNB Chain. Токены сразу продавались на STON.fi и в пулах BNB Chain, выручка — 35 942 Gram и 42,7 BNB, около 75 тыс. долларов по курсу тех дней. Касается это держателей BabyDoge, которые переводят монету между сетями: хранилища — запас, из которого мост выдаёт монету пришедшим с другой стороны. Сумму сдерживает только суточный лимит в 50 трлн на вывод, и вывод продолжался в ночь на 30 октября.
Что произошло
Мост устроен как пара хранилищ: в одной сети токены блокируются, в другой столько же выдаётся из запаса. Чтобы получить токены, нужна заявка на вывод (claim) — сообщение с суммой, получателем, номером и подписью ключа моста, которая подтверждает, что депозит на другой стороне был.
О взломе написали в ночь на 29 октября, когда вывод шёл первые сутки. Ниже — все заявки получателя по обеим сетям, время московское.
| Время | Сеть | Сумма, трлн BabyDoge | Номер заявки |
|---|---|---|---|
| 28.10, 19:55 | BNB Chain | 49,999 | 777101 |
| 28.10, 21:41 | TON | 49,999 | 888001 |
| 29.10, 03:57 | TON | 49 | 888002 |
| 29.10, 03:58 | BNB Chain | 8,696 | 888002 |
| 29.10, 21:32 | TON | 1 | 888003 |
| 30.10, 03:01 | TON | 49 | 888004 |
| 30.10, 03:01 | BNB Chain | 34 | 888003 |
Суммы упираются в лимит: 49 трлн и следом 1 трлн в TON 29 октября дают ровно 50 трлн за сутки по UTC. Сутки моста начинаются в 03:00 по Москве, и выводы 29 и 30 октября приходятся на первый час новых суток.
Первая заявка в TON в 21:32 28 октября была отклонена контрактом хранилища с кодом ошибки 45912, а газ вернулся отправителю. Через девять минут прошла следующая — на 49,999 трлн.
Почему это не обычный вывод
За год до 28 октября из хранилища в TON вышло 188 заявок. Типичная — около 1 трлн BabyDoge, самая крупная — 5,2 трлн. Самый большой день, 6 мая, — 17,5 трлн на несколько заявок. Между 29 сентября и 28 октября вывод был один — 9 октября, на 0,78 трлн.

Каждая заявка получателя — 49–50 трлн, вдесятеро больше крупнейшей за год. Различаются и сами заявки.
Номера. Заявки обычных пользователей нумеруются по порядку: последние перед 28 октября — 366, 368, 373. У этого получателя — 888001, 888002, 888003, 888004 и одна 777101. Номер нужен хранилищу против повтора: под каждую заявку оно разворачивает отдельный маленький контракт, и вторая заявка с тем же номером натыкается на уже существующий.
Отправитель депозита. В заявке указано, кто внёс токены на другой стороне. В первой заявке в TON отправителем значится сам получатель в BNB Chain, во всех остальных и в обеих сетях — адрес 0x05eA4AF4…9d1122. На этом адресе в BNB Chain ноль транзакций и ноль на балансе, а с адреса получателя BabyDoge в контракт моста в эти дни не поступали. Депозитов, на которые ссылаются заявки, нет.
Подпись. При этом подписи проходят проверку в обеих сетях: контракты принимают заявки и выдают токены. Ончейн это выглядит так, будто подписывающий ключ моста или сервис, который подтверждает депозиты, подписывает заявки без депозита за ними. Какой из двух вариантов — по цепочке не различить.
Как выглядит заявка изнутри
В TON заявка — сообщение с кодом операции 0x02771e27, которое получатель отправляет хранилищу сам и прикладывает 0,6 Gram на газ. В теле: номер, сумма, адрес получателя, сеть-источник строкой evm.56 (BNB Chain), адрес отправителя депозита строкой и подпись в отдельной ячейке. Хранилище разворачивает контракт под номер, тот отвечает, что номер свободен, и только потом хранилище переводит жетоны со своего кошелька. В BNB Chain то же самое — вызов 0x984bd4b2 у контракта моста с суммой, получателем, номером, строкой ton.0 и одной подписью. Две заявки в BNB Chain отправил не получатель, а адрес с четырьмя транзакциями за всю историю — две из них и есть эти заявки.
Куда ушли токены в TON
Кошелёк получателя создан 3 апреля 2025 года и полтора года стоял без движения. 28 октября в 20:27, за час до первой заявки в TON, на него пришли 18 Gram на газ.
Каждые 49–50 трлн продавались на STON.fi в течение часа после вывода, порциями от 0,25 до 39 трлн. За три ночи продажи дали 35 942 Gram. Дальше Gram разошлись двумя путями.
- 25 660 Gram пятью переводами ушли на кошелёк, к каждому приложен четырёхзначный комментарий: 1081, 1202, 1073, 1086, 1103. Такие же номера стоят на десятках переводов от других отправителей — так обменные сервисы различают заказы. Кошелёк пополняется с горячих кошельков Binance и Bitget и отправляет Gram на контракт — тот самый, с которого пришли 18 Gram на газ.
- 10 290 Gram 30 октября ушли на новый кошелёк, а оттуда в 03:29 — 10 000 Gram на депозитный адрес KuCoin с мемо, по которому биржа зачисляет перевод на конкретный аккаунт. Ещё 100 Gram — на кошелёк, развёрнутый той же минутой.
Куда ушли токены в BNB Chain
Все 92,7 трлн получатель продал в пулах BNB Chain через агрегатор: 23,09 BNB 28 октября, 4,03 BNB 29 октября и 15,63 BNB 30 октября, каждый раз через 2–20 минут после вывода. Из 42,7 BNB на адресе осталось 0,22 BNB, остальное переведено дальше.
Что осталось в мосту
На 30 октября в хранилище моста в TON лежит 132,8 трлн BabyDoge, в BNB Chain — 157,5 трлн, вместе около 94 тыс. долларов. При лимите 50 трлн в сутки хранилища в TON хватает на три таких ночи.
Депозиты мост принимает и сейчас. За те же трое суток два адреса отправили через хранилище в TON 99 трлн BabyDoge в сторону BNB Chain — больше, чем за любой месяц этого года, — и 77 трлн из них пришлись на первые пять минут новых суток моста.




