Análise técnica: Como o Balancer foi hackeado em 120 milhões de dólares?
Título original do artigo: "Análise técnica da vulnerabilidade do hack de 120M$ do Balancer"
Fonte original: ExVul Security
Prefácio
Em 3 de novembro de 2025, o protocolo Balancer foi atacado em várias redes, incluindo Arbitrum e Ethereum, resultando em uma perda de ativos de 120 milhões de dólares. O ataque deveu-se principalmente a uma vulnerabilidade dupla envolvendo perda de precisão e manipulação de invariante.
A infraestrutura da Chainlink mantém há muito tempo os mais altos padrões no espaço Web3, tornando-a uma escolha natural para a X Layer, que se dedica a fornecer ferramentas de nível institucional para desenvolvedores.
O problema chave neste ataque reside na lógica do protocolo para lidar com pequenas transações. Quando os usuários realizam trocas com pequenos valores, o protocolo invoca a função _upscaleArray, que usa mulDown para arredondar valores para baixo. Quando o saldo na transação e o valor de entrada atingem um limite de arredondamento específico (por exemplo, a faixa de 8-9 wei), ocorre um erro de precisão relativa notável.
Este erro de precisão é propagado para o cálculo do valor invariante D do protocolo, causando uma redução anormal no valor D. A flutuação do valor D reduz diretamente o preço do Balancer Pool Token (BPT) no protocolo Balancer. O hacker explorou este preço BPT suprimido através de um caminho de trading premeditado para conduzir arbitragem, levando finalmente a uma perda massiva de ativos.
Transação explorada:
https://etherscan.io/tx/0x6ed07db1a9fe5c0794d44cd36081d6a6df103fab868cdd75d581e3bd23bc9742
Transação de transferência de ativos:
https://etherscan.io/tx/0xd155207261712c35fa3d472ed1e51bfcd816e616dd4f517fa5959836f5b48569
Análise técnica
Vetor de ataque
O ponto de entrada do ataque foi o contrato Balancer: Vault, com a função de entrada correspondente sendo a função batchSwap, que internamente chama onSwap para trocas de token.

Do ponto de vista dos parâmetros e restrições da função, várias informações podem ser obtidas:
1. O atacante precisa chamar esta função através do Vault e não pode chamá-la diretamente.
2. A função chamará internamente _scalingFactors() para obter o fator de escala para operações de escala.
3. A operação de escala está concentrada em _swapGivenIn ou _swapGivenOut.
Análise do padrão de ataque
Mecanismo de cálculo de preço BPT
No modelo de pool estável do Balancer, o preço BPT é um ponto de referência crucial que determina quanto BPT um usuário recebe e quanto cada BPT recebe em ativos.

No cálculo de troca do pool:

Onde a parte que atua como âncora de preço BPT é um valor imutável D, o que significa que controlar o preço BPT requer controlar D. Vamos analisar o processo de cálculo de D mais a fundo:

No código acima, o processo de cálculo de D depende do array de saldos escalados. Isso significa que uma operação é necessária para alterar a precisão desses saldos, levando a um cálculo incorreto de D.
Causa raiz da perda de precisão

Operação de escala:

Como mostrado acima, ao passar pelo _upscaleArray, se o saldo for muito pequeno (por exemplo, 8-9 wei), o arredondamento para baixo no mulDown resultará em uma perda de precisão significativa.
Processo de ataque detalhado
Fase 1: Ajuste ao limite de arredondamento

Fase 2: Gatilho de perda de precisão (vulnerabilidade principal)

Fase 3: Explorando o preço BPT deprimido para lucro

Acima, o atacante usa Batch Swap para realizar várias trocas em uma transação:
1. Primeira troca: BPT → cbETH (ajuste de saldo)
2. Segunda troca: wstETH (8) → cbETH (gatilho de perda de precisão)
3. Terceira troca: Ativo subjacente → BPT (realização de lucro)
Todas essas trocas ocorrem na mesma transação de batch swap, compartilhando o mesmo estado de saldo, mas cada troca chama _upscaleArray para modificar o array de saldos.
Falta de mecanismo de callback
O processo principal é iniciado pelo Vault. Como isso leva ao acúmulo de perda de precisão? A resposta reside no mecanismo de passagem do array de saldos.

Olhando para o código acima, embora o Vault crie um novo array currentBalances cada vez que onSwap é chamado, no Batch Swap:
1. Após a primeira troca, o saldo é atualizado (mas devido à perda de precisão, o valor atualizado pode ser impreciso)
2. A segunda troca continua o cálculo com base no resultado da primeira troca
3. A perda de precisão se acumula, eventualmente causando uma diminuição significativa no valor invariante D
Problema chave:

Resumo
O ataque ao Balancer pode ser resumido pelos seguintes motivos:
1. A função de escala usa arredondamento para baixo: _upscaleArray usa mulDown para escala, o que resulta em perda de precisão relativa significativa quando o saldo é muito pequeno (por exemplo, 8-9 wei).
2. O cálculo do valor invariante é sensível à precisão: O cálculo do valor invariante D depende do array de saldos escalados, e a perda de precisão afeta diretamente o cálculo de D, fazendo com que D diminua.
3. Falta de validação da mudança do valor invariante: Durante o processo de troca, não houve validação para garantir que a mudança no valor invariante D estivesse dentro de uma faixa razoável, permitindo que os atacantes explorassem repetidamente a perda de precisão para suprimir o preço BPT.
4. Acúmulo de perda de precisão em Batch Swaps: Dentro do mesmo batch swap, a perda de precisão de várias trocas se acumula e eventualmente leva a perdas financeiras significativas.
Esses dois problemas — perda de precisão e falta de validação — combinados com o design cuidadoso das condições de contorno pelo atacante, resultaram nesta perda.
Este artigo é uma contribuição e não representa as opiniões da BlockBeats.
Você também pode gostar

Previsão de Preço do XRP: Sinais de Fundo Apontando, Bom Momento para Comprar?
O XRP está indicando sinais de oversold no RSI, similar ao de outubro de 2025, que historicamente precederam…

Um Hacker Acaba de Cunhar 1 Bilhão de Tokens Dot por Meio da Ponte Polkadot
Um ataque à infraestrutura da Polkadot resultou na cunhagem de 1 bilhão de tokens DOT. O incidente causou…

Acumulação dos Baleias do Trump Antes do Almoço em Mar-A-Lago: Impulso para os Memecoins?
A concentração de tokens TRUMP alcançou um pico não visto desde outubro de 2025, com 83 wallets detendo…

Previsão de Preço do Ethereum: Triângulo Dourado para Enviar ETH ao Parabólico
Principais Conclusões ETH encontra-se abaixo de $2,200, mas o gráfico de 3 semanas aponta para um rally acima…

Previsão do Preço do Bitcoin: Arthur Hayes sobre IA, Preço do Petróleo e Guerra Contra Cripto
Arthur Hayes prevê que o preço do Bitcoin pode atingir entre $500K e $750K até o final de…

Revisão do Claude Opus 4.7: Vale o título de modelo mais forte?

Relatório Detalhado da DWF: A IA supera os humanos na otimização de yield farming em DeFi, mas transações complexas ainda ficam 5x atrás

Revelado o programa do evento Rhythm X Zhihu, com demonstração de funcionalidades, palestra principal e mesa redonda para um aprofundamento sobre agentes e finanças em cadeia

Os truques financeiros da gigante das criptomoedas Kraken

Quando os formadores de mercado proativos começam a tomar a iniciativa

# Detalhamento do Desempenho Mercadológico dos Tokens HYPE Após Movimentos de Whale
Key Takeaways Um investidor conhecido como TechnoRevenant iniciou uma transação de desestatização de tokens HYPE no valor de…

# Outline
1. Introdução Contextualizar sobre a segurança em dispositivos para criptomoedas. Relevância dos dispositivos Ledger no mercado. 2. Descoberta…

# Título: ListaDAO Identifica Vulnerabilidade em Contrato Não Autorizado
Key Takeaways ListaDAO confirmou que a vulnerabilidade reportada não estava em seus contratos oficiais, mas sim em um…

# Outline
H1: Grandes Brechas de Segurança em Protocolos DeFi em Abril de 2026 H2: O Ataque ao Drift Protocol…

Um Hacker Acaba de Cunhar 1 Bilhão de Tokens Dot por Meio da Ponte Polkadot
Um ataque à infraestrutura da Polkadot resultou na cunhagem de 1 bilhão de tokens DOT. O incidente causou…

Acumulação dos Baleias do Trump Antes do Almoço em Mar-A-Lago: Impulso para os Memecoins?
A concentração de tokens TRUMP alcançou um pico não visto desde outubro de 2025, com 83 wallets detendo…

Previsão de Preço do XRP: Sinais de Fundo Apontando, Bom Momento para Comprar?
O XRP está indicando sinais de oversold no RSI, similar ao de outubro de 2025, que historicamente precederam…

Previsão de Preço do Ethereum: Triângulo Dourado para Enviar ETH ao Parabólico
Principais Conclusões ETH encontra-se abaixo de $2,200, mas o gráfico de 3 semanas aponta para um rally acima…
Previsão de Preço do XRP: Sinais de Fundo Apontando, Bom Momento para Comprar?
O XRP está indicando sinais de oversold no RSI, similar ao de outubro de 2025, que historicamente precederam…
Um Hacker Acaba de Cunhar 1 Bilhão de Tokens Dot por Meio da Ponte Polkadot
Um ataque à infraestrutura da Polkadot resultou na cunhagem de 1 bilhão de tokens DOT. O incidente causou…
Acumulação dos Baleias do Trump Antes do Almoço em Mar-A-Lago: Impulso para os Memecoins?
A concentração de tokens TRUMP alcançou um pico não visto desde outubro de 2025, com 83 wallets detendo…
Previsão de Preço do Ethereum: Triângulo Dourado para Enviar ETH ao Parabólico
Principais Conclusões ETH encontra-se abaixo de $2,200, mas o gráfico de 3 semanas aponta para um rally acima…
Previsão do Preço do Bitcoin: Arthur Hayes sobre IA, Preço do Petróleo e Guerra Contra Cripto
Arthur Hayes prevê que o preço do Bitcoin pode atingir entre $500K e $750K até o final de…

