O Radiant Protocol foi hackeado e perdeu US$ 4,5 milhões segundos após seu lançamento.

A razão é que no novo mercado de USDC, o problema de arredondamento matemático na função “queimar” é amplificado e explorado, permitindo que hackers extraiam USDC adicionais.

Compilado por Daniel Tan

Em 3 de janeiro de 2024, horário de Pequim, o protocolo Radiant sobre Arbitrum foi atacado por empréstimos instantâneos. Os hackers realizaram 3 ataques ao protocolo #Radiant, resultando em uma perda total de 1.902 ETH (no valor de US$ 4,5 milhões). A causa raiz é que no novo mercado de $USDC, um problema de arredondamento matemático na função “burn” foi amplificado e explorado, permitindo que hackers retirassem $USDC adicionais.

O MetaTrust Labs conduziu pesquisas e análises aprofundadas desse ataque, revelando como os hackers exploraram a vulnerabilidade.

Protocolo de Empréstimo Protocolo Radiante

Radiant é um protocolo de empréstimo descentralizado e sem custódia que funciona em várias cadeias, incluindo Arbitrum, BNBChain e Ethereum.

Após o ataque, o valor total bloqueado no protocolo Radiant ainda era de US$ 313 milhões, porque a equipe do projeto suspendeu rapidamente o protocolo após ser atacado para evitar novas perdas.

Linha do tempo

troca

0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d

0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243

0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b

Perda de ativos

As três transações de ataque resultaram em uma perda total de mais de 1.902 ETH, no valor de mais de 4,5 milhões de dólares americanos. No momento em que este artigo foi escrito, 1.902 $ETH ainda estavam armazenados na carteira do hacker (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d).

atacante

0x826d5f4d8084980366f975e10db6c4cf1f9dde6d

Contrato de Ataque

0x39519c027b503f40867548fb0c890b11728faa8f

Contrato sob ataque

Radiante: Pool de Empréstimos:

0xf4b1486dd74d07706052a33d31d7c0aafd0659e1

rUSDCn:

0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55

O que aconteceu antes do ataque

Quinze segundos antes do ataque, a parte do projeto tinha acabado de criar um novo mercado de USDC no Arbitrum, e o hacker foi a primeira pessoa a interagir com o novo mercado de USDC.

Etapas de ataque

Tomemos como exemplo a primeira transação de ataque 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b.

  1. Emprestar US$ 3 milhões de USDC da AAVE por meio da função de empréstimo instantâneo;

  2. Deposite 2 milhões de $USDC no Radiant Pool. Neste momento, o índice de liquidez é 1e27.

  1. Faça um empréstimo rápido de $ 2 milhões no Radiant Lending Pool e aumente o índice de liquidez para 1,8e36.

  2. Repita a etapa 3, 151 vezes, para ampliar o liauidityIndex para 2.7e38, que é 270000000000 vezes o valor inicial.

  1. Pegue emprestado 90,6 $ ETH da Radiant Pool, no valor de $ 215 mil.Este é o lucro deste ataque;

  2. Crie um novo contrato (0xd8b591);

  3. Aprovar o USDC ilimitado para o novo contrato, transferir 543 mil $USDC para o novo contrato e usar o novo contrato para executar as etapas a seguir; transferir 543 mil $USDC para o novo contrato e usar o novo contrato para executar as etapas a seguir ;

  4. Deposite 543K $USDC no pool Radiant e crie 2 tokens wei. Como o amountScaled é 2 tokens, 543600000002*1e27/271800000000999999999999998631966035920=2;

  1. Retirando 407K $USDC do pool Radiant, queimando apenas 1 wei de tokens porque amountScaled é 1, 407700000000*1e27/2718000000009999999999999998631966035920=1,5 e problemas de arredondamento matemático. Observe que amountScaled é uma variável do tipo uint256, que converterá 1,5 em 1.

  1. Deposite 271K $USDC no pool Radiant e crie tokens com um valor em escala de 1 porque 271800000001*1e27/271800000000999999999999998631966035920=1

  2. Retire 407K $USDC do pool Radiant e destrua apenas tokens com um amountScaled de 1.

  3. Repita as etapas 10 e 11 até 18 vezes e drene o $USDC do novo mercado que o hacker depositou anteriormente no novo mercado.

  4. Converta 2 $WETH em 4,73 mil $USDC e 3,23 mil $USDC em 1,36 $WETH.

  5. Usar US$ 3,5 milhões de USDC como principal e US$ 15.000 USDC como taxa para pagar o empréstimo rápido da AAVE.

  6. Lucro de US$ 90 ETH.

causa raiz

A razão fundamental é que o hacker foi o primeiro a interagir com o recém-criado mercado nativo de USDC, explorou a função de empréstimo instantâneo do protocolo Radiant para amplificar o índice de liquidez e explorou problemas de arredondamento matemático para roubar ativos do pool de empréstimos.

Código chave

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Fixar

Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)