Você sabia que uma simples assinatura no Metamask pode drenar sua carteira?
Você sabia que uma simples assinatura no Metamask pode drenar sua carteira?
— korpi (@korpi87) Agosto 19, 2022
Um usuário muito experiente (top 10 pelo Degen Score) perdeu quase 500k USDC em uma exploração hoje.
Você pode ser o próximo…
Um thread curto sobre como aconteceu e como você pode evitar tais explorações no futuro.
Foi uma tarde tranquila quando Joe (nome alterado) notou que 469k USDC saíram de sua carteira.
— korpi (@korpi87) Agosto 19, 2022
Não foi uma transferência simples, o que significa que um atacante aparentemente não tinha acesso à carteira do Joe.
Foi um contrato malicioso que drenou todos os USDC de seu endereço… pic.twitter.com/pTgTjfMMeu
Aqui precisamos paçar a história para explicar algumas tecnicidades.
— korpi (@korpi87) Agosto 19, 2022
O token USDC é um contrato no Ethereum. Ele possui muitas funções que definem como interagimos com o USDC e o que pode ser feito com ele.
Vamos focar em duas funções:
> transfer
> transferFrom pic.twitter.com/gekVmjmwvW
> transfer
— korpi (@korpi87) Agosto 19, 2022
Quando você move USDC (ou outros ERC20s) entre carteiras, usa a função transfer.
Ela move tokens do chamador (o endereço que chama a função) para outro endereço.
Para usar maliciosamente o transfer em seu nome, alguém teria que obter controle sobre sua carteira. pic.twitter.com/3Z3pYbBnRq
> transferFrom
— korpi (@korpi87) Agosto 19, 2022
Quando você interage com contratos, eles usam o transferFrom para mover seus tokens. Eles podem pegar até o valor de permissão (allowance) que você definiu na função approve.
Se você permitir que um contrato gaste uma quantidade infinita de USDC, ele pode pegar tudo.https://t.co/QdUgLuZfZH
De volta à história do Joe…
— korpi (@korpi87) Agosto 19, 2022
A interação com o contrato mencionada acima, que drenou o USDC do Joe, foi de fato a função transferFrom.
Mas o transferFrom só funcionaria se o Joe tivesse aprovado o contrato para gastar seus USDC.
E o Joe estava 100% convencido de que não havia aprovado nada… pic.twitter.com/HH9xxYeQms
Espere um momento…
— korpi (@korpi87) Agosto 19, 2022
O histórico do DeBank mostra claramente uma aprovação infinita de USDC para o contrato malicioso 10 minutos antes da exploração…
O Joe realmente aprovou isso?
Sim. Mas também não. Não diretamente. pic.twitter.com/AqQQs7GZAV
O Etherscan revela que a aprovação infinita não foi feita pela função approve chamada pelo próprio Joe.
— korpi (@korpi87) Agosto 19, 2022
Foi a função permit chamada por outro endereço, e ela concedeu ao contrato malicioso a permissão para gastar todo o USDC do Joe.
O quê? Como outros podem aprovar contratos em seu nome? pic.twitter.com/TS3iDbhOXu
A função permit foi introduzida para melhorar a experiência do usuário no Ethereum.
— korpi (@korpi87) Agosto 19, 2022
Ela permite que um usuário modifique os valores de aprovação sem enviar uma transação. Uma assinatura é suficiente.
Com sua assinatura, qualquer pessoa pode chamar a função permit e atualizar seu limite de gasto para um destinatário. pic.twitter.com/hem0lPsnW1
Você pode ver o permit em ação quando usa o dApp 1inch.
— korpi (@korpi87) Agosto 19, 2022
Se você quer vender USDC, não precisa aprová-lo primeiro.
Tudo o que você precisa é assinar uma mensagem.
Esta assinatura concede ao 1inch a permissão para gastar todo o seu USDC. O 1inch não fará isso, mas um contrato malicioso poderia. pic.twitter.com/Dd7ggJFWtl
O Joe deve ter assinado acidentalmente tal mensagem em um site malicioso.
— korpi (@korpi87) Agosto 19, 2022
Infelizmente, desta vez ele usou uma carteira quente e a assinatura foi apenas um clique inofensivo.
Com uma carteira de hardware, haveria um momento de reflexão ao assinar uma mensagem no dispositivo externo.
Com a assinatura do Joe, um ator malicioso submeteu uma transação com a função permit.
Isso deu ao contrato malicioso a permissão para gastar todo o USDC da carteira do Joe.
Então a função transferFrom foi chamada e o contrato malicioso drenou os fundos. pic.twitter.com/1U6lWr9pmw— korpi (@korpi87) Agosto 19, 2022
Aparentemente, as assinaturas podem ser catastróficas.
— korpi (@korpi87) Agosto 19, 2022
Em alguns casos, o Metamask irá avisá-lo que assinar uma mensagem pode ser perigoso.
Mas não no caso de aprovações assinadas, que tecnicamente funcionam conforme o projetado, mas podem causar muitos danos se mal utilizadas.https://t.co/5H9rNWVR3b
Como evitar explorações semelhantes no futuro?
— korpi (@korpi87) Agosto 19, 2022
– Não assine tudo no Metamask.
– Dedique tempo para entender o que você está assinando.
– Tenha cuidado com aprovações tradicionais (veja o thread vinculado)https://t.co/549NmPly5s
Espero que tenham achado este thread útil.
— korpi (@korpi87) Agosto 19, 2022
Siga-me @korpi87 e confira meu Notion: https://t.co/ZTqYKmhCNk para mais.
Curtir/Retuitar o primeiro tweet abaixo para proteger outros de explorações semelhantes: https://t.co/9pqCSXi9JH
A fusão do Ethereum levará à captura regulatória?
Os problemas do #Ethereum são causados pela otimização constante da tokenomics em detrimento da descentralização, segurança e resiliência. Parece que a Fusão e o POS levarão à captura regulatória completa por exchanges centralizadas e plataformas de staking, e não há saída para eles. 🧵👇 pic.twitter.com/Ur9tf42K5p
— Samson Mow (@Excellion) Agosto 19, 2022
Então, como eles chegaram aqui? Decidindo sobre um requisito de 32 ETH para fazer staking como parte do protocolo (para travar a oferta e maximizar a tokenomics). Isso praticamente tornou o POS o mais centralizado possível, e além disso, eles não têm a cultura do #Bitcoin de 'não são suas chaves, não são suas moedas'. pic.twitter.com/Ml4QV93ECP
— Samson Mow (@Excellion) Agosto 19, 2022
Então agora você tem 66% dos validadores que precisam aderir às regulamentações da OFAC. E o ETH que eles depositaram para fazer staking não pode ser retirado porque a funcionalidade de retirada não foi codificada – por causa da tokenomics. 📈 pic.twitter.com/BdjFqYk70J
— Samson Mow (@Excellion) Agosto 19, 2022
Mas espere! Os ethereanos podem apenas fazer #UASF como aqueles Bitcoin Maxis, certo? Como mostrar totalmente ao Coinbase quem é o chefe! pic.twitter.com/LBSRDOF79o
— Samson Mow (@Excellion) Agosto 19, 2022
Não. Primeiro, os ethereanos não executam seus próprios nós e, segundo, a maioria dos serviços depende da Infura, mas esse não é o principal problema. pic.twitter.com/8rI1FsDwuU
— Samson Mow (@Excellion) Agosto 19, 2022
Vou começar esta próxima parte afirmando que prender desenvolvedores por escrever código é horrível e estabelece um precedente terrível. Dito isso…
— Samson Mow (@Excellion) Agosto 19, 2022
Para fazer #UASF você precisa de software para executar. Agora, todos os forks do Ethereum têm nomes de cidades legais como Istambul, Londres, Berlim, etc. Vamos chamar este fork hipotético do Ethereum UASF de
— Samson Mow (@Excellion) Agosto 19, 2022
Outra forma de dizer "impedir a censura de transações sancionadas pelo OFAC" seria "ajudar a evadir sanções". Talvez tenhamos esquecido de Virgil. Enfim, quem vai codificar o Pyongyang? O cara do Tornado Cash foi preso, então os devs do Pyongyang provavelmente também serão. pic.twitter.com/HQNtkyTQkg
— Samson Mow (@Excellion) Agosto 19, 2022
Quem vai executar o Pyongyang? Os caras sinalizando com "X 🏴"? Eles vão vincular seu nó do Pyongyang à sua conta .eth também? A Coinbase, a Kraken, a Bitcoin Suisse e as outras que compõem a maioria de 66% definitivamente não estão executando o Pyongyang.
— Samson Mow (@Excellion) Agosto 19, 2022
Certo, então um Ethereum #UASF está fora de questão.
— Samson Mow (@Excellion) Agosto 19, 2022
"Mas podemos apenas penalizar (slash) a Coinbase e outros se eles ousarem cumprir!" pic.twitter.com/rmlgn8Cb2Y
Posso ser um Pathetic Bitcoin Maxi™ patético, mas passei 10 minutos pesquisando e descobri que não há mecanismo para penalizar a Coinbase. Não há código para detectar e punir ninguém por censurar transações. O mecanismo de Slashing só funciona para punir tempo de inatividade ou dupla assinatura.
— Samson Mow (@Excellion) Agosto 19, 2022
Então, estamos novamente de volta à necessidade da bifurcação (fork) do Pyongyang, que ninguém vai codificar ou executar. Mesmo que o Pyongyang pudesse existir, não há maneira para os usuários retirarem ETH. E mesmo que pudessem retirar, não importaria, porque apenas a Infura importa. pic.twitter.com/RQ44BWUqzE
— Samson Mow (@Excellion) Agosto 19, 2022
Assumindo que todas as estrelas se alinhassem magicamente e houvesse uma maneira para os usuários do Ethereum penalizarem a Coinbase etc., o que isso significaria? Significaria que os acionistas minoritários teriam um mecanismo para punir arbitrariamente a maioria. Isso não vai funcionar a longo prazo.
— Samson Mow (@Excellion) Agosto 19, 2022
E é por isso que chamamos #Ethereum de #shitcoin. É um exercício de futilidade, repleto de escolhas de design atrozes, e projetado exclusivamente para bombear o token. pic.twitter.com/irYDrzJcOO
— Samson Mow (@Excellion) Agosto 19, 2022
Se você está lendo isso, já está à frente. Mantenha-se assim com nosso boletim informativo.

Ibiam Wayas
Ibiam Wayas cobre notícias sobre criptomoedas desde 2019. Estudou Ciência da Computação na Universidade Aberta Nacional da Nigéria. Seu trabalho apareceu em várias plataformas de notícias sobre cripto, incluindo Coinfomania, Crypto News Australia e AltcoinBuzz. Com base em sua formação em Ciência da Computação, ele agora se concentra em notícias sobre cripto, robótica e longevidade.

















