Depois que o protocolo Platypus foi hackeado ontem, pelo menos US$ 2,4 milhões em stablecoin USDC foram devolvidos à plataforma explorada com a ajuda da empresa de segurança blockchain BlockSec.
Dos quase US$ 9,1 milhões em fundos roubados do Platypus, foi revelado que o invasor só conseguiu sacar US$ 270.000, de acordo com o MetaSleuth, uma ferramenta de visualização da Blocksec.
Cerca de US$ 8,5 milhões em fundos roubados estão congelados no contrato para o qual foram transferidos, e outros US$ 380.000 de uma segunda tentativa de exploração foram acidentalmente enviados de volta para a Aave, mostram dados on-chain.
A recuperação de uma parte dos fundos roubados para o Platypus girava em torno do plano da BlockSec de aproveitar uma brecha no contrato do invasor.
“Ao aproveitar essa brecha, o projeto pode transferir os fundos do contrato do invasor para a conta do projeto”, disse Yajin Zhou, cofundador da BlockSec ao The Block.
“O projeto recuperou US$ 2 milhões usando a prova de conceito fornecida por nós. Isso foi para recuperar os fundos do contrato do atacante”, de acordo com Zhou, que acrescentou que cerca de US$ 8 milhões em ativos foram retidos porque o contrato do atacante carece de uma função de transferência.
Chame de volta o hack
Para recuperar a criptografia, a BlockSec usou uma função de retorno de chamada no contrato do invasor.
“O ataque foi lançado por meio da interface de retorno de chamada do empréstimo flash no contrato de ataque. Essa função de retorno de chamada não tem controle de acesso. E durante essa função de retorno de chamada, o invasor codificou a lógica para aprovar o USDC para o contrato do projeto (que é um proxy)”, Zhou notou.
“Portanto, o projeto pode primeiro invocar a função de retorno de chamada no contrato do invasor para aprovar o USDC para o contrato do projeto. Em seguida, o contrato do projeto pode retirar o USDC do contrato do invasor, atualizando o proxy para uma nova implementação”, disse Zhou.