Якщо і є одна річ, яку ми знаємо, то це те, що жоден протокол або платформа DeFi не є на 100% безпечним. 9 липня @GMX_IO біржу V1 було зламано на $42 млн. Нижче наведено нашу розбивку з @panprog Lead Security Partner @Blackthornxyz (включаючи важливий урок для розробки смарт-контрактів) 👇🔎
Коренем експлойта стала вразливість до повторного входу в смарт-контракти GMX, зокрема в PositionManager.executeDeclineOrder.
Напад ⚔️ : З OrderBook.executeDeclineOrder прибуток (в ETH) відправлявся безпосередньо користувачу. Це запустило функцію receive() контракту одержувача перед викликом timelock.disableLeverage().
Ця функція призначена для запобігання прямим викликам Сховища шляхом відключення важеля, але через її запізнілий виклик зловмисник зміг її обійти.
У цьому контексті повторного входу зловмисник викликав Сховище безпосередньо, щоб маніпулювати короткими позиціями. Критичний рядок в PositionManager - відповідальному за оновлення ShortsTracker.globalShortAveragePrices - був пропущений.
В результаті зловмисник міг штучно завищити Vault.globalShortSizes без оновлення середньої короткої ціни, що призвело до неправильних розрахунків AUM і завищило ціну GLP.
Крадіжка коштів💰 на $42 млн: Зловмисник спочатку купив GLP за нижчою ціною, потім завищив його за допомогою петель повторного входу, а потім продав GLP назад до Сховища за завищеною ціною. Це призвело до виснаження майже всіх токенів, що зберігалися у Сховищі. Загальний збір: 42 мільйони доларів США в ETH, BTC, USDC та інших.
Які наслідки? 1) GMX зупинив усі торги, карбування та обмін на GLP на Arbitrum та Avalanche. 2) GMX V2 та інші компоненти протоколу не постраждали. 3) Зловмиснику запропонували винагороду в розмірі 10% від білого капелюха (приблизно $4,2 млн), якщо кошти будуть повернуті протягом 48 годин.
На момент написання цієї публікації хакер почав повертати кошти команді GMX після переговорів про виплату 🙌 . Як партнери з безпеки GMX, починаючи з V2, ми допомагаємо з цією ситуацією і раді це чути. Ми з нетерпінням чекаємо на продовження співпраці з GMX у майбутньому.
Уроки: 🎓 ✅ Переконайтеся, що повторне входження неможливе, навіть якщо це виглядає нешкідливо - спочатку GMX v1 дозволяв користувачам пряму взаємодію зі Сховищем... Таким чином, можливість безпосередньо взаємодіяти зі Сховищем багатьом не здавалася небезпечною.
✅ Переконайтеся, що існують перевірки розумності для швидкої зміни вартості, наприклад, цін на токени або акції: скасуйте виконання, якщо за короткий проміжок часу ціна будь-якого активу (наприклад, GLP у цьому випадку) зміниться більше ніж на певний відсоток.
✅ Переконайтеся, що існує суворий моніторинг будь-яких підозрілих моделей поза мережею, що може автоматично зупиняти торгівлю в екстремальних ситуаціях. Наприклад, якщо ціна GLP виходить за межі деякого заздалегідь визначеного діапазону в будь-який момент часу, негайно припиніть операції для розслідування.
Ознайомтеся з повним звітом 👇 у нашому блозі
Показати оригінал
4,96 тис.
39
Вміст на цій сторінці надається третіми сторонами. Якщо не вказано інше, OKX не є автором цитованих статей і не претендує на авторські права на матеріали. Вміст надається виключно з інформаційною метою і не відображає поглядів OKX. Він не є схваленням жодних дій і не має розглядатися як інвестиційна порада або заохочення купувати чи продавати цифрові активи. Короткий виклад вмісту чи інша інформація, створена генеративним ШІ, можуть бути неточними або суперечливими. Прочитайте статтю за посиланням, щоб дізнатися більше. OKX не несе відповідальності за вміст, розміщений на сторонніх сайтах. Утримування цифрових активів, зокрема стейблкоїнів і NFT, пов’язане з високим ризиком, а вартість таких активів може сильно коливатися. Перш ніж торгувати цифровими активами або утримувати їх, ретельно оцініть свій фінансовий стан.