Мост TAC на $2.5M+: разбор drain-атаки и как держателю крипты не попасть на следующую

11 мая 2026 года в 09:14 UTC началась drain-атака на admin-контракт кросс-чейн моста TAC между TON и одноимённым EVM-совместимым L2. К моменту написания статьи (15 мая) drain всё ещё активен: с моста выведено более 2,5 миллионов долларов в обёрнутых джеттонах — wUSDT, BLUM, tsTON и других — плюс 384 тысячи свежевыпущенных нативных TAC. Официальной коммуникации от TAC-команды до сих пор нет.

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

Контекст: что вообще такое «мост» в крипте

Кросс-чейн мост — это инфраструктура, которая позволяет переносить активы между разными блокчейн-сетями. Bitcoin в одной сети, Ethereum в другой, TON в третьей — у каждой свои правила и свои активы. Прямой перевод между ними невозможен: BTC не существует на Ethereum, ETH не существует на TON. Мост решает эту проблему через обёрнутые активы (wrapped tokens).

Самая распространённая архитектура моста — это lock-and-mint. Логика следующая:

  • Пользователь блокирует оригинальный актив в смарт-контракте моста на исходной сети.
  • Мост эмитирует на целевой сети «обёрнутый» эквивалент — например, wUSDT с приставкой «w» для wrapped.
  • Чтобы вернуть оригинальный актив обратно, обёрнутый сжигается на целевой сети, а оригинал релизится из контракта на исходной.

В нормальных условиях каждый обёрнутый токен обеспечен реально заблокированным оригиналом 1:1 — никакой инфляции. Проблема в том, что доверие сосредоточено в валидаторах моста: если кворум скомпрометирован, обёрнутый актив можно выпустить «из воздуха» без реальной блокировки, и затем превратить его обратно в оригинал — то есть фактически драенить пул контракта.

Именно так произошло с TAC. По одной и той же модели драенили Ronin Bridge в 2022 году ($625 млн), Wormhole в 2022-м ($321 млн), Nomad в 2022-м ($190 млн) и десятки других мостов в 2023-2025 годах. Bridge-уязвимости — это структурный, повторяющийся класс рисков, не «случайный взлом».

Что произошло с TAC

TAC — это EVM-совместимый L2, ассоциированный с TON. Мост между TON и TAC устроен по схеме lock-and-mint, причём admin-контракт моста на стороне TON содержит около 2400 строк скомпилированного байт-кода (для сравнения: классический контракт-кошелёк — это 100-300 строк).

При детальном дизассемблировании этого контракта в открытых эксплорерах (Tonviewer, Tonscan) обнаруживается ключевая особенность: в коде моста нет ни одной инструкции верификации криптографических подписей. То есть мост не проверяет, что событие, по которому он эмитит wrapped-актив, действительно подписано валидаторами TAC L2. Он принимает на веру то, что присылает off-chain компонент — так называемый «ротатор».

В нормальных условиях ротатор присылает корректные данные от валидаторов TAC, и всё работает. Но в случае, если кто-то получает контроль над ротатором, он может прислать что угодно, и контракт моста безропотно эмитирует обёрнутые активы под управление злоумышленника. Никаких дополнительных проверок безопасности на стороне TON не предусмотрено.

В районе 11 мая ровно это и произошло. Каждые 36 секунд ротатор инжектирует «корень» с разрешением на эмиссию, а через 2-7 секунд связанный с атакующим контракт-прокси клеймит эту эмиссию и выводит обёрнутые джеттоны на конечный адрес. Цикл повторяется до сих пор.

Это взлом или умысел: 4 маркера insider-rug

В крипто-форензике разделяют внешний эксплоит (хакер нашёл баг и эксплуатировал его) и insider-rug (атакующим оказывается сам автор или инсайдер протокола). По технике атаки они могут выглядеть одинаково, но по сопровождающим маркерам обычно различимы. На TAC сошлись все четыре классических маркера insider-сценария:

1. Атака идёт через штатные admin-функции, не через эксплойт уязвимости. Drain выполняется через обычный хендлер моста, который проектировался как часть рабочей логики. Никакого reentrancy, integer overflow или ошибки доступа — атакующий просто использует штатные права, которые у admin-контракта были изначально.

2. У admin-кошелька была долгая легитимная история. Адрес-триггер атаки (0:7d628ee4...) был создан в июле 2025 года и в течение десяти месяцев совершал нормальные пользовательские операции с мостом — кросс-чейн обмены, переводы, депозиты. К моменту drain'а он выглядит как обычный пользователь, что усложняет атрибуцию.

3. Funding-источники атакующих кошельков — KYC-free CEX. Кошелёк-триггер и финальный получатель украденных средств пополнялись через FixedFloat — биржу-обменник без верификации личности. Использование таких сервисов для funding атакующих контрактов — стандартный паттерн crypto-money-laundering. Российскому пользователю эта деталь должна быть знакома: FixedFloat и аналоги популярны для серых обменов.

4. Молчание команды. Самый показательный маркер. У admin-контракта моста есть техническая возможность остановить drain одной транзакцией — вызвать функцию WIPE_VALIDATORS, которая очистит словарь авторизованных источников эмиссии. Это операция в одно нажатие, если ключ admin-кошелька на руках. Команда TAC не сделала этого ни в первый час, ни в первый день, ни в первую неделю drain'а. Параллельно отсутствует любая публичная коммуникация — нет твита, нет постмортема, нет даже подтверждения проблемы.

Эта четвёрка маркеров — фирменная подпись insider-rug. Аналогичный паттерн наблюдался у проектов Multichain в 2023 году ($120 млн потерь) и нескольких более мелких bridge'ей в 2024-2025.

Что это значит для держателя крипты

Главное практическое следствие: держатель wrapped-актива из моста TAC рискует потерять его в любой момент, пока admin-команда не вмешается. Если у вас есть обёрнутые USDT, ETH, BTC или другие активы, выведенные на TAC L2 или из TAC обратно в TON через данный мост, выводите их немедленно, не дожидаясь публичной коммуникации команды.

Это, к сожалению, единичный кейс. Похожая угроза в принципе существует для любого моста, у которого:

  • доверие сконцентрировано в небольшом наборе валидаторов;
  • on-chain верификация подписей валидаторов отсутствует или ослаблена;
  • admin-функции (включая остановку моста или обновление кода) не защищены тайм-локами;
  • команда непрозрачна, постмортемов не публикует.

Чек-лист пользователя: как проверить мост перед использованием

Конкретный набор действий, который можно сделать за 15-30 минут и который существенно снижает риск попасть на следующий drain. Подходит для держателей крипты без технического бэкграунда.

Шаг 1. Проверьте, кто стоит за мостом. У надёжного моста должна быть публичная команда, постмортемы по предыдущим инцидентам (если были), регулярные аудиты от известных компаний (CertiK, Trail of Bits, Halborn, OtterSec, Hexens). Если команда анонимна или информация о ней противоречива — это серьёзный риск-фактор. Проверьте twitter, github, dune-дешборды.

Шаг 2. Проверьте, кто валидаторы моста. В bridge-документации должно быть явно указано, сколько валидаторов, кто они, какие требования к подписям. «Validated by community» без конкретики — красный флаг. Если валидаторы не раскрыты или сосредоточены в одной компании — мост работает на доверии к этой компании.

Шаг 3. Проверьте, аудитировался ли смарт-контракт моста. На сайтах bridge'ей обычно есть раздел «security» со ссылками на отчёты аудиторов. Полезно открыть отчёт и убедиться, что аудитор был не дочерним подразделением команды моста, а независимым. Скан-отчёты от Skynet/Solidproof/Anonix — это не аудиты, а маркетинговые материалы, на них нельзя опираться.

Шаг 4. Не держите большие суммы во wrapped-активах долго. Wrapped-активы — это инструмент перехода между сетями, а не место для хранения капитала. Если средства не используются активно в DeFi-протоколах целевой сети, целесообразно вернуть их в оригинальную форму на исходной сети. Это снижает экспозицию ко всем bridge-рискам сразу.

Шаг 5. Подпишитесь на real-time оповещения о крупных движениях. Сервисы типа PeckShield, BlockSec, Halborn и независимые исследователи в твиттере (rekt.news, samczsun, peckshieldalert) часто обнаруживают drain в первые часы — раньше, чем команда проекта подтверждает проблему. Один такой alert может сэкономить вам всю позицию.

Урок для всей крипто-индустрии

Структурная проблема bridge-моделей известна уже три года. После Ronin, Wormhole, Nomad, Multichain и десятков более мелких инцидентов индустрия всё ещё повторяет одни и те же архитектурные ошибки: trusted валидаторы без on-chain верификации подписей, admin-функции без тайм-локов, отсутствие прозрачности команды.

Долгосрочное решение — это смещение в сторону trust-minimised bridge (Hyperlane, Across, IBC), где безопасность не зависит от доверия к одной команде, а гарантируется криптографическими доказательствами или экономическими стимулами. Но до момента, когда такие мосты станут стандартом, риск drain'а в lock-and-mint мостах с trusted валидаторами остаётся реальным.

Для держателя крипты практический вывод такой: к мостам нужно относиться как к краткосрочному инструменту перехода, не как к надёжному хранилищу. Активы, которые лежат на TAC L2, на Wormhole, на Hop Protocol или на любом другом мосте дольше нескольких дней, экспонированы на bridge-риск 24/7. Чем дольше — тем выше вероятность, что хотя бы один drain в индустрии затронет именно эту позицию.

Полную технико-форензическую разборку drain'а TAC — с дизассемблером, on-chain адресами всех связанных кошельков, временной осью атаки и пошаговым воспроизведением — я отдельно опубликовал у себя на ton-adoption.xyz. Там же ведётся глоссарий терминов TON (TASM, lock-and-mint, merkle-proof, StateInit и другие) — для коллег, которые приходят в форензику смарт-контрактов с EVM-бэкграунда.