Платформа ликвидного стейкинга Prisma Finance сообщила о потере 3257 ETH (примерно $11 млн) в результате эксплойта, который произошел 28 марта. Хакер связался с командой, предлагая вернуть украденные средства. По результатам расследования выяснилось, что взломщик использовал два смарт-контракта, предназначенных для переноса позиций пользователей между менеджерами продукта Trove.
Разработчики объяснили, что инцидент произошел из-за неполной проверки входных данных в функции onFlashloan, что позволило злоумышленнику манипулировать данными и вызвать непредвиденное поведение контракта. Кроме основной суммы в 3257 ETH, два других пользователя потеряли около ~121 wstETH и ~ 52 wstETH соответственно.
В целях безопасности команда Prisma напомнила своим клиентам о необходимости отозвать одобрение на делегирование активов. Помимо возврата украденных средств, главным приоритетом для Prisma является восстановление работы протокола. Однако ситуация остается неопределенной.
На момент 31 марта 14 аккаунтов имели открытое одобрение, из которых пять рисковали активами на сумму около $500 000. Ключевой разработчик под ником Frank предложил сообществу временное сокращение распределения комиссий долей на 50% вместо 100% для накопления средств на восстановление работы платформы.
Взломщик, назвавший себя “белым”, обратился к команде Prisma с предложением вернуть выведенные активы, но сначала задал ряд вопросов о понимании концепций смарт-контрактов и обязанностях разработчиков в случае инцидентов.
Prisma признали, что часть кода последнего обновления не прошла проверку сторонних экспертов и попросили взломщика вернуть средства без условий. В ответ тот обвинил команду в неискренности и предположил, что уязвимость была намеренно заложена.
Некоторые участники сообщества высказались о необходимости обсуждения поднятых хакером проблем. Один из разработчиков под ником Tokenbrice отметил, что взломщик обратил внимание на некоторые важные аспекты, такие как самостоятельная миграция позиций пользователей без аудита и игнорирование требований хакера.