Автор: Гу Ю, ChainCatcher
За последние дни в экосистеме Cosmos разразилась полностью предотвратимая «безопасностная катастрофа». Блокчейны, использующие модуль Cosmos EVM, такие как MANTRA, TAC, KiiChain и Nesa, подверглись атакам: хакеры массово похитили протокольные резервные токены из кошельков казны каждой цепи и быстро продали их, что привело к падению курса токенов KII, TAC и NES более чем на 90% за несколько часов и вызвало огромные убытки для множества держателей.
Изначально рынок не обращал внимания на общие факторы, стоящие за этой серией инцидентов — все они были блокчейнами Cosmos, ведь в криптовалютном рынке хакерские атаки уже давно не редкость, но только вчера рынок заметил, что все эти инциденты были вызваны обновлением кода версии v0.7.2, опубликованным Cosmos Labs 19 августа на GitHub.

Cosmos Labs на этой странице GitHub написали: «Эта версия содержит важные исправления безопасности. Мы рекомендуем всем цепочкам как можно скорее обновиться до этой исправляющей версии с помощью координированного обновления. Этот релиз имеет разрушительный характер». Срочный тон формулировок отражает серьезность уязвимости.
Однако действия Cosmos Labs непонятны: они полностью опубликовали исправление безопасности, но не отправили никаких конфиденциальных предупреждений или обязательных уведомлений о обновлении командам проектов, зависящим от этого модуля. Это равносильно тому, как повесить ключи от сейфа на общественной площади с надписью «Пожалуйста, заберите немедленно», давая злонамеренным лицам достаточно времени для изучения и реализации атаки.
Если злоумышленник может читать GitHub, то командам, зависящим от него, нужно что-то лучшее, чем GitHub. Уязвимости всегда случаются. Критерием оценки инфраструктуры предприятия являются все действия после обнаружения уязвимости: кто был подвержен риску, кто получил предупреждение, кто получил патч, и кто действовал первым — клиенты или злоумышленники. Нам нужен полный отчет об анализе инцидента от Cosmos Labs. Но этого нельзя скрыть: координация провалилась крайне серьезно, — заявил разработчик @justde.
KiiChain, подвергшийся атаке, также опубликовал сообщение, прямо обвинив Cosmos Labs в безответственном поведении, и заявил, что эта авария «могла быть предотвращена».
KiiChain заявила, что Cosmos Labs при публикации объявления в пятницу объединила исправление программы с другими проблемами, которые ранее решались в частном порядке. В тот момент此事 не было классифицировано как чрезвычайно срочное, как если бы существовал серьезный漏洞, способный привести к постоянной потере средств. Они также не рекомендовали приостанавливать все цепочки.
KiiChain также раскрыла конкретные принципы атаки на уязвимость. Для успешной атаки необходимо одновременное наличие трех уязвимостей в верхних уровнях модуля Cosmos EVM: переполнение при записи остатка после делегирования обратно в EVM при использовании предварительно скомпилированного стейкинга, а также две другие уязвимости, которые еще не были раскрыты. Специфический код KiiChain не участвовал в этой атаке. Все цепочки Cosmos EVM с включенными аккаунтами принадлежности подвержены одинаковому риску.
Еще более печально то, что подобные атаки продолжались до вечера 24-го числа, после чего команда проекта Nesa немедленно опубликовала заявление и приняла меры по приостановке блокчейна. «Мы обнаружили вредоносную активность, эксплуатирующую уязвимость Cosmos EVM на L1, и сейчас предпринимаем меры для сдерживания последствий. Мы оперативно отреагировали и восстановим сервис после исправления программного обеспечения и внедрения дополнительных мер по устранению уязвимостей для обеспечения безопасной работы».

В настоящее время токен Nesa упал более чем на 94% — с прежних 0,22 доллара до 0,011 доллара. Очень немногие проекты могут восстановиться после такого обвала.
Однако то, что команда проекта не предприняла никаких действий для минимизации рисков даже после нескольких инцидентов безопасности Cosmos EVM и того, как проблемы стали известны как минимум два дня назад, свидетельствует о серьезном недостатке осознания рисков и ответственности со стороны технической команды проекта.
Еще 21-го числа MANTRA объявила, что причина инцидента была выявлена и ограничивается только Cosmos EVM-модулем MANTRA Chain.

По мере усиления обсуждений публичное заявление Cosmos Labs задержалось: «Событие безопасности затронуло пользователей модуля Cosmos EVM. Команда безопасности и инженеров Cosmos Labs активно реагирует на это событие. Мы рекомендовали связавшимся с нами цепочкам Cosmos EVM запросить у валидаторов приостановить работу их цепочек».
Однако было уже слишком поздно: в социальных сетях заполнились критикой и разочарованием со всех сторон. «Они поддерживают общий модуль EVM, от которого зависят десятки цепочек, но когда возникла критическая уязвимость в предварительно скомпилированных модулях, они не опубликовали патч в основном канале, не предоставили четкий PoC и не дали координированных инструкций по развертыванию. Эти цепочки — это ваши downstream-компоненты. Ваша задача — быстро выпускать безопасные патчи и готовые к развертыванию PoC, чтобы вся экосистема могла чисто обновиться. Вместо этого мы получили тихое разрушение со стороны upstream, и каждая команда вынуждена справляться сама». — заявил разработчик @justde.
Сейчас рыночная капитализация токена Cosmos ATOM составляет 800 миллионов долларов США и занимает 68-е место среди всех токенов, но снизилась более чем на 95% по сравнению с пиковым уровнем.
За последние несколько лет развитие его экосистемы также постоянно сталкивалось с трудностями: за последние полгода проекты экосистемы Cosmos, такие как Neutron, Mars Protocol, Pryzm, Leap Wallet и Cosmostation, объявили о прекращении своей деятельности, а проекты Secret Network и Noble объявили о выходе из экосистемы Cosmos и выборе создания собственной Layer1 или миграции в экосистему Ethereum.
Эта серия краж однозначно еще больше раскрыла глубокие недостатки Cosmos в области аудита безопасности базового кода, механизма координации межцепочечных взаимодействий и системы реагирования на чрезвычайные ситуации.
Сами по себе уязвимости безопасности могут быть неизбежны, но абсурдная логика «публиковать патчи, не уведомляя downstream», а также множество проявлений «любительского подхода» достаточно, чтобы вызвать леденящее чувство у всех строителей.




