Um hacker conseguiu roubar mais de US$ 6 milhões do protocolo de finanças descentralizadas (DeFi) Delta Prime ao cunhar um número arbitrariamente grande de tokens de recibo de depósito.

De acordo com dados do explorador de blocos Arbiscan, o invasor cunhou mais de 115 duovigintilhões de tokens Delta Prime USD (DPUSDC) no ataque inicial, o que é mais de 1,1*10^69 em notação científica.

DPUSDC é um recibo de depósito para a stablecoin USDC (USDC) mantida na Delta Prime. Ele deve ser resgatável em uma proporção de 1:1 para USDC.

Apesar de cunhar um número tão grande de recibos de depósito em USDC, o invasor queimou apenas 2,4 milhões deles, recebendo US$ 2,4 milhões em stablecoin USDC em troca.

Atacante cunhando um número muito grande de tokens DPUSDC e resgatando alguns deles. Fonte: Arbiscan.

O invasor então repetiu essas etapas para outros tokens de recibo de depósito, cunhando mais de 1 duovegilhão de Delta Prime Wrapped Bitcoin (DPBTCb), 115 octodecilhões de Delta Prime Wrapped Ether (DPWETH), 115 octodecilhões de Delta Prime Arbitrum (DPARB) e muitos outros tokens de recibo de depósito, resgatando, por fim, uma pequena fração do valor cunhado para receber mais de US$ 1 milhão em Bitcoin (BTC), Ether (ETH), Arbitrum (ARB) e outros tokens.

De acordo com o especialista em segurança de blockchain Chaofan Shou, o invasor roubou cerca de US$ 6 milhões em fundos até agora.


Fonte: Chaofan Shu.

O invasor conseguiu cunhar esses tokens de recibo de depósito primeiro obtendo o controle de uma conta de administrador terminando em b1afb, o que provavelmente conseguiu roubando a chave privada do desenvolvedor. Usando essa conta, eles chamaram uma função de “atualização” em cada um dos contratos de pool de liquidez do protocolo.

Essas funções são destinadas a serem usadas para atualizações de software. Elas permitem que o desenvolvedor altere o código em um contrato fazendo com que seu proxy aponte para um endereço de implementação diferente.

No entanto, o invasor usou essas funções para apontar cada proxy para um contrato malicioso que o invasor havia criado. Cada contrato malicioso permitiu que o invasor cunhasse um número arbitrariamente grande de recibos de depósito, efetivamente permitindo que eles drenassem cada pool de fundos.

Contratos de atualização do Delta Prime attacker. Fonte: Arbiscan.

A Delta Prime reconheceu o ataque em uma postagem no X, afirmando que “Às 6h14 CET, a DeltaPrime Blue (Arbitrum) foi atacada e drenada em US$ 5,98 milhões”.

Ele alegou que a versão do Avalanche, DeltaPrime Blue, não é vulnerável ao ataque. Ele também afirmou que o seguro do protocolo “cobrirá quaisquer perdas potenciais quando possível/necessário”.

O ataque Delta Prime ilustra o risco dos protocolos DeFi usarem contratos atualizáveis.

O ecossistema Web3 foi projetado para impedir que hackers de chaves privadas explorem protocolos inteiros.

Teoricamente, um invasor precisa roubar as chaves privadas de cada usuário para drenar todo o protocolo. No entanto, quando os contratos são atualizáveis, isso introduz um elemento de risco de centralização, que pode levar uma base de usuários inteira a perder seus fundos.

Mesmo assim, alguns protocolos acreditam que abrir mão da capacidade de atualização pode ser pior do que sua alternativa, pois pode impedir que um desenvolvedor conserte bugs encontrados após a implantação. Os desenvolvedores Web3 continuam a debater quando os protocolos devem ou não permitir atualizações.

Explorações de contratos inteligentes continuam a representar um risco para usuários do Web3. Em 11 de setembro, um invasor drenou mais de US$ 1,4 milhão de um pool de liquidez de token CUT usando uma linha obscura de código que apontava para uma função não verificada em um contrato separado.

Em 3 de setembro, mais de US$ 27 milhões foram drenados do protocolo Penpie depois que o invasor registrou com sucesso seu próprio contrato malicioso como um mercado de tokens.