Платформа ліквідного стейкінгу Prisma Finance визнала втрату 3257 ETH (~$11 млн) унаслідок злому 28 березня. Хакер вступив у листування з командою з приводу повернення коштів.
In collaboration with @PrismaRisk and @wavey0x, we are publishing a comprehensive post-mortem report on yesterday's event. https://t.co/DljZSs3ssK
We are fully mobilized to retrieve users' funds and we will keep you updated on next steps.
The most important action users can… pic.twitter.com/MUr1yqqBKX
— Prisma Finance (@PrismaFi) March 29, 2024
Згідно з результатами розслідування, зломщик експлуатував два смартконтракти, призначені для перенесення позицій користувачів від одного менеджера продукту Trove до іншого.
«Інцидент став можливий через недостатню перевірку вхідних даних у функції onFlashloan, що дало змогу маніпулювати відомостями і реалізувати непередбачену поведінку контракту», — пояснили розробники.
Крім основної суми в 3257 ETH, два інші користувачі вивели в такий спосіб ще ~121 wstETH і ~52 wstETH відповідно, випливає з пояснення.
З метою безпеки команда нагадала клієнтам про необхідність відкликати схвалення на делегування активів.
«Крім повернення вкрадених коштів, головним пріоритетом Prisma є відновлення роботи протоколу і його відродження. Найважливішим кроком, необхідним для завершення паузи, є забезпечення безпеки всіх гаманців і позицій користувачів», — написав ключовий розробник під ніком Frank.
На 31 березня під загрозою втрати коштів залишалося 14 акаунтів із відкритим схваленням, п’ять гаманців при цьому «ризикували» активами на суму приблизно $500 000.
Frank вніс на розгляд спільноти Prisma пропозицію про тимчасове скорочення розподілу комісій часткою в 50% замість 100%. Метою є акумуляція коштів на відновлення роботи платформи. Він визнав, що терміни виходу з цієї ситуації залишаються невизначеними.
Зломщик назвав себе «білим», але висунув низку умов
Тим часом зломщик Prisma відразу після інциденту вступив у листування з командою, запропонувавши повернення виведених активів.
Однак попередньо він попросив відповісти на низку запитань щодо розуміння розробниками концепції смартконтрактів, необхідності аудиту та їхніх обов’язків у разі інцидентів, подібних до того, що стався.
У Prisma визнали, що частина коду останнього оновлення не проходила перевірку сторонніх експертів і попросили хакера повернути кошти без умов. Останній у відповідь звинуватив команду в нещирості і припустив, що вразливість було закладено навмисно.
«Дорогі друзі з Prisma, ви так і не виявили доброї волі! Я дуже розчарований усім, що ви зробили. Це був просто обов’язковий хід! Ще раз — ви так і не розкрили три фактори, про які я запитав. Не намагайтеся втекти від своїх помилок і позбутися обов’язків. Якби це був не я, подібне могли б зробити інші, „чорні капелюхи“ або хтось ще», — написав він.
Один із користувачів, звернувши увагу на листування хакера з командою Prisma, поставив запитання: чому спільнота не обговорює порушені проблеми?
Interesting development in the Prisma events:
A/ The code concerned was not audited
B/ The hacker has demands, part of which were met
C/ The hacker has a mission/motivationA/ Why audit a migration function?
1. The exploit was on a migration function that was not part of the… pic.twitter.com/a58Zik44Nz
— tokenbrice.eth (🐜,🐔) (@TokenBrice) March 31, 2024
На думку розробника під ніком Tokenbrice, хакер резонно звернув увагу на деякі аспекти:
- Команда Prisma самостійно затіяла міграцію позицій користувачів у Trove, не передбачену початковими планами розгортання протоколу;
- досвідчені розробники не віддали частину коду оновлення на аудит, який, як правило, використовується для зняття відповідальності (здебільшого);
- вони ігнорували вимоги деанону від хакера, як і інші його запитання.
«Він, схоже, зацікавлений у розширенні відповідальності DeFi-розробників: герой, якого ми не заслужили?», — припустив експерт.
Нагадаємо, фахівці PeckShield виявили, що хакер Prisma почав відправляти активи в криптоміксер Tornado Cash, незважаючи на заяву про можливість повернення.