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.

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.shNo Windows, o arquivo remediate-windows.ps1 deve ser executado em um PowerShell aberto como administrador:
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1Os 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:
- 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.
- Invalidar sessões: encerrar sessões ativas e revogar tokens de autenticação associados a serviços utilizados na máquina.
- Revisar repositórios: verificar acessos recentes, alterações inesperadas, novos commits e atividades suspeitas em plataformas como GitHub e GitLab.
- 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.
- 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.