Voltar à sala de imprensa
Ameaças

Extensão Claude Code trojanizada atingiu utilizadores do Cursor com um backdoor SSH

Uma build adulterada da extensão oficial Claude Code da Anthropic foi distribuída pelo marketplace do Cursor sob a identidade legítima do publicador. A versão 2.1.313 plantou uma chave SSH do atacante, instalou persistência e enviou dados do sistema. Até 5.000 utilizadores ficaram expostos.

Extensão Claude Code trojanizada atingiu utilizadores do Cursor com um backdoor SSH

Versão trojanizada da extensão Claude Code chegou ao marketplace do Cursor com um backdoor SSH

Uma build adulterada da extensão oficial Claude Code para VS Code, desenvolvida pela Anthropic, foi entregue a utilizadores do Cursor IDE como uma atualização de rotina a 29 de outubro de 2026. O pacote trazia o identificador legítimo da extensão e o nome do publicador verdadeiro, e foi precisamente por isso que passou despercebido: para quem tinha as atualizações automáticas ativas, nada parecia errado.

O que aconteceu

A versão maliciosa foi etiquetada como 2.1.313 e esteve disponível apenas através do marketplace de extensões do Cursor. O Cursor afirma que, no máximo, 5.000 utilizadores a instalaram durante uma janela de cerca de onze horas a 29 de outubro, após o que o pacote foi retirado e o marketplace ficou temporariamente offline para limpeza. O Cursor está a contactar diretamente os utilizadores afetados.

Não há indícios de que a build comprometida tenha chegado ao Open VSX ou ao Marketplace oficial do VS Code da Microsoft. Os utilizadores que instalaram o Claude Code a partir de qualquer uma dessas fontes não são considerados afetados. A Anthropic já publicou a versão 2.1.314 em ambos os registos oficiais.

Ainda não foi explicado como os atacantes conseguiram publicar sob a identidade legítima. O comunicado do Cursor sublinha que a build não foi desenvolvida pela Anthropic, mas isso pouco consola: o problema é exatamente que, no momento da instalação, era indistinguível da original.

O que faz a versão adulterada

Um pequeno loader foi acrescentado ao início do bundle JavaScript principal da extensão. Corre discretamente quando a extensão é ativada, suprime os próprios erros e depois deixa a extensão genuína carregar, de modo que o utilizador não repara em nada.

Os objetivos são simples e perigosos:

  • Acesso por backdoor. Planta uma chave pública controlada pelo atacante no ficheiro de chaves SSH autorizadas do utilizador, disfarçada com uma etiqueta que parece uma conta de serviço de telemetria.
  • Alcance remoto. Tenta ativar o serviço SSH local e abrir um túnel de saída para a infraestrutura do atacante, para que o operador chegue à máquina mesmo atrás de NAT.
  • Persistência. Instala um mecanismo de arranque específico para Windows, Linux e macOS, de modo que o túnel regresse após um reinício.
  • Reconhecimento. Envia um perfil do sistema por HTTP sem cifra: IP público, nome do host, utilizador local, sistema operativo e CPU, diretórios de trabalho, o e-mail global do Git e os nomes de até 40 variáveis de ambiente que se assemelham a credenciais (KEY, TOKEN, SECRET, PASS, AWS, GCP).

Os valores das variáveis de ambiente não são incluídos nesse primeiro beacon. Só os nomes, porém, já dizem ao atacante que fornecedores cloud, sistemas de CI e tipos de credenciais estão configurados na máquina, e uma sessão SSH funcional permitiria ler tudo de qualquer forma.

Na maioria das máquinas macOS e Windows, o passo que liga o serviço SSH exige privilégios de administrador que a extensão não tem, pelo que o caminho de acesso interativo falha aí. A chave, a persistência e o perfil do sistema ficam na mesma. Até agora não foi observado nenhum payload de segunda fase.

Porque é que isto importa

As estações de trabalho dos programadores são o alvo mais frágil e mais valioso na maioria das organizações. Guardam credenciais cloud, chaves de assinatura, código-fonte e acesso SSH à produção. Uma extensão de IDE corre com todos os privilégios do programador, e os marketplaces são considerados de confiança por defeito. Uma atualização envenenada de uma ferramenta com dezenas de milhões de descargas é um mecanismo de entrega tão eficiente quanto um atacante pode desejar.

O incidente surge poucos dias depois de outro ataque à cadeia de abastecimento contra uma ferramenta de desenvolvimento, em que binários já publicados de uma CLI cloud popular foram silenciosamente substituídos por um ladrão de credenciais. O padrão é claro: os atacantes visam a infraestrutura em que os programadores confiam, não as aplicações que constroem.

O que fazer

Se utiliza o Cursor e tinha o Claude Code instalado a 29 de outubro de 2026, trate a máquina como comprometida até prova em contrário:

  1. Verifique a versão instalada. Qualquer instalação que indique 2.1.313 é maliciosa. Atualize para a 2.1.314 ou posterior a partir de uma fonte oficial.
  2. Inspecione as chaves SSH autorizadas de todos os utilizadores do sistema e remova qualquer entrada que não tenha adicionado, sobretudo se tiver um comentário do tipo telemetria.
  3. Procure persistência: tarefas agendadas inesperadas no Windows, novas entradas no cron em Linux e LaunchAgents desconhecidos no macOS. Remova qualquer túnel SSH de saída que estes iniciem.
  4. Rode os segredos acessíveis a partir dessa estação: chaves cloud, tokens de API, credenciais Git, cookies de sessão e tudo o que esteja referenciado em variáveis de ambiente.
  5. Reveja as ligações de saída do sistema afetado durante a janela de exposição e procure tráfego SSH ou HTTP inesperado para servidores desconhecidos.
  6. Repense as atualizações automáticas de extensões de IDE em máquinas com acesso a sistemas de produção, ou fixe as versões e reveja as alterações antes de as aplicar.

As credenciais recolhidas em máquinas de programadores raramente ficam privadas. São negociadas, agrupadas e revendidas, muitas vezes semanas depois da intrusão inicial. O serviço de monitorização da Deep/Dark Web da 4tify vigia exatamente este tipo de identidades e material de acesso de programadores expostos, para que um token comprometido ou um e-mail Git surja como um alerta para a sua equipa e não como uma surpresa nas mãos de terceiros.

PARTILHAR