
21 июля 2026 года мост Wanchain на блокчейне Cardano выдал злоумышленнику 515 миллионов токенов NIGHT — без какого-либо реального обеспечения на исходной стороне. Причина: контракт неправильно проверял подписываемые сообщения и принял поддельную операцию как настоящую.
Введение
Wanchain — протокол, позволяющий переводить токены между разными блокчейнами. Это называется кросс-чейн мост: вы «блокируете» токены в одной сети, а мост выпускает их эквивалент в другой. Чтобы это работало безопасно, мост должен строго проверять: действительно ли токены заблокированы на исходной стороне перед тем, как выпускать их на принимающей.
Для этого у Wanchain на Cardano есть собственный валидатор TreasuryCheck — специальный контракт, который проверяет кросс-чейн операции. Он изучает подписанные сообщения и решает: законна ли операция, можно ли выпускать токены.
Ошибка была именно в том, как этот валидатор проверял сообщения.
Ход инцидента
1️⃣ Формирование поддельного сообщения. Злоумышленник подготовил специально сконструированное сообщение для валидатора TreasuryCheck. Из-за ошибки в логике кодирования и формирования подписываемых сообщений контракт был неспособен правильно отличить легитимную операцию от поддельной.
2️⃣ Принятие поддельной операции. Валидатор TreasuryCheck проверил сообщение — и счёл операцию действительной, хотя никаких реальных токенов NIGHT на исходной стороне моста заблокировано не было. Контракт разрешил выпуск 515 000 000 токенов NIGHT прямо из lock-адреса хранилища моста — места, где хранятся заблокированные токены пользователей.
3️⃣ Мгновенная продажа. Получив 515 млн токенов NIGHT, злоумышленник немедленно направил их в пулы ликвидности децентрализованной биржи Minswap V2 — крупнейшей DEX на Cardano. Серией свопов (обменов) все токены были проданы за ADA — нативную криптовалюту блокчейна Cardano. На адрес злоумышленника поступило около 2 831 361 ADA.
Почему это стало возможным
Суть уязвимости — в логике формирования и кодирования сообщений, которые проверяет TreasuryCheck. Валидатор должен убеждаться в двух вещах: что сообщение подписано уполномоченными участниками, и что оно соответствует реальной заблокированной сумме на исходной стороне. Из-за ошибки в реализации контракт мог принять операцию как действительную, даже если соответствующего обеспечения на исходной стороне не существовало.
Это фундаментальная проблема для любого моста: если механизм проверки можно обмануть — вся модель безопасности разрушается. Токены можно выпускать из воздуха, а мост становится не защитным барьером, а инструментом эмиссии.
Детали расследования: движение средств
515 000 000 токенов NIGHT были выведены из lock-адреса моста и проданы серией свопов через пулы Minswap V2. Полученные ~2 831 361 ADA поступили на адрес злоумышленника:
addr1qysj48kpy8qra2g64scvu79n489qrv2uys5ggsrun29v5f5udqxfpr7x0pqfl6khjwv6vm0k8s3spn6h0zfrwszfqgcqeld8kj
На момент расследования все средства остаются на этом адресе без движения.
Заключение
Атака на мост Wanchain — ещё одно напоминание о том, насколько критична правильная реализация верификации в кросс-чейн мостах. Именно мосты остаются одной из самых уязвимых точек в блокчейн-экосистеме: они управляют большими объёмами заблокированных активов и зависят от корректной работы механизмов проверки подлинности операций.
Здесь ошибка в кодировании подписываемых сообщений позволила выпустить полмиллиарда токенов без какого-либо реального обеспечения. Злоумышленник мгновенно конвертировал их в ADA — и ~2,83 млн ADA по-прежнему лежат на известном адресе без движения.
Команда «КоинКит» продолжает отслеживать ситуацию.


