После вчерашнего взлома протокола Platypus не менее 2,4 млн USDC были возвращены атакованной ранее платформе с помощью компании BlockSec, занимающейся безопасностью блокчейна.
По данным MetaSleuth, инструмента визуализации от Blocksec, из почти 9,1 миллиона долларов, украденных у Platypus, злоумышленник смог обналичить только 270 000 долларов.
Около 8,5 миллионов долларов украденных средств заморожены в контракте, на который они были переведены, а еще 380 000 долларов в результате второй попытки эксплойта были случайно отправлены обратно в Aave, как показывают данные сети.
Возвращение части украденных средств для Platypus было связано с планом BlockSec по использованию лазейки в контракте злоумышленника.
«Используя эту лазейку, проект может перевести средства с контракта злоумышленника на счет проекта», — сказал Яджин Чжоу, соучредитель BlockSec.
«Проект восстановил 2 миллиона долларов с использованием предоставленного нами доказательства концепции. Это было сделано для возврата средств по контракту злоумышленника», — сказал Чжоу, добавив, что активы на сумму около 8 миллионов долларов оказались заблокированными, поскольку в контракте злоумышленника отсутствует функция передачи.
Обратный вызов взлома
Чтобы вернуть криптовалюту, BlockSec использовала функцию обратного вызова в контракте злоумышленника.
«Атака была запущена через интерфейс обратного вызова флэш-кредита в контракте на атаку. Эта функция обратного вызова не имеет контроля доступа. И во время этой функции обратного вызова злоумышленник жестко закодировал логику для утверждения USDC в контракте проекта (который является прокси)», – отметил Чжоу.
«Таким образом, проект может сначала вызвать функцию обратного вызова в контракте злоумышленника, чтобы утвердить USDC в контракте проекта. Затем проектный контракт может вывести USDC из контракта злоумышленника, обновив прокси до новой реализации», — сказал Чжоу.