Атака на Cosmos EVM: почему остановка сети стала частью защиты
Мы - Crouton Digital работаем с инфраструктурой Cosmos как валидатор, поэтому этот инцидент заслуживает отдельного внимания. Важен здесь не только механизм уязвимости, но и то, как сети действовали после начала атаки.
С 20 по 25 августа злоумышленники атаковали 6 Cosmos-based сетей через уязвимость в общем модуле Cosmos EVM. Около $5,7 млн активов были реализованы через DEX и CEX. Приватные ключи при этом не компрометировались.
🟢 Уязвимость позволяла через vesting-аккаунт искусственно увеличить EVM-баланс, а затем обнулить баланс другого аккаунта. Всё происходило внутри одной supply-neutral транзакции, поэтому общий supply сети не менялся.
🟢 Исправление попало в основную ветку ещё 15 мая и 19 августа вышло в
v0.6.2 и v0.7.2. Но утром 20 августа разработчик Push Chain публично опубликовал подробное описание уязвимости и пути её эксплуатации.Через несколько часов началась первая атака на MANTRA.
Проблема в том, что это был не обычный rolling upgrade: изменение затрагивало правила расчёта балансов, поэтому сеть должна была перейти на новую версию согласованно.
У MANTRA - 38 независимых валидаторов. За 20 часов такое обновление нужно было подготовить, проверить и синхронно провести.
🟢 В критической ситуации сети начали останавливать производство блоков.
⏺️ MANTRA встала через 14 минут после второй атаки
⏺️ KiiChain встала после 18 повторений эксплойта, и больше половины (~54%) выведенных KII осталось внутри сети
⏺️ TAC остановилась примерно через 4 часа после атаки, уже получив предупреждение об обновлении
Всего Cosmos Labs координировала работу примерно с 40 сетями. Ещё 13 потенциально уязвимых сетей смогли закрыть проблему без новых инцидентов, а ещё одна остановилась до вывода средств.
После второго подтверждённого инцидента Cosmos Labs уже рекомендовала сетям останавливаться немедленно, а не пытаться проводить согласованный upgrade на ходу. В дальнейшем команда пообещала формализовать, когда "остановка" (рубильник) должен быть предпочтительнее обновления.
Для валидатора вывод довольно практичный: безопасность - это не только иметь патч. Важно, насколько быстро команда может его применить и готова ли остановить сеть до того, как проблема станет необратимой.
➡️Crouton.digital | О нас⬅️
