Vendo o chefe onekey defendendo seus direitos e Resupply, perdendo alguns ativos M, ele lamentou que o Defi seja realmente muito frágil. Depois de olhar em volta, eu não parecia estar particularmente claro sobre como os hackers atacavam, então fiz algumas pesquisas e compartilhei com você:
O protagonista da história é o ResupplyPair, o usuário pode emprestar e emprestar apostando ativos, e o modificador isSolvent no contrato é responsável por verificar se o usuário é elegível para emprestar os ativos solicitados, a lógica do código específico é a seguinte:
Você pode ver o cálculo do LTV na linha 282, se tivermos uma maneira de definir _exchangeRate como 0, a verificação não seria sempre verdadeira? Continue lendo o código:
Você pode ver que a variável para esse valor vem da chamada para o oráculo getPrices, e é o denominador, ou seja, precisamos tornar o preço da garantia extremamente grande.
Lendo o código do oráculo, você pode ver que getPrices é apenas uma camada de encaminhamento, que na verdade chama a interface convetToAssets do ativo em staking (ou seja, o cofre). Continue lendo o código:
Você pode ver que este resultado é composto por operações matemáticas muito complexas, aqui o hacker está amplificando a molécula, mais total_assets, para completar o ataque, veja a implementação da função _total_assets pode ser encontrada:
Esse valor está relacionado ao borrowed_token detido pelo contrato do controlador desse cofre, que é crvUSD.
A análise é realmente clara aqui, o ResupplyPair foi criado com um cofre vazio, e o hacker transferiu uma certa quantidade de borrowed_token para o contrato de controlador do cofre e, finalmente, fez o _exchangeRate retornar a zero, de modo que o valor de seus ativos prometidos foi infinitamente amplificado, e ele emprestou até 10 milhões de reUSD a um custo muito pequeno.
Negociação de ataque:
Endereço do contrato ResupplyPair:
Endereço do contrato do controlador de tesouraria:
Endereço do Contrato de Tesouraria:
Endereço do contrato Oracle:
Mostrar original



68,35 mil
307
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.