Recentemente, o Ethereum implementou uma atualização significativa na rede, chamada Pectra, projetada para aprimorar a escalabilidade e a funcionalidade de contas inteligentes. Embora essas mudanças tragam avanços técnicos, elas também introduziram, involuntariamente, um sério risco de segurança que poderia permitir que hackers drenassem fundos das carteiras dos usuários usando apenas uma assinatura off-chain — sem que o usuário sequer aprovasse uma transação on-chain.
O Pectra inclui várias Propostas de Melhoria do Ethereum (EIPs), mas a mais importante do ponto de vista da segurança é a EIP-7702. Esta proposta introduz um novo tipo de transação, conhecido como SetCode (tipo 0x04), que permite aos usuários delegar o controle de suas contas externas (EOAs) assinando uma simples mensagem off-chain. Esta é uma grande mudança na forma como o controle da carteira pode ser gerenciado.
Tradicionalmente, para que o código ou as configurações de controle de uma carteira fossem alterados, o usuário precisava assinar uma transação on-chain autorizando explicitamente essa modificação. Agora, com o Pectra, a assinatura off-chain por si só é suficiente para sobrescrever o código de uma carteira. Isso significa que um invasor que obtém a mensagem assinada off-chain de uma vítima pode implantar um contrato de proxy malicioso que encaminha comandos para o seu próprio contrato, permitindo-lhe sacar os ETH e tokens da vítima sem que ela assine nenhuma transação de transferência tradicional.
Arda Usman, auditora de contratos inteligentes da Solidity, explicou que essa vulnerabilidade surge porque o tipo de transação SetCode permite que um invasor assuma o controle de uma EOA usando apenas a mensagem assinada off-chain. Se um hacker induzir um usuário a assinar tal mensagem — por exemplo, por meio de sites de phishing, aplicativos descentralizados maliciosos ou links falsos do Discord — ele pode obter controle imediato sobre a carteira.
Assim que o invasor instala seu código de proxy na carteira, ele pode executar qualquer função, incluindo a transferência de todos os fundos. O usuário é efetivamente ignorado, pois não precisa aprovar cada retirada on-chain.
Yehor Rudytsia, pesquisador on-chain da Hacken, destacou que a atualização efetivamente transforma EOAs em contratos inteligentes programáveis por meio desse novo tipo de transação. Anteriormente, os EOAs eram estáticos e exigiam transações on-chain assinadas pelo usuário para qualquer movimentação de fundos. Após o Pectra, as assinaturas de delegação off-chain podem garantir controle operacional total.
A ameaça é real e imediata. Desde que a atualização foi lançada na primeira semana de maio, qualquer assinatura de delegação válida pode ser usada como arma por invasores. Carteiras que não analisam ou representam adequadamente esses novos tipos de transação — especialmente o tipo 0x04 — são particularmente vulneráveis.
Rudytsia alerta que o software de carteira deve exibir claramente as solicitações de delegação e sinalizar quaisquer endereços suspeitos para proteger os usuários.
“A não observância disso pode levar os usuários a aprovar, sem saber, a implantação de código malicioso.”
De forma alarmante, as carteiras de hardware não são mais inerentemente mais seguras contra esse vetor de ataque. Embora as carteiras de hardware protejam contra assinaturas de transações não autorizadas, elas ainda são vulneráveis à assinatura de mensagens maliciosas off-chain. Isso as coloca em risco igual ao das carteiras quentes no que diz respeito a assinaturas de delegação.
Diante desses novos riscos, os usuários precisam ter extrema cautela. Rudytsia recomenda nunca assinar mensagens que você não entenda completamente, especialmente aquelas que se desviam de formatos familiares como EIP-191 ou EIP-712. O EIP-7702 introduz novos formatos de assinatura que frequentemente aparecem como hashes simples e podem ignorar os avisos padrão de carteira.
Arda Usman acrescenta que, se uma mensagem assinada incluir o nonce da sua conta — um número único incrementado a cada transação — ela provavelmente afetará sua conta diretamente, o que é incomum para mensagens off-chain padrão.
Outro ponto crucial é que as assinaturas EIP-7702 podem ter um chain_id igual a zero, o que significa que a mesma assinatura pode ser reproduzida em qualquer cadeia compatível com Ethereum, aumentando drasticamente o escopo de exploração.
Carteiras multiassinatura oferecem maior segurança sob o Pectra, pois exigem que múltiplos signatários aprovem ações, o que dificulta a delegação não autorizada. No entanto, carteiras de chave única, sejam elas de hardware ou software, precisam ser atualizadas urgentemente para reconhecer e bloquear assinaturas de delegação suspeitas.
Além do EIP-7702, o Pectra também implementou outras melhorias, como:
- EIP-7251, que aumentou os limites de staking do validador Ethereum de 32 para 2.048 ETH, apoiando a segurança da rede e a descentralização.
- EIP-7691, que permite mais blobs de dados por bloco, aprimorando a escalabilidade e a taxa de transferência da Camada 2.
Embora a atualização Pectra para o Ethereum traga melhorias técnicas valiosas para escalabilidade e capacidade de contratos inteligentes, ela simultaneamente abre uma superfície de ataque crítica que pode permitir gentes maliciosos drenar fundos das carteiras dos usuários com apenas uma assinatura off-chain obtida de forma inteligente. Usuários, desenvolvedores de carteiras e o ecossistema Ethereum em geral devem estar vigilantes e se adaptar a essas mudanças, aprimorando a clareza da interface da carteira, educando os usuários e desenvolvendo ferramentas de proteção para mitigar essa ameaça emergente.