Автор: Гу Ю, 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 та після того, як проблеми були розкриті щонайменше 2 дні тому, свідчить про серйозну недостатність у розумінні ризиків та відповідальності з боку технічної команди проекту.
Ще 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 у сфері аудиту безпеки базового коду, механізмів крос-чейн координації та системи реагування на надзвичайні ситуації.
Сама по собі безпекова вразливість, можливо, не уникненна, але дивний логічний підхід — «публікувати патч, не повідомляючи про це нижчестоячим» — та різні прояви «аматорського підходу» достатні, щоб засмутити всіх, хто будує.




