RealConfirmado

Segundo golpe via fornecedor em quatro meses atinge a Polymarket

Polymarket

alegado em · apurado em

Linha de fundo

Não foi só indisponibilidade: em 29/10/2026 um script de terceiros comprometido drenou carteiras de usuários da Polymarket internacional. A empresa confirmou o comprometimento de um fornecedor, mas não publicou valor, número de vítimas nem o nome do fornecedor. As estimativas independentes ficam em torno de US$ 2,2–2,7 milhões e cerca de 700–740 contas.

Juízos analíticos

Cada avaliação vem com seu nível de confiança declarado, conforme a prática de inteligência (ICD 203 / FIRST). Confiança alta não é certeza; confiança baixa não é chute — é o peso que a evidência disponível sustenta.

confiança alta

O incidente é real e foi causado por JavaScript malicioso servido pelo caminho do script de monitoramento (RUM) da DebugBear dentro do polymarket.com. A Polymarket confirma o comprometimento de um fornecedor sem citá-lo. A DebugBear confirma um incidente próprio e pede que clientes de RUM removam o código. Hudson Rock recuperou o payload e achou o commit da Polymarket que remove o script. Seria desmentido se o post-mortem da DebugBear ou da Polymarket apontar outro vetor.

confiança moderada

O dano financeiro ficou na ordem de US$ 2,2–2,7 milhões, em ~710–737 contas. A Polymarket não confirmou nenhum número. As cifras vêm de análises on-chain: Bitquery com US$ 2,73 mi e 737 contas, Arkham com ~US$ 2,65 mi na carteira do atacante, Hudson Rock com ~US$ 2,19 mi em captura de tela que o próprio laboratório diz não ser contagem verificada. Um balanço oficial de reembolso pode mudar o total, inclusive para cima.

confiança moderada

A falha foi de superfície web, não de contrato inteligente. O código procurava a sessão logada e o signatário, e os saques passaram pelo relayer da própria Polymarket com aprovações válidas. Fica em 'moderada' porque a análise do Hudson Rock é estática (não executou o código) e o vetor inicial na DebugBear é desconhecido. Seria desmentido por evidência de exploração de contrato ou de exfiltração de chaves privadas.

confiança baixa

O payload era específico para a Polymarket e não há evidência pública de que outros clientes da DebugBear tenham recebido código malicioso. Isso sugere ataque dirigido à Polymarket, e não campanha ampla contra a base da DebugBear. É inferência sobre ausência de evidência: a DebugBear não informou o que o script comprometido fez em outros sites. A inferência cai se surgirem outros clientes afetados.

confiança moderada

Este incidente e o de junho (script injetado por fornecedor, ~US$ 3,1 mi em 11 carteiras) são episódios separados com fornecedores aparentemente diferentes. O de junho passou por uma tag de marketing e uma biblioteca de identidade, segundo a Source Defense. O padrão que se repete é arquitetural: código de terceiros executando em página autenticada com poder de assinar operações. Não há evidência pública de que o mesmo ator esteja por trás dos dois.

confiança baixa

A promessa de 'made whole' tem condições além do que a empresa postou no X. Reportagens secundárias, citando a CNBC e a comunicação da Polymarket no Discord, dizem que perdas abaixo de US$ 10 mil seriam devolvidas até 30/10 e que perdas maiores exigiriam acordo de quitação e, em alguns casos, KYC. Não consegui abrir a fonte primária desses termos. Seria desmentido por publicação dos termos reais de reembolso.

Análise

Registro corrigido. Nosso selo era 'claimed' / 'unverified', com data de 30/10 e sem ator. Não há alegação de criminoso a avaliar: quem confirma é a própria vítima. O selo correto é 'confirmed' (o comprometimento de um fornecedor, por comunicado oficial) e o veredito é 'real'. A data do incidente é 29/10/2026; 30/10 é a data da cobertura. Também não é só indisponibilidade, como o título sugere: houve saque de fundos de usuários.

O que a Polymarket admite: um fornecedor terceirizado foi comprometido, a plataforma internacional foi corrigida, o caso foi encaminhado às autoridades e todos os afetados serão ressarcidos. O que a empresa não disse: o nome do fornecedor, o valor perdido, o número de vítimas e como o reembolso funciona. A NBC News registra que a empresa não chegou a confirmar que usuários perderam dinheiro. O nome DebugBear vem de fonte anônima à CNBC e à Reuters, mas a própria DebugBear confirmou publicamente um incidente de segurança, e o Hudson Rock recuperou o script de um endereço da DebugBear usado pela Polymarket. Essa convergência sustenta a atribuição do vetor com confiança alta, embora a Polymarket nunca a tenha dito.

O mecanismo, pela análise do Hudson Rock (estática: o laboratório não conectou carteira nem executou o código): o script de 15.187 bytes procurava a sessão logada do usuário e o cliente de trading com seu signatário, e tentava vender posições e transferir ativos a um endereço fixo embutido no código. A Bitquery vê o lado on-chain: 985 saques, cada um um saque normal com aprovação válida, enviados pelo relayer da própria Polymarket, que pagava o gás. Por isso passaram nas verificações das carteiras. Houve conversão em POL e movimentação para Ethereum por bridge. Não há evidência pública de exploração dos contratos. Há divergência sobre o que o script coletava (credenciais de sessão e chaves de API do navegador): uma análise diz que o código lia entradas do armazenamento do navegador, outra diz que o Hudson Rock não achou rotina que enviasse senha, seed ou chave privada ao endpoint. Por isso deixei data_types vazio.

Os números divergem e cada um mede coisa diferente. Bitquery: US$ 2,73 mi, 737 contas, 985 saques, perda mediana de US$

171. Arkham: ~US$ 2,65 mi na carteira do atacante. GoPlus: ~US$ 2,71 mi. Hudson Rock: 710 carteiras de depósito e 731 endereços (diz que isso não equivale ao número de vítimas) e ~US$ 2,19 mi em captura de tela, que o laboratório não considera tally verificado. Uma circulação inicial falava em 995 contas e US$ 2,65 mi; 995 parece contagem de operações, não de contas, mas não consegui confirmar a origem. Um agregador cita US$ 3,46 mi 'em ativos comprometidos', dos quais US$ 2,7 mi sacados; não rastreei a origem e não uso esse número. A mediana de US$ 171 mostra pulverização: a maioria perdeu pouco. A perda de um trader (~US$ 800 mil, alegação própria no X) pode concentrar parte relevante do total, mas isso não está verificado.

A cronologia é o detalhe mais útil. Pelo metadado de build, a Polymarket removeu o script às 17:59 UTC, 49 minutos depois do primeiro POL chegar ao endereço do atacante. A DebugBear alertou clientes ~98 segundos depois do build e o status público de outage e a pausa do relayer vieram às 18:05. Houve saques depois disso (até ~18:10 pelo relato de um trader, e uma retirada de US$ 10,99 ~38 min após a correção). A janela entre o início da drenagem e a detecção foi bem maior que a janela entre detecção e contenção, e a detecção veio de relatos de usuários nas redes, segundo a própria cobertura. Isso é gap de controle: não havia, ao que se vê, alerta de velocidade ou destino novo sobre o relayer.

O ponto estrutural é que a Polymarket sofreu em junho outro comprometimento de fornecedor no frontend (~US$ 3,1 mi, 11 carteiras), com fornecedor também não nomeado. Nos dois casos, código de terceiro rodou em contexto autenticado com capacidade de induzir ou submeter assinaturas. Não há prova de que seja o mesmo ator. A Source Defense afirma que o script envenenado de junho apareceu em outros sites, e que CSP e SRI têm limites contra esse tipo de ataque; nessa análise, não houve identificação do fornecedor. A hipótese de ataque dirigido em outubro (payload específico da Polymarket) é inferência minha, de confiança baixa: o Hudson Rock não vê outros clientes da DebugBear atingidos, mas isso não prova que não houve. O vetor inicial na DebugBear, o tempo de exposição e o ator seguem desconhecidos. Ninguém reivindicou.

Sobre o reembolso: fontes secundárias, citando a CNBC e mensagens no Discord, relatam que perdas acima de US$ 10 mil exigem acordo de quitação e, para alguns, KYC. Usuários grandes reclamaram do acordo em redes sociais. Não abri o documento primário e trato isso como informação 'possivelmente verdadeira'. Se for exato, 'made whole' vem com renúncia a ação judicial para as maiores vítimas, o que importa para quem avalia a transparência da resposta.

Cronologia

  1. 25 jun 2026Polymarket diz ter descoberto que um fornecedor terceirizado foi comprometido e injetou script malicioso no frontend para alguns usuários. Perdas posteriores estimadas em ~US$ 3,1 mi em 11 carteiras (AMLBot). Incidente anterior, com outro vetor.
  2. 29 out 202617:10 UTC: o endereço apontado como do atacante recebe os primeiros POL. Por volta de 17:45–17:48 UTC, usuários relatam no X e no Discord contas drenadas; um trader afirma ter perdido ~US$ 800 mil (alegação individual, não verificada).
  3. 29 out 202617:59 UTC: build de produção da Polymarket com a mensagem de commit 'remove debugbear rum script' (metadado achado pelo Hudson Rock).
  4. 29 out 2026~18:00 UTC: a DebugBear publica no X que está afetada por incidente de segurança em andamento e pede aos clientes de RUM que removam o código. 18:05 UTC: status da Polymarket registra 'major outage', exchange em cancel-only e relayer pausado.
  5. 29 out 2026Polymarket posta que um fornecedor terceirizado foi comprometido, que o caso foi encaminhado às autoridades e que afetados serão 'made whole'. A negociação volta por volta de 15h ET (19:05 UTC); o incidente é marcado como resolvido. Segundo a Bitquery, uma retirada de US$ 10,99 ocorreu ~38 min após a correção.
  6. 30 out 2026Segundo reportagens que citam a CNBC e o Discord da Polymarket, perdas abaixo de US$ 10 mil seriam restituídas até esta data. Perdas maiores exigiriam acordo de quitação. Termos não verificados em fonte primária.

Impacto

Usuários da plataforma internacional (Polymarket.com) com sessão ativa durante a janela do ataque. Estimativas independentes indicam ~710–737 contas e US$ 2,2–2,7 mi em posições vendidas e fundos transferidos, com perda mediana de US$ 171 por conta. A Polymarket promete ressarcir todos; o prazo e os termos para perdas maiores não foram confirmados por fonte primária. A plataforma regulada nos EUA (Polymarket US) não foi, segundo a cobertura (CNBC, NBC), afetada. Ficou em aberto o risco para outros sites que carregaram o script de RUM da DebugBear, pois a DebugBear mandou todos os clientes de RUM removerem o código.

Elos técnicos

T1195.002T1059.007T1185T1657

Recomendações

  • Retire ou isole scripts de terceiros (RUM, tags de marketing, analytics) de páginas autenticadas e de fluxos que assinam transações. Se forem indispensáveis, hospede uma cópia própria com versão fixa e hash conferido, em vez de carregar de CDN do fornecedor com URL mutável.
  • Aplique CSP estrita (script-src sem curingas, connect-src limitado) e use SRI onde o script for estático. Monitore violações em modo report-only e alerte sobre novos destinos de rede iniciados por scripts de monitoramento. SRI não protege script que o fornecedor muda no mesmo URL, então a CSP e o isolamento precisam cobrir esse caso.
  • Em plataformas com relayer ou assinatura delegada, imponha limites e verificações no servidor: velocidade de saques por conta e global, bloqueio de destino novo, alerta para vendas em massa seguidas de swap e envio, e kill switch automático. A drenagem durou ~1h e foi detectada por relatos de usuários.
  • Quem usa o RUM da DebugBear: remova o código conforme o aviso do fornecedor, revise logs de rede e CSP do período a partir de 29/10/2026, e trate qualquer chave ou token acessível ao navegador nessa janela como exposto.
  • Usuários da Polymarket internacional: revise sessões ativas e rotacione chaves de API e credenciais ligadas à conta; confira o histórico de transações e posições do dia 29/10. Não forneça seed phrase nem chave privada a quem se diga responsável pelo reembolso.
  • Inclua fornecedores de código front-end no inventário de terceiros críticos, com cláusula de notificação de incidente e dependência mapeada por página. O recorrente é a confiança concedida a código que roda ao lado de carteira e sessão.

Lacunas de inteligência

O que ainda não sabemos. Um relatório que não declara seus buracos está vendendo, não analisando.

Como a DebugBear foi comprometida e por quanto tempo o script malicioso foi servido. Resolveria: post-mortem da DebugBear ou da empresa de resposta a incidentes contratada.

O total real perdido e o número de vítimas. Resolveria: balanço oficial da Polymarket sobre o reembolso ou lista de transações validada.

Se outros clientes da DebugBear receberam código malicioso. Resolveria: declaração da DebugBear sobre clientes afetados e logs de CDN.

Identidade do ator e se há relação com o incidente de junho. Resolveria: atribuição de autoridades (a Polymarket diz ter encaminhado o caso; a cobertura cita autoridades do Reino Unido) ou análise de infraestrutura e carteiras comum aos dois casos.

Se o script exfiltrou credenciais de sessão ou chaves de API além de induzir os saques. Resolveria: execução controlada do payload ou comunicado da Polymarket sobre rotação de chaves.

Por que a detecção veio de usuários e não de monitoramento interno. Resolveria: relato da Polymarket sobre controles no relayer.

Termos reais do reembolso, incluindo o acordo de quitação para perdas acima de US$ 10 mil. Resolveria: publicação oficial dos termos ou o documento primário citado pela CNBC.

Fontes e avaliação

Notação Admiralty (padrão NATO, usado por CERT-EU e OpenCTI): a letra avalia a confiabilidade da FONTE (A completamente confiável a F não avaliada); o número avalia a credibilidade da INFORMAÇÃO (1 confirmada a 6 não julgável). As duas dimensões são avaliadas de forma independente — fonte boa não torna informação frágil confiável.

atualizado em 30 out 2026

Relatório baseado exclusivamente em fontes públicas e verificáveis. Indexamos metadados de incidentes — nunca hospedamos, linkamos ou redistribuímos conteúdo vazado. Avaliações podem ser revistas conforme nova evidência apareça.

Compartilhar