Extensão falsa do Claude Code instala backdoor no Cursor

Extensão falsa do Claude Code instala backdoor no Cursor

Uma extensão falsa do Claude Code foi distribuída pelo marketplace do editor Cursor em uma operação de cadeia de suprimentos que tentou comprometer computadores de desenvolvedores com backdoors SSH persistentes. O incidente ocorreu em 29 de outubro de 2026 e envolveu uma versão adulterada da extensão da Anthropic, identificada como Anthropic.claude-code 2.1.313. O pacote permaneceu disponível por aproximadamente 11 horas e poderia ter alcançado até 5 mil usuários, segundo estimativa divulgada pelo Cursor.

O ataque chama a atenção porque não exigia que a vítima executasse manualmente um arquivo suspeito ou aceitasse uma conexão remota. O código malicioso estava incorporado à extensão e era executado durante seu carregamento. A operação tentava coletar informações do ambiente, modificar configurações SSH e estabelecer um canal de acesso remoto controlado pelos invasores.

Embora erros de implementação tenham impedido o funcionamento completo do backdoor na maioria dos computadores Windows e macOS, isso não significa que os sistemas que receberam o pacote estejam automaticamente seguros. Parte das ações maliciosas ainda podia ser executada, incluindo a instalação de mecanismos de persistência e o envio de informações sobre a máquina comprometida.

O episódio também expõe um problema importante para quem utiliza ferramentas de programação com inteligência artificial: a confiança depositada nos marketplaces de extensões pode se transformar em uma porta de entrada para ataques contra ambientes de desenvolvimento.

Como ocorreu o ataque de cadeia de suprimentos no Cursor

A janela de exposição começou aproximadamente às 2h27 e terminou às 13h35, no horário do Pacífico, em 29 de outubro. Considerando o horário de Brasília, a distribuição ocorreu entre 6h27 e 17h35.

Durante esse período, o marketplace de extensões do Cursor disponibilizou uma versão adulterada do pacote Anthropic.claude-code, identificado com o número 2.1.313 e apresentado sob a identidade da Anthropic.

A extensão maliciosa não foi desenvolvida pela Anthropic. O problema estava na distribuição realizada pelo marketplace do Cursor, que permitiu que um pacote modificado circulasse utilizando o nome associado ao projeto legítimo.

Pesquisadores de segurança identificaram a inserção de um carregador JavaScript malicioso no início do arquivo extension.js. O código legítimo da extensão foi mantido, mas recebeu instruções adicionais que eram executadas durante o carregamento.

Isso tornava o ataque particularmente perigoso. O desenvolvedor não precisava interagir com uma funcionalidade específica do Claude Code para iniciar a execução do código malicioso. Bastava carregar a extensão comprometida no ambiente de desenvolvimento.

A estimativa divulgada pelo Cursor aponta para até 5 mil usuários potencialmente afetados. Esse número representa o alcance máximo informado pela empresa, não uma confirmação de que todos os computadores tenham sido efetivamente comprometidos.

Claude Code
Extensão falsa do Claude Code instala backdoor no Cursor 2

Ações imediatas do script malicioso

Depois de iniciado, o carregador realizava uma etapa de reconhecimento do sistema. O objetivo era identificar características do computador e reunir informações que poderiam ajudar os invasores a avaliar o ambiente disponível.

Entre os dados coletados estavam:

  • Nome do computador e usuário: identificação do host e da conta utilizada.
  • Informações do sistema: sistema operacional, arquitetura e caminho do diretório pessoal.
  • Ambiente de desenvolvimento: diretórios de trabalho e endereço de e-mail configurado globalmente no Git.
  • Conectividade: endereço IP público da máquina.
  • Variáveis de ambiente: nomes de variáveis potencialmente relacionadas a tokens, senhas e credenciais de serviços.

Um detalhe importante é que a coleta inicial identificava os nomes de variáveis de ambiente consideradas interessantes, mas não significava que seus valores ou todas as credenciais armazenadas fossem automaticamente enviados nesse primeiro levantamento.

Mesmo assim, a informação é relevante. Nomes relacionados a AWS, GCP, TOKEN, SECRET, KEY e PASS podem revelar quais serviços de nuvem, plataformas de integração e mecanismos de autenticação estão presentes no ambiente.

Para um invasor, esse inventário funciona como um mapa inicial dos recursos que poderiam ser explorados em uma segunda etapa.

A tentativa de túnel reverso e conexão ao C2

O objetivo principal do malware era estabelecer acesso remoto persistente por meio de SSH.

Para isso, o código tentava inserir uma chave pública controlada pelos invasores no arquivo authorized_keys, utilizado pelo OpenSSH para autorizar conexões. A chave foi identificada pelo comentário svc-telemetry, uma nomenclatura aparentemente inofensiva que poderia passar despercebida durante uma inspeção superficial.

Em seguida, o malware tentava habilitar o serviço SSH local e criar um túnel SSH reverso para o endereço 134.209.82[.]225, que funcionava como servidor de comando e controle (C2).

O túnel permitiria que os invasores alcançassem o serviço SSH da vítima por meio de uma conexão iniciada pelo próprio computador comprometido. Essa técnica é especialmente útil em redes protegidas por NAT e firewalls, nas quais conexões externas diretas normalmente não conseguem alcançar uma máquina interna.

Para manter o acesso, o malware também tentava instalar mecanismos de persistência. Os scripts em segundo plano repetiam as tentativas de conexão aproximadamente a cada 60 segundos.

O resultado pretendido era transformar o computador do desenvolvedor em um ponto de acesso remoto que sobrevivesse ao encerramento do editor e à reinicialização do sistema.

Por que o ataque da extensão falsa do Claude Code não obteve sucesso completo

Apesar da sofisticação da estratégia, a implementação apresentava erros que limitaram significativamente sua capacidade de estabelecer o acesso remoto.

O principal problema envolvia as permissões necessárias para habilitar o serviço SSH. Em condições normais, essa operação exige privilégios administrativos que uma extensão executada com as permissões comuns do usuário não possui.

No macOS, o código tentava utilizar o comando systemsetup para configurar o serviço SSH sem obter previamente as permissões necessárias de administrador. A operação falhava na maioria dos ambientes convencionais.

No Windows, a implementação apresentava incompatibilidade ao tentar executar comandos por meio de /bin/sh, caminho associado a ambientes Unix que não está disponível em instalações normais do sistema operacional da Microsoft.

Essas falhas impediram que o ataque funcionasse conforme planejado em grande parte dos computadores atingidos. Sem o serviço SSH habilitado, o túnel reverso não conseguiria oferecer o acesso remoto pretendido.

Entretanto, existe uma distinção importante: o fracasso na abertura do túnel não significa que o malware não tenha executado outras etapas.

A inserção da chave SSH, a instalação de mecanismos de persistência e a coleta de informações do sistema ainda representam riscos. Além disso, a existência de um computador com SSH previamente habilitado ou com permissões administrativas disponíveis poderia alterar o resultado.

A exfiltração dos dados de reconhecimento também merece atenção. Mesmo sem obter as credenciais diretamente, os invasores poderiam identificar quais ferramentas, serviços de nuvem e recursos sensíveis estavam presentes na máquina.

Como verificar se a extensão falsa do Claude Code afetou sua máquina

O Cursor confirmou que removeu a versão maliciosa, bloqueou sua distribuição e realizou uma auditoria no marketplace. A empresa também informou que desativou temporariamente todo o marketplace de extensões do VS Code por precaução, rotacionou suas próprias chaves de acesso e reconstruiu a infraestrutura antes de restabelecer o serviço.

Além disso, trabalhou com o provedor de hospedagem para retirar do ar o servidor utilizado pelos invasores. Com isso, as conexões reversas e o envio de informações para o endereço malicioso deixaram de funcionar.

A empresa afirmou não ter encontrado evidências de adulteração em outras versões da extensão ou na distribuição oficial do Claude Code. Entretanto, quem instalou a versão 2.1.313 durante a janela de exposição precisa realizar verificações adicionais.

Indicadores de comprometimento

O primeiro indicador é a presença da chave SSH identificada como svc-telemetry no arquivo authorized_keys.

No macOS, abra o Terminal e execute:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "Chave suspeita encontrada" || echo "Chave não encontrada"

No Windows, abra o PowerShell e execute:

$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ } if ($files -and (Select-String svc-telemetry $files)) { "Chave suspeita encontrada" } else { "Chave não encontrada" }

Se a identificação aparecer, considere o computador comprometido e inicie imediatamente o procedimento de resposta a incidentes.

Também é importante procurar outros arquivos associados à persistência do malware.

No macOS, os principais indicadores incluem:

  • ~/.config/.smt
  • ~/.config/.smtk
  • ~/Library/LaunchAgents/com.apple.sysmond.plist

No Windows, verifique:

  • %USERPROFILE%\.config\smt.cmd
  • %USERPROFILE%\.config\smtk
  • A tarefa agendada SysMon.
  • %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd

Arquivos temporários com o padrão .stk_ também aparecem na análise técnica do incidente.

Outro indicador importante é a atividade de processos como ssh -N -R e autossh -M 0, associados à tentativa de manter o túnel reverso ativo.

Atenção: a ausência da chave svc-telemetry não deve ser interpretada isoladamente como prova de que o computador está limpo. A análise precisa considerar a versão instalada, os arquivos de persistência, os processos e os registros de rede.

Medidas de remediação para desenvolvedores

Se você instalou a versão comprometida, a primeira providência é isolar a máquina da rede quando houver evidências de execução do malware. Evite utilizar o computador afetado para acessar serviços corporativos, repositórios ou plataformas de nuvem até concluir a investigação.

O Cursor disponibilizou scripts específicos de remediação para macOS e Windows. Eles removem a extensão maliciosa, a chave SSH não autorizada, os mecanismos de persistência e os processos relacionados ao túnel.

No macOS, o procedimento oficial utiliza o script remediate-macos.sh, executado como o usuário afetado, sem privilégios de root:

bash remediate-macos.sh

No Windows, o arquivo remediate-windows.ps1 deve ser executado em um PowerShell aberto como administrador:

powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1

Os scripts devem ser obtidos diretamente do comunicado de segurança do Cursor, evitando cópias distribuídas por terceiros.

Depois da limpeza, os desenvolvedores devem adotar outras medidas:

  1. Rotacionar credenciais: trocar tokens de acesso, chaves de API, credenciais SSH e segredos de serviços de nuvem que estavam disponíveis no ambiente afetado.
  2. Invalidar sessões: encerrar sessões ativas e revogar tokens de autenticação associados a serviços utilizados na máquina.
  3. Revisar repositórios: verificar acessos recentes, alterações inesperadas, novos commits e atividades suspeitas em plataformas como GitHub e GitLab.
  4. Reconstruir o ambiente: considerar uma reinstalação limpa do sistema quando houver evidências de execução do backdoor ou quando não for possível comprovar a remoção completa dos mecanismos de persistência.
  5. Atualizar a extensão: utilizar uma versão legítima e verificada do Claude Code, evitando reinstalar pacotes obtidos de fontes não confiáveis.

Um ponto merece atenção especial: desinstalar a extensão não remove necessariamente o malware. Os scripts de persistência são instalados separadamente e podem continuar funcionando mesmo depois que o pacote comprometido desaparece do editor.

O perigo real dos marketplaces de extensões para IDEs

O incidente envolvendo a extensão falsa do Claude Code demonstra que ferramentas de desenvolvimento assistidas por inteligência artificial também fazem parte da superfície de ataque de uma organização.

Editores como Cursor e Visual Studio Code permitem ampliar funcionalidades por meio de extensões. Essa flexibilidade é importante para desenvolvedores, mas também cria uma relação de confiança entre usuários, fornecedores e plataformas de distribuição.

O problema é que uma extensão pode executar código com as permissões do usuário que iniciou o editor. Em uma estação de trabalho de desenvolvimento, isso pode representar acesso a repositórios privados, arquivos de configuração, tokens de autenticação e credenciais utilizadas em ambientes de produção.

Por isso, a verificação do nome e do logotipo de uma extensão não é suficiente. Desenvolvedores e administradores precisam considerar a identidade do publicador, a origem do pacote, o histórico de atualizações e as permissões exigidas.

Em ambientes corporativos, também é recomendável manter uma lista de extensões autorizadas, restringir instalações não aprovadas e monitorar alterações inesperadas nos diretórios de configuração dos sistemas.

Outra medida importante é evitar que editores de código sejam executados com privilégios administrativos sem necessidade. Embora isso não impeça todos os ataques, reduz o impacto de códigos maliciosos que dependem de permissões elevadas.

A extensão falsa do Claude Code deixa uma lição importante: a segurança de um ambiente de desenvolvimento não depende apenas da proteção do código-fonte ou dos servidores de produção. O próprio editor, seus complementos e os mecanismos de atualização precisam fazer parte da estratégia de defesa.

Para desenvolvedores, a recomendação é revisar as extensões instaladas e tratar atualizações automáticas como um componente que também merece monitoramento de segurança.