Ataque com flash loan garante duas cadeiras de governança: o que o roubo do X100 ensina ao setor?

ETH
USDT
Segurança DeFiGovernança DAOataque de governançaX100Roubo de fundosFlash loan
há 1 horaFonte: blockweeks.com
Ataque com flash loan garante duas cadeiras de governança: o que o roubo do X100 ensina ao setor?


Original | Odaily Planet Daily (@OdailyChina)

Author | Asher (@Asher_0210)

Flash Loan Seizes Two Governance Seats, What Does the X100 Exploit Teach the Industry?

Em 24 de outubro, o projeto DeFi de Ethereum X100 sofreu um ataque de governança, com aproximadamente 4,85 milhões de USDT roubados. De acordo com dados da GMGN, a capitalização de mercado do token X caiu de cerca de US$ 760 milhões antes do ataque para cerca de US$ 24 milhões, uma queda de mais de 96% em um único dia.

Flash Loan Seizes Two Governance Seats, What Does the X100 Exploit Teach the Industry?

Um tesouro originalmente administrado em conjunto por três assentos do "Senado" foi tomado por um hacker que usou fundos emprestados por meio de flash loan para capturar dois dos três assentos. Com a maioria dos votos em mãos, o hacker enviou uma proposta maliciosa e, em seguida, usou os assentos que controlava para aprová-la, fazendo com que o tesouro aprovasse uma transação que enviava ativos para ele mesmo. Após o sucesso da primeira rodada de ataque, outros atacantes exploraram sucessivamente o mesmo mecanismo de governança para continuar transferindo os ativos do projeto.

A seguir, o Odaily Planet Daily revisará todo o processo deste ataque de governança, bem como os riscos de segurança da governança DAO expostos por trás do incidente da X100.

Emprestando US$ 1,94 milhão, como o hacker capturou dois assentos do "Senado"?

O tesouro da X100 é administrado por um "Senado" de três assentos chamado Senate, cujos membros votam para decidir operações como venda de tokens do tesouro e implantação de liquidez. Desde que dois dos assentos sejam controlados, as propostas podem ser aprovadas e os ativos do tesouro mobilizados. Os detentores depositam o token do projeto X no contrato Freezer, escolhem congelá-lo por um, três ou cinco anos e, em seguida, pagam uma taxa de registro de 100 X para participar da eleição. Os três assentos são classificados em tempo real de acordo com o saldo congelado atual dos endereços participantes, e os três primeiros obtêm direitos de governança.

Este mecanismo não restringe que o mesmo controlador obtenha assentos por meio de múltiplos endereços, nem estabelece um período de espera para que os direitos de governança entrem em vigor. Um atacante só precisa fazer com que os saldos congelados de dois endereços controlados entrem simultaneamente no top três para imediatamente obter a maioria dos votos; uma proposta aprovada também pode ser executada imediatamente, permitindo que a captura de assentos e a transferência de ativos sejam concluídas na mesma transação.

Antes do ataque, o endereço do segundo assento havia congelado cerca de 19.000 X. Às 22h11 de 24 de outubro, o hacker emprestou cerca de 1,94 milhão de USDT por meio de um flash loan da Aave, comprou X e distribuiu para dois contratos auxiliares para concluir respectivamente o congelamento e a campanha eleitoral. Cada contrato congelou 19.000,000001 X, apenas um milionésimo de token a mais que o segundo assento original, mas simultaneamente ocupou o segundo e o terceiro assentos, empurrando o segundo assento original para fora da lista de governança.Flash Loan Seizes Two Governance Seats, What Does the X100 Exploit Teach the Industry?

Após obter a maioria dos votos, como o hacker fez os ativos do tesouro fluírem para suas próprias mãos?

Dois votos "Sim" permitem que o Tesouro venda 400.000 X por US$ 35,68

Após garantir duas cadeiras, o hacker enviou imediatamente uma proposta maliciosa exigindo que o tesouro vendesse 400.000 X em um pool X/USDT da PancakeSwap V3 criado pelo hacker, com o valor mínimo recebido definido como zero, e então votou a favor por meio de outro contrato controlado, permitindo que a proposta fosse aprovada com dois votos e executada imediatamente. De acordo com a análise da GoPlus, o X100 permite que propostas de governança especifiquem o pool de negociação, mas carece de proteção eficaz para o valor mínimo de transação. O hacker podia tanto decidir onde o tesouro venderia os tokens quanto definir as condições da transação ele mesmo, e então aprovar a transação com os votos majoritários que controlava.

O pool acima foi criado pelo hacker na mesma transação, com apenas cerca de US$ 100 de liquidez injetada. Quando o tesouro vendeu 400.000 X nele, o pool só pôde pagar uma pequena quantidade de USDT e, como o valor mínimo recebido era zero, a transação não falhou devido ao retorno excessivamente baixo. No final, o tesouro entregou 400.000 X e recebeu apenas cerca de US$ 35,68 em troca. O hacker então retirou a liquidez do pool criado por ele mesmo, recuperou os X ali contidos e vendeu parte dos tokens no pool de negociação X/USDT existente da Uniswap V3 em troca de USDT. Após pagar o flash loan e outras despesas, o primeiro hacker lucrou cerca de 4,75 milhões de USDT.

Desde tomar fundos emprestados para comprar tokens e conquistar cadeiras, até aprovar a venda de tokens do tesouro a preço baixo e sacar para pagar o empréstimo, tudo foi concluído na mesma transação. Os tokens entregues pelo tesouro tornaram-se as fichas do hacker para sacar, enquanto o USDT no pool de negociação real foi usado para pagar o empréstimo e convertido em lucros do ataque.

Ataques subsequentes ocorreram um após o outro; para onde foram os fundos roubados?

Cerca de 24 minutos após o primeiro ataque, um segundo hacker voltou a conquistar duas cadeiras de governança via flash loan, removeu parte das posições de liquidez da Uniswap V3 detidas pela Freezer e usou um pool de negociação criado por ele mesmo para continuar transferindo ativos, obtendo cerca de 96.400 USDT. Cerca de cinco minutos depois, uma terceira carteira explorou um contrato auxiliar deixado pelo segundo hacker que não restringia os chamadores, usando diretamente suas cadeiras de governança para aprovar uma proposta e transferir cerca de 550.000 X. As duas primeiras rodadas de ataques causaram uma perda total de cerca de 4,85 milhões de USDT, e a terceira rodada transferiu ainda cerca de 550.000 X; as três rodadas de ataques ocorreram em menos de meia hora.

De acordo com o rastreamento da Bitquery, o primeiro hacker converteu os principais lucros em USDT para ETH em minutos após o ataque, depois os dispersou para cinco carteiras, totalizando cerca de 2.022,86 ETH. O segundo hacker converteu USDT em ETH e o encaminhou por endereços intermediários para a ChangeNOW, com todo o processo de transferência levando cerca de 21 minutos.

Uma vez perdida a autoridade de governança, a transferência de ativos rapidamente evoluiu do ataque único do primeiro hacker para sucessivas sangrias por múltiplas carteiras. Os participantes posteriores nem precisavam comprar tokens novamente para fazer campanha; podiam usar a autoridade existente para continuar transferindo ativos.

Um mundo on-chain onde o custo dos ataques de governança é cada vez menor

O X100 não é um caso isolado, e ataques de governança não exigem necessariamente que hackers invistam fundos enormes antecipadamente. Os atacantes podem comprar tokens para obter direitos de voto ou explorar limites baixos de proposta para procurar oportunidades, enquanto os flash loans permitem ainda que fundos emprestados participem da disputa pelo poder de governança.

Desde o início deste ano, ataques de governança semelhantes causaram repetidamente grandes perdas. Em julho, o atacante da Bonk DAO gastou cerca de US$ 4,09 milhões para comprar tokens que representavam 1,003% do fornecimento, ultrapassando por pouco o limite de aprovação de governança, e então transferiu cerca de US$ 20,5 milhões em ativos por meio de uma proposta maliciosa, e ainda recuperou os tokens em staking após o término da votação. Em agosto, a Term Finance perdeu cerca de US$ 8,5 milhões devido a um ataque de governança. Mesmo que milhões de dólares sejam necessários para comprar direitos de voto, esse dinheiro pode não ser o custo final suportado pelo atacante.

O limite para algumas tentativas de ataque foi ainda de apenas algumas centenas de dólares. Em março deste ano, um atacante da Moonwell gastou apenas cerca de US$ 1.808 para comprar MFAM e autodelegar, depois enviou uma proposta maliciosa tentando obter direitos de gestão sobre sete mercados de empréstimo e contratos centrais envolvendo cerca de US$ 1,08 milhão em fundos de usuários. Em setembro, um atacante da Olas gastou apenas cerca de US$ 135 para bloquear 5.100 OLAS, ultrapassando o limite de proposta. Embora ambos os ataques tenham sido interceptados, eles mostram que os atacantes não precisam necessariamente deter a maioria dos votos; apenas obter elegibilidade para propor pode criar oportunidades de ataque.

Em 22 de outubro, a Arkadiko também sofreu um ataque de governança. O atacante comprou DIKO suficiente, votou sozinho a favor de uma proposta que introduzia um contrato malicioso, sem nenhum voto contrário durante o processo, e a perda estimada foi de cerca de US$ 1,09 milhão.

Os direitos de governança podem ser emprestados, e os ativos podem ser transferidos assim que uma votação é aprovada. Quando o controle sobre um tesouro muda de mãos tão facilmente, quem a chamada governança descentralizada pode realmente proteger?



Link da fonte