$215K Roubado do Fluid: Atacante controla ambas as chaves no sistema de recompensas Merkle

Fluid perdido $215K após um atacante controlar ambas as chaves de distribuição de recompensas, drenando tokens através de raízes Merkle falsas e roteando os lucros para Tornado Cash.

Os tokens de recompensa já haviam desaparecido. Em 27 de maio, um atacante que possuía ambas as chaves de assinatura operacional do Fluid enviou uma lista de recompensas falsa para os distribuidores Merkle do protocolo na Ethereum, Base e Arbitrum.

O Fluid, protocolo DeFi baseado na Ethereum, usa um sistema de duas etapas para distribuir recompensas: uma chave propõe uma raiz Merkle e uma segunda chave aprova-a. Como relatado por BlackHartInc no X, ambos esses papéis eram exercidos por um único ator. O controle de duas pessoas não significava nada uma vez que uma pessoa tinha ambas as chaves.

Uma Pessoa, Duas Chaves, Zero Resistência

A chave do proponente enviou uma raiz de auto-interesse ao distribuidor FLUID às 21:11:11 UTC. Doze segundos depois, o mesmo atacante a aprovou usando a chave do aprovador. Vinte e quatro segundos após a proposta inicial, uma reivindicação foi concluída usando uma prova Merkle vazia.

Essa prova vazia não foi um bug. Uma lista de recompensas de entrada única produz uma raiz igual à sua única folha, portanto, nenhum caminho de prova é necessário. O contrato verificou corretamente. Nada no contrato inteligente quebrou. Segundo análise forense de BlackHart, toda a falha foi na custódia da chave operacional.

O mesmo ciclo de propor-aprovar-reivindicar então foi executado contra o distribuidor GHO às 21:13:59 UTC e um terceiro distribuidor por uma pequena quantidade de cbBTC horas depois. Em todas as três cadeias, o atacante saiu com aproximadamente 125.109 FLUID e 51.946 GHO, além de cbBTC rastreável.

O que realmente saiu do protocolo, e o que não saiu

Os mercados de empréstimo, cofres e liquidez DEX do Fluid nunca estiveram sob controle dessas chaves. Os contratos drenados eram apenas distribuidores de recompensas. 0xfluid no X confirmou que os contratos inteligentes do protocolo principal permaneceram intactos e os fundos dos usuários não estavam em risco devido ao incidente.

Os FLUIDs e GHO roubados foram trocados por aproximadamente 103 éter através do roteador de troca MetaMask. Cerca de 142,6 ETH acabaram no Tornado Cash, roteados parcialmente por carteiras de retransmissão e parcialmente por depósito direto. Os lucros de L2 de Base e Arbitrum foram bridged de volta para Ethereum antes da mistura.

Uma grande retirada de algo entre US$ 70 milhões e US$ 110 milhões do Fluid nos dias seguintes não foi uma segunda exploração. Foi depositantes retirando seus próprios fundos, uma corrida bancária impulsionada pela confiança. Não relacionada ao roubo em si, embora não exatamente alheia ao momento da divulgação.

A Limpeza, e o que não foi dito

Cerca de dez horas após o primeiro roubo, em 28 de maio às 07:05 UTC, a equipe do Fluid removeu as funções comprometidas de proponente e aprovador de dez distribuidores de recompensas em uma única transação em lote. Aproximadamente 314.000 FLUID e 7.400 USDC de saldos de recompensa restantes foram transferidos para um endereço seguro.

Comunicações públicas da equipe descreveram apenas uma pausa na reivindicação de recompensas para atualizações. Sem menção a um comprometimento de chave. Sem menção a uma perda. A exploração em si foi divulgada publicamente em 31 de maio, quatro dias após acontecer, quando um credor já havia retirado US$ 77 milhões em USDC a partir de 28 de maio.

Pablo Veyrat, cofundador da Merkl, abordou o episódio no X. Falando sobre as escolhas de design de seu próprio protocolo, Veyrat observou no X que a Merkl executa três bots de disputa independentes em infraestrutura totalmente separada, cada um verificando novas árvores Merkle antes que uma raiz se torne efetiva, com um atraso mínimo de uma hora entre a postagem de uma nova raiz e quaisquer reivindicações contra ela.

Por que um Timelock muda tudo aqui

Todo o exploit ocorreu em menos de 24 segundos desde a proposta até a reivindicação. Essa velocidade só foi possível porque não havia atraso entre a aprovação da raiz e o pagamento. Exploits de chaves administrativas atingiram DeFi repetidamente este ano, e o padrão continua voltando para a mesma lacuna: chaves privilegiadas sem atrito entre acesso e ação.

A avaliação da BlackHart destacou a segurança operacional como a área de pontuação mais fraca na avaliação pré-hack do Fluid. O modo de falha exato, duas chaves que poderiam ser transformadas em um pagamento sem um custodiante independente ou um período de espera, já era o que o score alertava. Compromissos de chaves operacionais não são novidade para 2026, mas o caso do Fluid acrescenta uma complicação específica: o design de duas chaves parecia uma salvaguarda até que fosse controlado por uma pessoa.

A carteira do atacante, 0x4925120c…1d3dfb, reivindicou em várias cadeias dentro de aproximadamente o mesmo minuto. Nenhum limite de velocidade restringiu o que um ciclo único poderia liberar. Nenhum alerta em tempo real detectou a atividade anormal até horas depois.

FLUID-8,03%
ETH-4,88%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
Adicionar um comentário
Adicionar um comentário
Sem comentários
  • Fixado