Новости криптомира

21.07.2026
11:38

Критический взлом моста Wanchain для Cardano: украдено 515 млн токенов NIGHT

Эксплойт кроссчейн-моста Wanchain, связывающего Cardano с BNB Chain, потряс сообщество. В результате атаки из пула ликвидности было выведено порядка 515 миллионов токенов NIGHT. По моим оценкам, на момент инцидента эта сумма составляла от $9 до $13 миллионов, в зависимости от рыночных условий.

Это событие — очередное суровое напоминание о том, что кроссчейн-мосты остаются наиболее уязвимым звеном в экосистеме DeFi. Давайте разберем технические детали и последствия.

Причина инцидента: баг в валидаторе TreasuryCheck

Первичное расследование, проведенное специалистами по безопасности из BlockSec, выявило корень проблемы — неинъективное кодирование подписанного сообщения в валидаторе TreasuryCheck. Валидатор — это смарт-контракт, отвечающий за проверку легитимности операций. Термин «неинъективное кодирование» означает, что различные входные наборы данных могут приводить к одному и тому же выходному значению. Проще говоря, система теряет способность различать разные операции, что открывает путь для атаки.

Механизм уязвимости выглядел следующим образом:

  • Подписанное сообщение формировалось путем «сырой» конкатенации 14 полей переменной длины (redeemer) через функцию AppendByteString, без использования разделителей и префиксов длины. Redeemer — это набор данных, прилагаемый к транзакции для подтверждения ее правомерности.
  • Из-за этого разные наборы значений полей могли давать идентичную байтовую строку.
  • Одинаковая строка приводила к одинаковому хешу (цифровому отпечатку) и, как следствие, к одной и той же подписи, пригодной для повторного использования.

BlockSec подтвердила это, декомпилировав ончейн-байткод Plutus V2 и раскодировав redeemer из транзакции эксплойта. В коде присутствовала встроенная функция SerialiseData, но она применялась только при сопоставлении output-datum, а не при построении хеша для подписи. Использование Sha3_256(SerialiseData(...)) обеспечило бы однозначные границы полей в кодировке CBOR и предотвратило бы атаки данного класса.

Представьте: директор одобряет цифровую комбинацию «12345» и заверяет ее подписью. Проверяющая программа делит комбинацию на поля: «кому» = 12, «сколько» = 345. Но в самой комбинации нет разделителя. Злоумышленник не подделывает подпись, а лишь сдвигает невидимую границу: «кому» = 123, «сколько» = 45. Подпись остается действительной, а получатель и сумма меняются. Именно на этом и была построена атака.

Последствия и реакция рынка

Злоумышленники, используя эту уязвимость, сфабриковали сообщения для нелегитимной эмиссии токенов, после чего конвертировали украденные NIGHT в ADA в сети Cardano. Команда Wanchain оперативно отключила мост для проведения расследования и пообещала полную прозрачность.

Токен NIGHT — нативный актив проекта Midnight, ориентированного на приватность и развиваемого при поддержке Input Output (IO), стоящей за Cardano. Реакция рынка была молниеносной и жестокой: цена NIGHT обрушилась более чем на 30% за сутки, обновив исторический минимум около $0,016.

В Midnight Foundation поспешили заверить сообщество, что инцидент изолирован в пределах моста Wanchain и не затрагивает саму сеть Midnight, ее протокол, валидаторов и ключевую инфраструктуру. Они подчеркивают, что проблема — в сторонней инфраструктуре, а не в активе NIGHT или блокчейне Midnight.

Аналитический вывод: Данный инцидент — это классический пример «атаки повторного использования подписи», ставший возможным из-за пренебрежения стандартами безопасного кодирования. Он не ставит крест на Cardano или Midnight, но служит критическим сигналом для всех разработчиков кроссчейн-решений. Безопасность мостов должна быть на порядок выше, иначе мы будем наблюдать подобные коллапсы и дальше. Восстановление доверия к Wanchain и токену NIGHT теперь будет долгим и болезненным процессом.