O mercado das criptomoedas passou por um terremoto no início desta semana depois de um hack de US$ 52 milhões na Curve Finance, que foi parcialmente impedido por um robô (bot) de trading. Sua missão: copiar as estratégias dos hackers, salvar milhões de dólares em criptoativos antes de serem roubados e, em seguida, devolver o que conseguiu resgatar, em uma aparente intervenção do tipo white hat – ou hack do bem.
Leia também: Por que o ataque contra a Curve ameaça o mercado de criptomoedas
Um problema com a linguagem de programação Vyper, usada para escrever contratos inteligentes na blockchain Ethereum, forneceu uma janela de oportunidade para ataques envolvendo pools de liquidez na Curve Finance, uma das exchanges de referência em Finanças Descentralizadas (DeFi).
Os hackers manipularam o preço dos tokens em vários pools de liquidez, onde um token pode ser trocado por outro. Recentes relatórios da empresa de segurança blockchain, PeckShield, estimam que US$ 52 milhões foram perdidos. Mas os hackers não se safaram com o montante todo.
Como foi a ação salvadora do robô
Alguém usou o exploit na pool de liquidez CRV-ETH da Curve — onde o Ethereum pode ser trocado pelo token de governança da exchange, o Curve DAO (CRV) — para, em certo sentido, se aproveitar dos aproveitadores. A transação custou cerca de US$ 32 em taxas de transação, mas rendeu 2.879 ethers (ETH) — um lucro de cerca de US$ 5,4 milhões, ou cerca de R$ 25 milhões.
Esses 2.879 ethers foram finalmente devolvidos à Curve por um bot com o nome “c0ffeebabe.eth”, de acordo com o Etherscan. Os endereços Ethereum são uma longa sequência de caracteres alfanuméricos por padrão, mas o proprietário do bot deu a ele um nome legível por humanos usando o Serviço de Nomes do Ethereum (ENS, no inglês).
A PeckShield também afirma que o bot surrupiou outros US$ 1,6 milhões do protocolo de ativos sintéticos Metronome, e um representante da empresa de segurança disse ao Decrypt que 90% desses fundos também foram agora devolvidos.
A ação do bot foi um jogo de arbitragem lucrativo em frações de segundo, envolvendo empréstimos instantâneos e a exchange descentralizada Uniswap, segundo o que disse Yixin Cao, cientista de dados líder da plataforma de análise DeFi EigenPhi, ao Decrypt.
“Poucos usuários conseguem fazer esse tipo de coisa”, disse ela. “Há muitos hackers sofisticados por aí, mas esse tipo de arbitragem requer um conhecimento muito profundo.”
Uniswap e Balancer
A análise detalhada da transação feita pela EigenPhi descreve 16 passos distintos tomados pelo bot — mas a jogada dependia de dois projetos DeFi distintos.
O trade instantâneo do c0ffeebabe.eth primeiro aproveitou o Balancer, um protocolo de liquidez, para um empréstimo instantâneo de 100 Ethereum. Os empréstimos Flash não são colateralizados e exigem que os devedores os devolvam na mesma transação.
Então, a Uniswap era essencial, Cao disse, porque permitiu que c0ffeebabe.eth capitalizasse na discrepância entre o preço da CRV na Uniswap e na Curve, que ele planejava criar usando o bug na Vyper. O bot trocou 70 Ethereum por mais de 190 mil CRV usando a Uniswap.
Uma explosão inicial de 30 mil CRV dirigida ao pool CRV-ETH da Curve fez com que o bug Vyper desequilibrasse tudo. O desequilíbrio da pool permitiu que c0ffeebabe.eth trocasse seu CRV restante por 2.949 Ethereum — 317 vezes o que teria sido capaz de obter sem o exploit.
Após o reembolso do empréstimo instantâneo, c0ffeebabe.eth ficou com um lucro considerável.
O exploit Vyper transformou o que teria sido uma pequena jogada em uma enorme cartada, segundo Cao. Sem alavancar a vulnerabilidade, c0ffeebabe.eth teria saído com apenas 9,3 Ethereum com base em uma simulação conduzida pela EigenPhi.
Devolução do dinheiro
Nesta sexta (4), o hacker por trás do ataque começou a devolver parte dos fundos roubados do protocolo.
A expectativa de devolução dos fundos ganhou força quando o hacker pediu à Alchemix, um projeto DeFi que também foi uma das vítimas do ataque, que confirmasse o endereço do protocolo para que ele pudesse devolver os ativos, como informou o CoinDesk.
Após a troca de mensagens vinculadas em transações na blockchain entre o hacker e o projeto, ele transferiu 4.820 ether (ETH) – equivalente a cerca de de US$ 8,9 milhões -, para a carteira da Alchemix, conforme mostram dados da rede Ethereum.
Na noite de quinta-feira (3), a equipe da Curve enviou uma mensagem via blockchain para o invasor do projeto, oferecendo uma recompensa de 10% do valor roubado caso aceitasse devolver os fundos.
*Traduzido por Gustavo Martins com autorização do Decrypt.
- Não perca dinheiro. No Mercado Bitcoin, você pode fazer staking de Ethereum de maneira segura e simples. Abra sua conta agora e comece a ganhar recompensas sobre seus investimentos em criptomoedas.