Se há uma coisa que sabemos, é que nenhum protocolo ou plataforma DeFi é 100% seguro. Em 9 de julho, @GMX_IO Exchange V1 foi hackeado por US$ 42 milhões. Aqui está nosso detalhamento abaixo do @panprog de parceiros de segurança líder da @Blackthornxyz (incluindo uma lição crucial para o desenvolvimento de contratos inteligentes) 👇🔎
A raiz da exploração foi uma vulnerabilidade de reentrância nos contratos inteligentes GMX, especificamente em PositionManager.executeDecreaseOrder.
O ataque ⚔️: A partir de OrderBook.executeDecreaseOrder, o lucro (em ETH) foi enviado diretamente ao usuário. Isso acionou a função receive() do contrato do receptor antes que timelock.disableLeverage() fosse chamado.
Essa função destina-se a impedir chamadas diretas do Vault desativando a alavancagem, mas devido à sua invocação atrasada, o invasor conseguiu ignorá-la.
Dentro desse contexto de reentrância, o invasor chamou o Vault diretamente para manipular posições vendidas. Uma linha crítica no PositionManager - responsável pela atualização do ShortsTracker.globalShortAveragePrices - foi ignorada.
Como resultado, o invasor poderia inflar artificialmente o Vault.globalShortSizes sem atualizar o preço médio a descoberto, o que levou a cálculos incorretos de AUM e inflou o preço do GLP.
O roubo de fundos💰 de US $ 42 milhões: O invasor primeiro comprou GLP por um preço mais baixo, depois o inflou com loops de reentrada e depois vendeu o GLP de volta ao Vault a um preço inflacionado. Isso drenou quase todos os tokens mantidos no Vault. Total de arrecadação: US$ 42 milhões em ETH, BTC, USDC e muito mais.
As consequências? 1) A GMX interrompeu todas as negociações, cunhagem e resgate de GLP na Arbitrum e na Avalanche. 2) O GMX V2 e outros componentes do protocolo não foram afetados. 3) O invasor recebeu uma recompensa de 10% (aproximadamente US$ 4,2 milhões) se os fundos fossem devolvidos em 48 horas.
No momento em que escrevo este post, o hacker começou a devolver fundos para a equipe GMX depois de 🙌 negociar um pagamento. Como parceiros de segurança da GMX começando com seu V2, temos ajudado com essa situação e estamos encantados em ouvir isso. Estamos ansiosos para continuar trabalhando com a GMX no futuro.
As lições 🎓: ✅ Certifique-se de que não haja reentrância possível, mesmo que pareça inofensivo - Inicialmente, o GMX v1 permitia aos usuários a interação direta com o Vault... Como tal, a capacidade de interagir diretamente com o Vault não parecia perigosa para muitos.
✅ Certifique-se de que haja verificações de sanidade para mudança rápida de valor, como preços de tokens ou ações: reverta a execução se em um curto espaço de tempo o preço de qualquer ativo (como GLP neste caso) mudar mais do que uma determinada porcentagem.
✅ Certifique-se de que haja um monitoramento off-chain rigoroso em vigor para quaisquer padrões suspeitos, possivelmente interrompendo automaticamente a negociação em situações extremas. Por exemplo, se o preço do GLP estiver fora de algum intervalo predefinido a qualquer momento, interrompa as operações imediatamente para investigar.
Confira nosso blog para o relatório 👇 completo
Mostrar original
5,18 mil
43
O conteúdo desta página é fornecido por terceiros. A menos que especificado de outra forma, a OKX não é a autora dos artigos mencionados e não reivindica direitos autorais sobre os materiais apresentados. O conteúdo tem um propósito meramente informativo e não representa as opiniões da OKX. Ele não deve ser interpretado como um endosso ou aconselhamento de investimento de qualquer tipo, nem como uma recomendação para compra ou venda de ativos digitais. Quando a IA generativa é utilizada para criar resumos ou outras informações, o conteúdo gerado pode apresentar imprecisões ou incoerências. Leia o artigo vinculado para mais detalhes e informações. A OKX não se responsabiliza pelo conteúdo hospedado em sites de terceiros. Possuir ativos digitais, como stablecoins e NFTs, envolve um risco elevado e pode apresentar flutuações significativas. Você deve ponderar com cuidado se negociar ou manter ativos digitais é adequado para sua condição financeira.