A Lien Finance perdeu aproximadamente 542.000 USDC devido a uma vulnerabilidade na lógica de troca do seu token de obrigações. O atacante explorou uma falha no contrato BondMakerCollateralizedEth do protocolo, que permitia a criação de ativos sem lastro e o posterior esvaziamento da liquidez. Investigadores de segurança da SlowMist afirmaram que a vulnerabilidade permitiu a cunhagem de novos tokens e a sua troca por liquidez real sem destruir os tokens de obrigações correspondentes. Este incidente ocorreu em Julho, um período marcado por múltiplas violações de segurança em protocolos DeFi que resultaram, no total, em perdas de milhões de dólares.
O atacante explora a função exchangeEquivalentBonds no contrato de obrigações
A empresa de segurança de blockchain SlowMist anunciou que o ataque visava o mecanismo de troca de obrigações da Lien Finance. O atacante usou a função exchangeEquivalentBonds no contrato BondMakerCollateralizedEth para criar tokens de obrigações sem destruir as obrigações de entrada e, em seguida, trocou-os por USDC. Isto resultou na retirada de aproximadamente 542.144,63 USDC. A SlowMist afirmou que o ataque ocorreu porque os grupos de obrigações não foram verificados de forma suficientemente rigorosa durante a troca. O endereço da carteira usado pelo atacante foi identificado como 0x0d7d…1808a.
SlowMist e DefimonAlerts identificam uma vulnerabilidade no sistema de registo de obrigações
A análise on-chain da DefimonAlerts revelou que o ataque ocorreu devido a vulnerabilidades no registo e no estabelecimento de preços de obrigações sem permissões. O atacante criou obrigações que continham uma função de pagamento maliciosa ao registar um novo lote de obrigações através do contrato BondMakerCollateralizedEth. Essas obrigações foram encaminhadas para os pools OTC da Lien Finance e substituídas por liquidez real em USDC. Após o ataque, vários contratos foram afetados, incluindo o contrato GeneralizedDotc da Lien Finance. A Lien Finance ainda não divulgou um relatório técnico detalhado na sequência deste ataque. Os investigadores referem que este tipo de ataques surge de fragilidades na lógica de preços e na validação do protocolo.
FAQ
Como é que o atacante explorou o sistema de obrigações da Lien Finance?
O atacante usou a função exchangeEquivalentBonds no contrato BondMakerCollateralizedEth para criar tokens de obrigações sem destruir as obrigações de entrada e, em seguida, trocou-os por USDC. Isto foi possível porque os grupos de obrigações não foram verificados de forma suficientemente rigorosa durante o processo de troca.
Que contratos foram afetados pelo ataque à Lien Finance?
Vários contratos foram afetados na sequência do ataque, incluindo o contrato GeneralizedDotc da Lien Finance. O atacante registou obrigações maliciosas através do contrato BondMakerCollateralizedEth e encaminhou-as para os pools OTC da Lien Finance.