Back to Blog

Análise Aprofundada e Reflexões sobre o Incidente de Ataque ao Protocolo de Reabastecimento

Phalcon
July 6, 2025
11 min read

Em 26 de junho de 2025, o protocolo de stablecoin Resupply implantado na mainnet do Ethereum foi atacado, resultando na perda de aproximadamente $10 milhões em ativos. Devido a um problema na implementação do oráculo de preços do contrato relevante, para Markets recém-criados com baixa liquidez, o atacante conseguiu manipular o preço relativo (ou seja, a taxa de câmbio entre o ativo emprestado e o ativo de colateral) do ativo emprestado (reUSD emitido pela Resupply) por meio de um ataque de doação, tornando-o 0. Isso permitiu que o atacante contornasse a verificação de saúde dos ativos e tomasse emprestado uma grande quantidade de reUSD com fins lucrativos.

Após a BlockSec ser a primeira na rede a emitir publicamente um alerta antecipado e fornecer uma análise preliminar (Tweet1, Tweet2), a Resupply posteriormente também publicou um comunicado oficial, mas sem elaborar muitos detalhes técnicos. Este artigo fornecerá uma análise mais detalhada. Por outro lado, após o ataque, também houve uma intensa controvérsia na comunidade entre o time do projeto e suas partes interessadas. Este artigo irá aprofundar e discutir as complexas relações ecológicas por trás do protocolo, para referência dos leitores.


1. Contexto

1.1 Sobre o Protocolo Resupply

Resupply é um protocolo de stablecoin descentralizado que pertence ao ecossistema Curve. A stablecoin emitida pela Resupply é chamada de reUSD. Trata-se de uma stablecoin descentralizada lastreada por posições de dívida colateralizada (CDPs), suportada por outras stablecoins — incluindo crvUSD e frxUSD — que rendem juros em mercados de empréstimo em plataformas externas. Os usuários podem fornecer crvUSD e frxUSD para tomar emprestado reUSD, realizando o refinanciamento de ativos em stablecoin.

Especificamente, os usuários podem realizar operações relacionadas a empréstimos em um Resupply Market implantado on-chain. A criação e o comportamento dos Markets são gerenciados por meio da DAO. Cada Market especifica um Vault ERC-4626 como ativo de colateral (collateral) e utiliza o ativo correspondente a esse Vault como subjacente. Os usuários depositam colateral (o Vault ou o ativo do Vault) no Market para tomar emprestado reUSD.

Tomando como exemplo o Market 0x6e90 e o Vault 0x0114 envolvidos neste ataque, os ativos (tokens) relevantes são os seguintes:

  • Market 0x6e90

    • subjacente: crvUSD
    • colateral: cvcrvUSD (ou seja, Vault 0x0114)
    • emprestado: reUSD
  • Vault 0x0114

    • ativo: crvUSD (armazenado de fato no Curve LlamaLend Controller, que também é um Market)
    • colateral: wstUSR
    • emprestado: crvUSD
    • share: cvcrvUSD (o token ERC-4626 emitido pelo Vault)

Em outras palavras, os usuários podem penhorar uma certa quantidade de cvcrvUSD (ou crvUSD, que na prática será convertido para cvcrvUSD por meio do Vault) neste Market para tomar emprestado reUSD.


1.2 Como o sistema determina se um usuário está apto a tomar emprestado um ativo?

Similar a protocolos de empréstimo em geral, o Resupply Market também realizará uma verificação de saúde dos ativos na posição de um usuário (por meio do modificador isSolvent).

O isSolvent eventualmente chama a função _isSolvent, que verifica o LTV (Loan-to-Value ratio), exigindo que a proporção entre o ativo emprestado e o ativo de colateral não exceda o valor máximo definido pelo sistema (_ltv <= maxLTV).

Pode-se observar que o cálculo do LTV depende da taxa de câmbio (_exchangeRate), ou seja, o preço (razão de troca) do ativo emprestado em relação ao ativo de colateral.


2. Análise do Ataque

2.1 Análise da Causa Raiz

Do ponto de vista do código do contrato, a causa principal do ataque foi que a implementação do oráculo de preços do Resupply Market apresentava um problema. Para Markets recém-criados com baixa liquidez, o atacante pôde manipular a taxa de câmbio por meio de um ataque de doação, contornando assim a verificação de saúde e tomando emprestado uma grande quantidade de reUSD com fins lucrativos.

Como calcular a taxa de câmbio?

A fórmula é a seguinte:

Obviamente, se getPrices retornar um preço maior que 1e36, o arredondamento para baixo da divisão inteira resultará em _exchangeRate = 0.

Como manipular o preço?

De acordo com o código, o preço pode ser calculado da seguinte forma:

Como o código define precision = 1, DEAD_SHARES = 1000 e shares = 1e18.

Por fim, após substituir as variáveis, a fórmula de cálculo do preço é a seguinte:

Pode-se observar que para amplificar o valor de price, o ponto-chave é aumentar a diferença entre total_assets e totalSupply, tornando total_assets extremamente grande enquanto totalSupply permanece muito pequeno. Na implementação real do protocolo Resupply, total_assets na fórmula depende do subjacente (crvUSD), e totalSupply depende das shares (cvcrvUSD) correspondentes à liquidez total do Market. Este é precisamente o cenário clássico de ataque de doação.

2.2 Análise da Transação de Ataque

De acordo com a transação de ataque [4], pode-se analisar que o atacante realizou as seguintes etapas principais:

  1. Tomou emprestado 4.000 USDC via empréstimo flash e os trocou por 3.999 crvUSD.

  2. Doou 2.000 crvUSD ao Controller 0x8970. Antes da doação, o Controller 0x8970 possuía 0 crvUSD. Após a doação, a quantidade registrada de crvUSD tornou-se 2000000000000000000000 (com 18 decimais).

  3. Depositou aproximadamente 2 crvUSD no Vault 0x0114 e recebeu 1 share (cvcrvUSD). Neste ponto, a quantidade registrada de crvUSD era 2002000000000000000001 (com 18 decimais).

  4. Adicionou 1 unidade (ou seja, 1 share do Vault 0x0114) de colateral ao Market 0x6e90.

  5. Tomou emprestado 10.000.000 reUSD do Market 0x6e90. Neste ponto, _exchangeRate = 0, resultando em _ltv = 0, de modo que a verificação _isSolvent foi aprovada.

Por que _exchangeRate era igual a 0? Porque por meio das etapas anteriores, o atacante manipulou o contrato para atingir o seguinte estado:

Relembrando o método de cálculo da taxa de câmbio:

Como price > 1e36, _exchangeRate = 0.

  1. Trocou o reUSD emprestado por lucro.

3. Lições Aprendidas

O Market atacado na Resupply utilizou uma implementação de oráculo de preços similar ao contrato de template da Curve.

No entanto, a documentação oficial da Curve já havia indicado o escopo de aplicabilidade desta implementação — infelizmente, a Resupply não pareceu levar em consideração esse aviso de aplicabilidade em sua implantação.

4. Relações e Controvérsia na Comunidade

4.1 Rede de Relacionamentos Complexa dos Cinco Principais Projetos no Ecossistema Curve

Para entender o impacto mais profundo do incidente com a Resupply, devemos primeiro observar as complexas relações entre os cinco protocolos principais dentro do ecossistema Curve.

A Curve Finance é o núcleo de todo o ecossistema, fornecendo pools de liquidez, crvUSD e o protocolo LlamaLend, que sustentam as operações da Resupply, Prisma, Convex e Yearn. A Convex otimiza o rendimento da Curve por meio de staking e governança e fornece mecanismos de recompensa adicionais para a Prisma e a Resupply. A Prisma depende dos tokens LP da Curve e das funções de aprimoramento de rendimento da Convex, enquanto a Resupply é diretamente baseada no LlamaLend da Curve para emitir reUSD e foi desenvolvida conjuntamente pela Convex e pela Yearn. A Yearn não apenas otimiza os rendimentos dos pools da Curve, mas também promoveu o desenvolvimento da Resupply por meio de colaboração com a Convex.

Curve Finance: Como plataforma central, os pools de liquidez da Curve (como o pool de crvUSD) e o protocolo LlamaLend são diretamente utilizados pela Resupply para emitir reUSD, pela Prisma para fazer staking de tokens LP, pela Yearn para otimização de rendimento e pela Convex para votação de governança.

Convex: A Convex é o protocolo de aprimoramento de rendimento da Curve. Os usuários podem fazer staking de tokens LP da Curve para ganhar recompensas maiores em CRV, bem como tokens CVX da Convex. A Convex controla quase 50% do poder de voto de governança da Curve e fornece mecanismos de aumento de rendimento para a Prisma e a Resupply.

Prisma: A Prisma faz staking dos tokens LP da Curve, e os usuários obtêm recompensas aprimoradas (cvxPRISMA) via Convex. A Prisma depende da liquidez da Curve e dos mecanismos de rendimento da Convex.

Yearn: A Yearn é um agregador de rendimento que oferece aos usuários altos retornos otimizando os rendimentos dos tokens LP da Curve (aprimorados via Convex). A Yearn colaborou com a Convex para desenvolver a Resupply e utiliza extensivamente os pools da Curve em suas estratégias de rendimento.

Resupply: Desenvolvida conjuntamente pela Convex e pela Yearn, permite que os usuários tomem emprestado reUSD ao penhorar stablecoins como crvUSD e automaticamente faz staking de tokens na Convex para ganhar recompensas em CRV e CVX, formando um ciclo de otimização de rendimento.

4.2 Controvérsia e Impacto

No entanto, quando a Resupply foi atacada, essa complexa rede de relacionamentos imediatamente tornou-se foco de controvérsia. O fundador da Curve, Michael Egorov, rapidamente se distanciou da Resupply, enfatizando:

"Não há uma única pessoa da Curve trabalhando naquele projeto… por favor, não generalize para a Curve."

Esta declaração de distanciamento refletiu como as intrincadas relações de cooperação dentro do ecossistema DeFi podem ser frágeis em tempos de crise.

Esses projetos interrelacionados formam juntos um ecossistema altamente acoplado — em tal sistema, qualquer problema em um elo pode desencadear uma reação em cadeia. Portanto, não é surpresa que o incidente de ataque à Resupply tenha gerado ampla discussão na comunidade sobre interdependência de protocolos e segurança.


5. Reflexões Adicionais

5.1 Linha do Tempo

  • 17 de maio de 2025: O endereço oficial da Resupply 0x1f84 implantou um novo LlamaLend Market por meio da Curve's OneWay Lending Factory.

    • O Market usou crvUSD como ativo de empréstimo e wstUSR como token de colateral.
    • O contrato Vault ERC-4626 era 0x0114, e o Controller correspondente era 0x8970.
  • 31 de maio de 2025: Uma nova proposta wstUSR-long LlamaLend Market foi publicada na página de governança da Resupply. Esta proposta visava permitir que os usuários mintassem reUSD por meio do LlamaLend Market.

  • 11 de junho de 2025: A proposta foi publicada on-chain.

  • 26 de junho de 2025, 00:18:47 (UTC): A proposta foi aprovada, e o endereço oficial da Resupply 0x0417 implantou um novo ResupplyPair (ou seja, o Market crvUSD/wstUSR da Resupply) 0x6e90, vinculando o Vault 0x0114 e o Controller 0x8970.

    • Vinculou o Vault 0x0114 e o Controller 0x8970.
    • Utilizou a posição de dívida colateralizada do Vault (ou seja, cvcrvUSD, com crvUSD como subjacente) como colateral.
  • 26 de junho de 2025, 01:53:59 (UTC): Aproximadamente 1,5 hora após a implantação do Market 0x6e90, o atacante executou com sucesso o exploit. Ao mesmo tempo, a BlockSec detectou o ataque e tentou entrar em contato com o time do projeto.

  • 26 de junho de 2025, 02:26 (UTC): Após não conseguir contato com o time e confirmar que não haveria mais perdas, a BlockSec emitiu um aviso público.

  • 26 de junho de 2025, 02:53:23 (UTC): O time do projeto pausou o protocolo.

5.2 Se o Phalcon Tivesse Sido Usado, a Tragédia Poderia Ter Sido Evitada

A BlockSec Phalcon Security representa o mais recente avanço em proteção de segurança DeFi. Ao monitorar transações na fase de mempool, o Phalcon é capaz de identificar padrões anormais no instante em que uma transação de ataque entra no mempool.

O sistema, alimentado por um motor de análise inteligente, integra mais de 200 assinaturas típicas de ataques. Nos últimos seis meses, manteve uma taxa de falsos positivos ultrabaixa de menos de 0,0001%, alcançando uma detecção de ameaças verdadeiramente precisa.

O sistema aproveita uma estratégia proprietária de lances de gas para garantir que a transação de defesa supere a transação de ataque, enquanto aciona automaticamente a função de pausa de emergência do protocolo.

Todo o processo de resposta suporta múltiplos modos de controle de permissão — incluindo carteiras EOA e multisig — fornecendo soluções de segurança flexíveis para diferentes tipos de protocolos.

Se a Resupply tivesse integrado o sistema Phalcon ao implantar o Market, o ataque poderia ter sido completamente evitado

Dentro das 1,5 hora após a implantação do Market 0x6e90, o sistema Phalcon teria detectado automaticamente a implantação do novo Market, analisado de forma inteligente seus parâmetros de configuração e identificado o risco potencial de um ataque de doação.

O sistema teria imediatamente enviado um alerta de risco ao time do projeto, sugerindo adicionar proteção de liquidez inicial ou ajustar os parâmetros relevantes.

Mesmo após a ocorrência do ataque, implantar o Phalcon ainda traria um valor tremendo para a Resupply e todo o ecossistema Curve

Um sistema de monitoramento transparente e em tempo real demonstra aos usuários e à comunidade o firme compromisso do time do projeto com a segurança, e o mecanismo de proteção contínua 24/7 garante que incidentes semelhantes nunca voltem a acontecer. Dados públicos de monitoramento de segurança aumentam a transparência do projeto e servem como meio crítico para reconstruir a confiança da comunidade. Para projetos afetados, adotar proativamente uma solução de segurança de primeira linha prova seu senso de responsabilidade pela segurança dos fundos dos usuários, e fazer parceria com um líder do setor como a BlockSec também fornece um forte aval para a reputação do projeto no campo de segurança.

Atualmente, mais de $50 bilhões em ativos escolheram confiar na proteção do Phalcon. Paramos com sucesso mais de 20 ataques hackers reais, evitando mais de $20 milhões em perdas de ativos. Nos últimos seis meses, o sistema manteve um registro perfeito de precisão de detecção e alcançou velocidades de resposta em milissegundos, sempre ficando um passo à frente dos atacantes. O Phalcon atualmente suporta mais de 20 grandes redes blockchain, incluindo Ethereum, BSC e Arbitrum, fornecendo proteção de segurança abrangente e cross-chain para o ecossistema DeFi.

A perda de $10 milhões da Resupply e inúmeros outros incidentes de ataque nos dizem que no mundo DeFi, segurança não é uma opção — é uma necessidade para a sobrevivência.

Não espere pelo próximo ataque para se arrepender. Implante a proteção de segurança mais robusta para o seu protocolo agora.

O time de especialistas da BlockSec está pronto para realizar uma avaliação de segurança abrangente para o seu projeto.

🔗 Phalcon Security APP:

https://blocksec.com/phalcon/security

🔗 Agende uma demonstração:

https://blocksec.com/book-demo