1 транзакция с 23 сообщениями уничтожила защиту кроссчейн-протокола. Анатомия взлома Maya Protocol на 11 миллионов

3269
1 транзакция с 23 сообщениями уничтожила защиту кроссчейн-протокола. Анатомия взлома Maya Protocol на 11 миллионов

Фантомные токены обрушили CACAO почти на 90%.

image

Защитный механизм, который должен был спасать Maya Protocol при краже криптовалюты, сам стал частью атаки. Злоумышленник связал шесть сравнительно небольших ошибок в коде, заставил систему поверить в несуществующую кражу и создал в ее внутреннем учете десятки миллионов ничем не обеспеченных токенов CACAO. В результате из кроссчейн-протокола вывели криптоактивы примерно на $1,7 млн, а последствия для пулов ликвидности оказались в несколько раз тяжелее.

Атака произошла 18 августа 2026 года примерно в 17:30 UTC. Maya Protocol управляет сетью MAYAChain, которая позволяет напрямую менять биткоины, эфир и другие криптоактивы между разными блокчейнами без централизованной биржи. Проект построен на архитектуре THORChain, а токен CACAO играет роль общего расчетного актива внутри пулов ликвидности.

Главная особенность атаки заключалась не в одной критической уязвимости. Исследователь Vini Barbosa восстановил последовательность из шести ошибок в обработке торговых счетов, исходящих транзакций и расчетах пулов. Большую часть работы злоумышленник выполнил одной транзакцией, содержавшей сразу 23 сообщения.

Сначала пакетная операция MsgDeposit повредила внутреннюю запись ObservedTxVoter, которую MAYAChain использует для отслеживания транзакций. Последнее сообщение DONATE перезаписало часть ранее сохраненных данных и сбросило параметр OutboundHeight. Затем другой участок кода проверил исходящие переводы с неправильной высотой блока и решил, что несколько настоящих транзакций куда-то исчезли. Для MAYAChain подобная ситуация выглядела как кража средств.

Здесь в дело вступила встроенная защита от краж. Протокол умеет компенсировать пулу активы, которые сеть считает потерянными. Злоумышленник добился ложного срабатывания такого механизма и направил компенсацию в почти пустой пул ARB.LINK. Из-за еще одной ошибки размер субсидии не ограничивался реальной глубиной пула, поэтому внутренняя бухгалтерия внезапно начислила ему около 49,45 млн CACAO.

Физически заплатить столько токенов протокол не мог. В резерве находилось лишь около 168 тысяч CACAO. Перевод из резерва закономерно завершился ошибкой, но к тому моменту новое состояние пула уже успело сохраниться. Код записал десятки миллионов CACAO на баланс, затем попытался перевести реальные токены и после неудачи не откатил предыдущую операцию. Для остальных компонентов MAYAChain фантомные монеты выглядели настоящими.

Злоумышленнику оставалось превратить бухгалтерскую ошибку в реальные деньги. Хакер внес символическую ликвидность в искусственно раздутый пул и получил около 99,93% его доли. После вывода позиции из хранилища Asgard удалось забрать примерно 48,87 млн CACAO. Затем токены начали быстро обмениваться через другие пулы на реальные BTC, ETH, RUNE, стейблкоины и другие активы.

На внешний биткоин-адрес ушло 20,83 BTC стоимостью около $1,34 млн на момент атаки. Общий объем активов, фактически выведенных во внешние блокчейны, исследователи оценили примерно в $1,36 млн. Еще около $291 тысяч оставались под контролем атакующего в CACAO и торговых счетах внутри MAYAChain. Основатель Maya Protocol Aalux первоначально оценивал ущерб примерно в 20 BTC на $1,4 млн и еще $300 тысяч в других активах.

Поэтому встречающаяся в публикациях сумма $11 млн не означает, что хакер украл $11 млн. После появления огромного объема CACAO цена токена рухнула примерно с $0,115 до $0,013, почти на 89%. Арбитражные трейдеры начали использовать разницу цен и менять резко подешевевший CACAO на биткоины, эфир и другие реальные активы из пулов. Совокупная стоимость ликвидности Maya сократилась примерно на $10,9 млн, причем значительная часть потерь пришлась на обесценивание CACAO и последующий арбитраж.

Maya Protocol остановил сеть, чтобы исключить дальнейшее использование уязвимости. По состоянию на 23 августа свопы все еще оставались приостановленными. Разработчики готовили исправления и обсуждали восстановление ликвидности. Команда также выразила готовность заплатить вознаграждение, если атакующий вернет похищенные средства. При отсутствии возврата Maya рассчитывает компенсировать часть потерь другими активами и инвестициями проекта.

Отдельного внимания заслуживает появившаяся версия об искусственном интеллекте. Публичная техническая реконструкция хорошо показывает, что атакующему пришлось найти и правильно соединить шесть ошибок, которые по отдельности не давали прямого доступа к деньгам. Однако открытых доказательств того, что злоумышленник действительно применял ChatGPT, Claude, специализированного ИИ-агента или другой инструмент для поиска уязвимостей, пока нет. Поэтому утверждать, что Maya Protocol взломал ИИ, преждевременно. Корректнее говорить, что сложность цепочки породила предположения об ИИ-помощнике, а сама атака подтверждена данными блокчейна независимо от способа, которым хакер нашел уязвимости.

История Maya Protocol хорошо показывает новую проблему для DeFi. Аудит может оценить каждую найденную ошибку как малозначительную, но злоумышленнику необязательно искать одну дыру с критическим рейтингом. Достаточно понять, как несколько слабых мест взаимодействуют друг с другом. В случае MAYAChain система сначала потеряла правильные данные о транзакции, затем ошибочно объявила перевод пропавшим, после чего механизм защиты от кражи создал огромную компенсацию, бухгалтерия сохранила ее несмотря на провал реального платежа, а механизм ликвидности позволил обменять фантомный баланс на настоящие криптоактивы. Одна защитная цепочка фактически помогла довести атаку до конца.