A venda que você não sabia ter assinado

Janeiro 2025. Um titular em São Paulo lista três CryptoPunks no Blur para uma queima de venda. Dias depois, um membro do Discord o procura com uma "oferta exclusiva de colecionador" via um fluxo de assinatura personalizado num site "Blur Pro". A tela diz que ele está aceitando um lance. O que ele assina de fato é um lote de ordens de venda: os três Punks a 0,1 ETH cada.

O atacante executa as ordens na hora. Três Punks no floor de 38 ETH cada saem da carteira por 0,1 ETH cada. Perda: 113,7 ETH.

Por que uma ordem assinada off-chain é tão perigosa

O Blur, como a maioria dos marketplaces de NFT, permite listar e dar lances assinando ordens off-chain em EIP-712, e a aprovação que você deu ao marketplace quando listou pela primeira vez deixa o contrato dele mover o NFT assim que uma ordem é executada. Nada é transmitido no momento em que você assina. Um golpista que consegue sua assinatura numa ordem de venda a preço quase zero simplesmente a executa com uma carteira dele, e o contrato do marketplace cumpre exatamente o que foi assinado.

Os cinco sinais

  • O site de assinatura não é blur.io. "Blur Pro", "Blur Plus", "Blur OTC" são todos falsos. Listagens e lances se gerenciam em blur.io.
  • O preço está absurdamente abaixo do floor. Colecionadores reais não mandam mensagem oferecendo 0,1 ETH por um NFT de 38 ETH.
  • A assinatura põe os seus próprios NFTs à venda. Se o prompt typed-data lista seus Punks — ou um lote inteiro dos seus NFTs — ao lado de um preço perto de zero, esse é o exploit acontecendo ao vivo.
  • Urgência em DM do Discord. "Oferta expira em 10 minutos" existe para pular a etapa de verificação.
  • IDs de Discord são spoofáveis. Um golpista pode se passar pelo handle da equipe Blur com diferença de um caractere.

O checklist de recuperação

Se você assinou: no blur.io, e em qualquer outro marketplace onde já listou, use a opção de cancelar todas as listagens e ofertas. Custa gas e invalida as ordens que você já assinou. Ao mesmo tempo, mova todo NFT da carteira afetada para uma carteira nova e, em seguida, revogue no revoke.cash as aprovações da carteira antiga aos marketplaces. Não assine mais nada até entender o que você assinou.

A postura permanente

Trate toda assinatura em marketplace de NFT como um contrato que você está prestes a assinar na vida real: leia, nomeie a contraparte, nomeie o preço, nomeie a duração. Se qualquer um dos três espaços está em branco, recuse.