Pesquisar

Claude Code adulterado no Cursor instala backdoor SSH

Nesse artigo do blog Dolutech, explicamos o que aconteceu no dia 29 de outubro de 2026, quando uma versão adulterada da extensão oficial do Claude Code ficou disponível no marketplace do editor Cursor e tentou instalar um backdoor SSH em computadores de desenvolvedores. O incidente atingiu, no máximo, 5.000 usuários, segundo o próprio Cursor, e mostra como as ferramentas de IA para programação viraram um alvo de alto valor para atacantes.

O que aconteceu com a extensão do Claude Code no Cursor

Um invasor usou acesso ao marketplace de extensões do Cursor para publicar uma cópia modificada da extensão anthropic.claude-code. Os desenvolvedores que instalaram ou atualizaram a extensão durante a janela de exposição receberam código malicioso sem perceber nada de diferente, porque a versão adulterada usava o identificador legítimo.

Janela de exposição e versões afetadas

A versão maliciosa ficou disponível por cerca de 11 horas, entre aproximadamente 2h27 e 13h35 (horário do Pacífico) de 29 de outubro, o que equivale a 6h27 às 17h35 no horário de Brasília. Em uma atualização de 30 de outubro, o Cursor esclareceu que as versões afetadas foram a 2.1.312 e a 2.1.313, nos pacotes para macOS (darwin-arm64) e Windows (win32-x64).

Quem descobriu e como o Cursor respondeu

A empresa de segurança Phorion foi uma das primeiras a analisar a extensão. O Cursor removeu os pacotes, suspendeu temporariamente todo o marketplace, auditou os acessos, rotacionou suas chaves e reconstruiu o serviço antes de recolocá-lo no ar. A empresa afirma que não encontrou outras extensões adulteradas e que o servidor do atacante foi tirado do ar.

Como funcionava o ataque

O ataque foi cirúrgico: o invasor não criou uma extensão falsa com outro nome, mas alterou a extensão real. Esse é o ponto que torna a cadeia de suprimentos tão perigosa.

Loader malicioso no extension.js

Segundo as análises, o atacante inseriu um carregador em JavaScript no início do arquivo extension.js (cerca de 66 linhas), deixando o restante do código original intacto. O código roda assim que o editor carrega a extensão, antes da lógica normal, e não exige que o usuário abra nenhuma conversa com o Claude.

A primeira etapa coletava informações do computador: nome do host, usuário, sistema operacional, arquitetura, caminhos de diretórios, e-mail configurado no Git, IP público e nomes de variáveis de ambiente.

Chave SSH e túnel reverso

A segunda etapa tentava abrir uma porta dos fundos. O código adicionava uma chave pública ssh-ed25519 do atacante, rotulada svc-telemetry, ao arquivo authorized_keys, tentava habilitar o serviço SSH local e abrir um túnel SSH reverso para um servidor controlado pelo invasor. Também enviava um aviso HTTP (beacon) com dados do host.

Persistência que sobrevive à desinstalação

O malware instalava scripts independentes para manter o túnel ativo, com novas tentativas de conexão a cada cerca de 60 segundos. No macOS, o Cursor lista um LaunchAgent; no Windows, uma tarefa agendada e um script de inicialização. Por isso, desinstalar a extensão não basta: os scripts continuam rodando.

Por que o ataque falhou na maioria dos casos

Há uma boa notícia. Segundo o Cursor, habilitar o serviço SSH local exige privilégios de administrador, que a extensão normalmente não possui. Assim, na maioria das máquinas macOS e Windows, o atacante não conseguiria entrar pelo túnel. Mesmo assim, a coleta de dados, a chave plantada e a persistência continuam exigindo limpeza.

A polêmica: Anthropic ou Cursor?

A Anthropic declarou que um agente malicioso usou acesso ao marketplace do Cursor para publicar uma cópia adulterada que ela não construiu nem publicou, e que as versões dos canais oficiais não foram afetadas. O pesquisador Kevin Beaumont contesta essa leitura e afirma que a versão foi publicada com a conta verificada da Anthropic. Até agora, nem o Cursor nem a Anthropic explicaram publicamente como o pacote chegou ao marketplace. Na Dolutech, tratamos esse ponto como em aberto.

Houve também confusão inicial sobre o alcance. Os relatos que citavam o npm, o Open VSX e o marketplace da Microsoft foram depois descartados: o Cursor foi a única origem. O pacote @anthropic-ai/claude-code (usado no terminal) não foi considerado malicioso.

Como verificar se você foi afetado

Se você usa o Cursor com a extensão do Claude Code, siga esta ordem. Os comandos abaixo apenas leem informações e não alteram nada.

Verificações rápidas

Liste as extensões e procure a versão suspeita:

cursor --list-extensions --show-versions | grep -i claude-code

Procure a chave do atacante no macOS ou Linux:

grep -n "svc-telemetry" ~/.ssh/authorized_keys

No Windows (PowerShell):

Select-String -Path "$HOME\.ssh\authorized_keys" -Pattern "svc-telemetry"

Atenção: uma versão atual limpa só mostra o que está instalado agora. Ela não prova que a extensão maliciosa nunca rodou. Procure também processos autossh ou ssh -N -R, e conexões de saída para o IP do atacante (134[.]209[.]82[.]225).

Como mitigar e se proteger

Se você instalou a versão 2.1.312 ou 2.1.313

  • Atualize para a versão 2.1.314 ou superior, como o Cursor pede.
  • Não confie só na desinstalação: use os scripts de limpeza do Cursor para macOS e Windows, encerre túneis ativos e remova a chave do authorized_keys.
  • Rotacione credenciais: chaves SSH, tokens e credenciais de nuvem acessíveis naquela máquina, já que o malware coletou nomes de variáveis de ambiente.
  • Isole a estação se encontrar sinais de execução, e preserve evidências antes de limpar.

Boas práticas para extensões de editor

  • Fixe versões de extensões críticas e desative a atualização automática quando possível.
  • Em ambientes corporativos, use lista de extensões permitidas e monitore a instalação delas.
  • Bloqueie conexões SSH de saída que não sejam necessárias e monitore processos filhos do editor.
  • Mantenha estações de desenvolvimento sem privilégios de administrador no dia a dia.

O que esse caso ensina sobre IA e cadeia de suprimentos

Esse incidente mostra uma mudança de alvo. Um editor com IA tem acesso a código-fonte, segredos e terminais, então comprometer uma extensão equivale a entrar pela porta da frente do ambiente de desenvolvimento. A confiança no nome do publicador, sozinha, deixou de ser garantia. Nós da Dolutech defendemos tratar o IDE e suas extensões como parte da cadeia de suprimentos de software, com o mesmo rigor aplicado a pacotes npm e imagens de contêiner.

Conclusão

O caso da extensão adulterada do Claude Code no Cursor foi contido em cerca de 11 horas, e o impacto real parece menor que o teto de 5.000 usuários. Ainda assim, ele deixa um alerta claro: verifique suas extensões, atualize para a 2.1.314 ou superior, procure a chave svc-telemetry e rotacione credenciais se houver dúvida. A Dolutech continuará acompanhando as investigações, principalmente a questão ainda sem resposta de como o invasor publicou o pacote.

Conheça nosso Canal do Youtube
Escute Nosso DoluCast
Melhores da Semana