🧵1/ ⚠️ Аналіз експлойтів: $80 млн втрати в атаці на Resolv Labs Раніше сьогодні @ResolvLabs було використано через збій у централізованому механізмі валідації параметрів. Маючи лише ~200 тисяч доларів капіталу, зловмисник викарбував 50 мільйонів і 30 мільйонів доларів США, використавши по 100 тис. доларів США кожен, що призвело до загальної втрати близько 80 мільйонів доларів. Після інциденту стейблкоїн $USR короткочасно знижений до $0.051.
🧵2/ Механізм атаки Функція completeSwap у контракті Resolv Labs #TheCounter дозволяє визначати кількість $USR карбованих за параметром _targetAmount.
🧵3/ Функція completeSwap перевіряє, чи має адреса викликача (msg.sender) зберігати SERVICE_ROLE. Це означає, що після того, як користувач надіслав транзакцію зі свопу, команда проєкту має провести централізовану перевірку параметрів, таких як _targetAmount, і лише після підтвердження коректності вони викликають цю функцію для завершення транзакції. За двома транзакціями атаки, $100K USDC відповідали _targetAmount значенням 50M і 30M USR відповідно. Очевидно, що механізм валідації _targetAmount проєкту зазнав невдачі. Оскільки валідація _targetAmount централізована, а не відкрита, корінна причина на цьому етапі не може бути визначена. Не можна виключати можливі втручання інсайдерів, компрометацію централізованої системи або витік приватного ключа SERVICE_ROLE.
2/ Механізм атаки Функція completeSwap у контракті Resolv Labs #TheCounter дозволяє визначати кількість $USR карбованих за параметром _targetAmount.
2,14K