Побачивши, як бос onekey захищає свої права та поповнення, втрачаючи кілька активів M, він поскаржився, що Defi насправді занадто крихкий. Озирнувшись навколо, я, здається, не дуже розумів, як хакери атакували, тому я сам провів деякі дослідження і поділився ним з вами: Головним героєм історії є ResupplyPair, користувач може брати в борг і позичати шляхом стейкінгу активів, а модифікатор isSolvent в контракті відповідає за перевірку того, чи має право користувач позичати запитувані активи, конкретна логіка коду така: Розрахунок LTV ви можете подивитися на рядку 282, якщо у нас є спосіб встановити _exchangeRate на 0, то чи не завжди перевірка буде вірною? Продовжити читання коду: Ви можете побачити, що змінна для цього значення приходить від дзвінка до оракула getPrices, і є знаменником, іншими словами, нам потрібно зробити ціну застави гранично великою. Читаючи код оракула, можна побачити, що getPrice – це просто шар пересилання, який фактично викликає інтерфейс convetToAssets активу стейкінгу (тобто сховище). Продовжити читання коду: Ви можете бачити, що цей результат складається з дуже складних математичних операцій, тут хакер за рахунок посилення молекули, далі total_assets, щоб завершити атаку, подивіться на _total_assets реалізацію функції можна знайти: Це значення пов'язане з borrowed_token, що утримується контрактом контролера цього сховища, який є crvUSD. Аналіз тут насправді зрозумілий, ResupplyPair був створений з порожнім сховищем, і хакер перевів певну суму borrowed_token на контракт контролера сховища, і нарешті змусив _exchangeRate повернутися до нуля, так що вартість його заставлених активів нескінченно посилилася, і він позичив до 10 мільйонів reUSD за дуже невелику вартість. Торгівля атаками: Адреса контракту ResupplyPair: Адреса договору контролера казначейства: Адреса казначейського контракту: Адреса договору Oracle:
Показати оригінал
68,36 тис.
307
Вміст на цій сторінці надається третіми сторонами. Якщо не вказано інше, OKX не є автором цитованих статей і не претендує на авторські права на матеріали. Вміст надається виключно з інформаційною метою і не відображає поглядів OKX. Він не є схваленням жодних дій і не має розглядатися як інвестиційна порада або заохочення купувати чи продавати цифрові активи. Короткий виклад вмісту чи інша інформація, створена генеративним ШІ, можуть бути неточними або суперечливими. Прочитайте статтю за посиланням, щоб дізнатися більше. OKX не несе відповідальності за вміст, розміщений на сторонніх сайтах. Утримування цифрових активів, зокрема стейблкоїнів і NFT, пов’язане з високим ризиком, а вартість таких активів може сильно коливатися. Перш ніж торгувати цифровими активами або утримувати їх, ретельно оцініть свій фінансовий стан.