Back to Blog

Ataque LI.FI: Uma Vulnerabilidade de Bridge Cross-chain? Não, É Causada por uma Chamada Externa Não Verificada!

Code Auditing
21 de março de 2022
4 min read

De acordo com o relatório do projeto LI.FI e o twitter de Daniel Von Fange, observamos o ataque ao LI.FI em 20 de março de 2022. Como não há uma análise técnica detalhada dessa vulnerabilidade, analisamos o ataque a seguir. Descobrimos que a causa raiz deste ataque é uma chamada externa não verificada.

Transação do Ataque

Começamos pela transação do ataque para ilustrar o processo do ataque. A captura de tela a seguir mostra o resultado do nosso sistema de visualização de transações.

Conforme mostrado na imagem acima, todo o processo de ataque é bastante simples, sem contratos inteligentes maliciosos implantados e sem flashloan envolvido. O único passo realizado pelo atacante foi invocar a função swapAndStartBridgeTokensViaCBridge(0x01c0a31a) do contrato CBridgeFacet, que então transfere diversos tokens (como USDC, MATIC, RPL, GNO, USDT, MVI, AUDIO, AAVE, JRT e DAI) de diferentes endereços aprovadores para a EOA controlada pelo atacante.

Análise de Código

Em seguida, mergulhamos nos códigos do contrato lógico vítima.

Os códigos de
Os códigos de
Os códigos de
Os códigos de

De acordo com o código acima, o swapAndStartBridgeTokensViaCBridge é uma entrada de uma transação cross-chain na cadeia de origem.

O projeto LIFI afirma que pode encontrar a melhor rota para os usuários, chamada de Smart Routing, que ocorre fora da cadeia. Em particular, o site front-end calcula a melhor rota e codifica os parâmetros (incluindo o contrato de swap e o caminho de roteamento) nos parâmetros da função swapAndStartBridgeTokensViaCBridge.

Claramente, o projeto LIFI não considerou que a função pode ser invocada por qualquer conta na blockchain, uma vez que a função não realiza nenhuma verificação nos parâmetros, como lista branca e slippage de swap. A parte mais grave é que o contrato CBridgeFacet exige que os usuários aprovem tokens, o que coloca o dinheiro dos usuários em risco.

Lucro

Como resultado, o atacante rouba o dinheiro dos usuários do LIFI que aprovaram seus tokens para o contrato CBridgeFacet ao invocar a função swapAnStartBridgeTokensViaCBridge, que então invoca as funções transferFrom de diferentes tokens. As estatísticas de perdas são mostradas na tabela abaixo. As perdas totais são de aproximadamente $596 mil, o que é basicamente igual às estatísticas do projeto LIFI.

Token Quantidade Preço
GNO 0.94 310.22
USDC 202,012.28 0.999655
MATIC 3,144.89 1.46
AUDIO 1,202.37 1.10
AAVE 8.99 149.99
RPL 44.86 31.2
MVI 22.95 131.82
USDT 368,745.29 1
DAI 8,421.49 0.999847
JRT 136,805.06 0.03789613

Lições

O LIFI é um agregador de bridge cross-chain, e o contrato vítima é a entrada da transferência cross-chain. A vulnerabilidade não se deve à lógica complicada de cross-chain, que já foi demonstrada em incidentes de segurança anteriores em bridges cross-chain. Em vez disso, a causa raiz deste ataque é a chamada externa não verificada, que é um dos 10 problemas mais comuns em Solidity.

À medida que os projetos DeFi se tornam mais complexos, os desenvolvedores de projetos precisam prestar mais atenção em escrever códigos seguros, além de escrever códigos de negócio corretos. Recomendamos fortemente que os projetos NÃO implantem contratos não auditados em blockchains.

Sobre a BlockSec

A BlockSec é uma empresa pioneira em segurança blockchain, fundada em 2021 por um grupo de especialistas em segurança de renome mundial. A empresa está comprometida em aprimorar a segurança e a usabilidade para o emergente mundo Web3, a fim de facilitar sua adoção em massa. Para isso, a BlockSec fornece serviços de auditoria de segurança para contratos inteligentes e cadeias EVM, a plataforma Phalcon para desenvolvimento seguro e bloqueio proativo de ameaças, a plataforma MetaSleuth para rastreamento e investigação de fundos, e a extensão MetaDock para construtores web3 navegarem com eficiência no mundo cripto.

Até o momento, a empresa atendeu mais de 300 clientes de prestígio, como MetaMask, Uniswap Foundation, Compound, Forta e PancakeSwap, e recebeu dezenas de milhões de dólares em duas rodadas de financiamento de investidores de destaque, incluindo Matrix Partners, Vitalbridge Capital e Fenbushi Capital.

Site oficial: https://blocksec.com/

Conta oficial no Twitter: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Perdas de ~5,57 milhões USD: exploração de falhas no X100 Freezer e no NEM | Boletim semanal da BlockSec
Security Insights

Perdas de ~5,57 milhões USD: exploração de falhas no X100 Freezer e no NEM | Boletim semanal da BlockSec

Este relatório semanal aborda dois incidentes de segurança na Ethereum e na BNB Chain no período de 19/10/2026–25/10/2026. Ele examina uma tomada de controle da governança do X100 Freezer financiada por um empréstimo-relâmpago e uma falha na liquidação de impostos que afetou um pool de liquidez de um token NEM na BNB Chain. As perdas estimadas no escopo do relatório totalizam aproximadamente 5,57 milhões USD: cerca de 4,75 milhões USD da transação representativa do X100 e cerca de 820 mil USD do incidente no pool do NEM. O total exclui as extrações subsequentes do X100 relatadas separadamente.

Perdas de ~3,87 milhões USD: ataques à Autheo Network e à UNCX | Resumo semanal da BlockSec
Security Insights

Perdas de ~3,87 milhões USD: ataques à Autheo Network e à UNCX | Resumo semanal da BlockSec

Este relatório semanal aborda 3 incidentes de segurança no período de 12/10/2026–18/10/2026, com perdas totais estimadas em aproximadamente 3,87 milhões USD. A Autheo Network sofreu um comprometimento de chave privada com perdas de cerca de 1,76 milhões USD, a Qubic Wallet perdeu cerca de 1,30 milhões USD devido à geração de seeds fracas, e os contratos Smart Token Vesting V2 da UNCX Network sofreram um erro contábil de cerca de 807 mil USD nas redes Ethereum, BNB Chain, Base e Robinhood Chain. A análise em destaque da UNCX explica como um cálculo incorreto do total de cotas misturou parcelas de vesting criadas com diferentes proporções entre tokens e cotas, permitindo saques acima do devido de pools compartilhados.

~US$ 542 mil perdidos: ataque ao MakerDaoBot | Boletim semanal da BlockSec
Security Insights

~US$ 542 mil perdidos: ataque ao MakerDaoBot | Boletim semanal da BlockSec

O relatório cobre 1 incidente no Ethereum (05–11/10/2026), com perda estimada de US$ 542 mil. Um adaptador malicioso obteve acesso aos saldos MakerDAO via função desprotegida do MakerDaoBot, liquidou 4 leilões ETH-A e converteu 200 ETH-A em WETH, depois enviados como ETH ao atacante.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit