Hackers roubaram criptomoedas e posições de negociação de usuários da Polymarket depois que um código malicioso substituiu um script da DebugBear carregado pelo site do mercado de previsões em 29 de outubro. O código atingiu alguns traders que já estavam conectados e usou suas sessões ativas para realizar transações não autorizadas.
A Polymarket afirmou que está reembolsando cerca de US$ 2,7 milhões a 726 carteiras afetadas. Registros de blockchain analisados por pesquisadores mostraram que aproximadamente 2,64 milhões de tokens POL chegaram à carteira dos invasores em menos de uma hora, sem incluir o valor das posições tomadas durante o incidente.
O arquivo comprometido pertencia à ferramenta de monitoramento de usuários reais da DebugBear, que mede o desempenho de carregamento de sites. A DebugBear afirmou que seus registros DNS haviam sido comprometidos por meio de seu registrador de domínio e que suas descobertas iniciais apontavam para um ataque contra o site de um cliente. A empresa disse não ter encontrado evidências de uma invasão em seus próprios sistemas, embora sua investigação ainda estivesse em andamento.
Pesquisadores da Hudson Rock baixaram o arquivo malicioso do endereço que a Polymarket usava para carregar o script da DebugBear. Eles também identificaram uma alteração no código do site da Polymarket que removeu o script. Pesquisadores da Ohey descobriram que um servidor diferente começou a responder pelos endereços web da DebugBear às 18:13 UTC, enquanto o arquivo malicioso ainda estava disponível. Mais cedo naquele dia, a versão legítima havia sido disponibilizada pelo Google Cloud Storage.
Cada cliente da DebugBear carrega sua própria cópia do script, e o arquivo substituído era a versão usada pela Polymarket. De acordo com a análise da Hudson Rock, o código reutilizou o acesso disponível a um trader que já estivesse conectado a uma página aberta da Polymarket. Ele leu informações da conta armazenadas no navegador, incluindo chaves de API de negociação.
As chaves de API não podiam fazer pedidos de forma independente porque as transações da Polymarket também exigem uma assinatura de carteira. A Hudson Rock afirmou não ter encontrado evidências de que o código tenha enviado senhas, frases-semente, chaves privadas ou as chaves de API ao servidor com o qual entrou em contato. Em vez disso, o script procurava as funções de envio de ordens da Polymarket e o assinador usado para aprovar transações.
Para usuários que conectaram suas próprias carteiras de criptomoedas, o código podia transferir posições diretamente para a carteira dos invasores. Para contas baseadas em e-mail, ele podia vender posições a preços progressivamente piores antes de movimentar os valores obtidos. Em ambos os casos, o código pedia ao assinador existente do usuário que aprovasse solicitações e as encaminhava ao retransmissor da Polymarket. A Hudson Rock observou que criar uma solicitação de assinatura, por si só, não prova que uma transação foi aprovada, já que os provedores de carteira podem exigir confirmação, rejeitar a solicitação ou aplicar regras específicas da sessão.
A análise de blockchain da Ohey mostrou que a carteira incorporada ao código malicioso recebeu seus primeiros fundos às 17:10 UTC e os últimos às 18:02 UTC. Durante esse período, ela coletou 28,6 milhões de tokens POL e posições de 33 carteiras. Às 18:19 UTC, os POL valiam cerca de US$ 2,64 milhões, com base em um preço de US$ 0,0922 calculado pela DefiPrime usando dados da DefiLlama. Posteriormente, a carteira enviou os tokens para três outros endereços entre 18:28 e 18:38 UTC.
A Polymarket publicou sua primeira atualização sobre atividade não autorizada nas carteiras dos usuários às 17:38 UTC. Às 18:05 UTC, afirmou que a exchange havia entrado no modo somente para cancelamentos e que as ações do retransmissor estavam pausadas. A empresa disse que removeu o script em menos de uma hora, limpou seus caches, redefiniu as sessões de login ativas e pausou as negociações enquanto limpava o site. O incidente também foi encaminhado às autoridades policiais.
Em 30 de outubro, a Polymarket afirmou que 689 das 726 carteiras afetadas haviam recebido reembolsos integrais, e que as 37 restantes estavam sendo processadas após análise. A empresa também está pagando separadamente US$ 1,19 milhão a cerca de 5.500 carteiras afetadas por perdas durante a pausa nas negociações ou pela tomada de posições. Ao todo, a Polymarket afirmou que está devolvendo US$ 3,9 milhões aos traders. Os usuários não precisam apresentar uma solicitação, embora a empresa disponibilize um formulário para pessoas que acreditam que seu pagamento esteja incorreto ou ausente.
A DebugBear aconselhou os clientes que usam seu produto de monitoramento a remover o código incorporado de seus sites. O endereço que disponibilizou o arquivo malicioso, cdn.debugbear[.]com, não tinha registro DNS quando foi verificado em 1º de novembro.
A Polymarket afirmou que planeja restaurar scripts de terceiros com salvaguardas adicionais, incluindo uma Política de Segurança de Conteúdo mais rigorosa, versões fixadas e sandboxing. A Hudson Rock aconselhou os sites a evitar códigos de terceiros desnecessários em páginas usadas para negociação ou autenticação, aplicar a Integridade de Sub-recursos quando possível e revisar quais scripts em páginas conectadas podem solicitar assinaturas de carteira. Também aconselhou os traders a rejeitar solicitações de assinatura que não reconheçam.
Fontes: The Hacker News.