Claude Code no Cursor com backdoor SSH: como checar e limpar
Extensão do Claude Code 2.1.313 no Cursor plantou chave SSH do atacante. Veja como checar no Mac e no Windows, limpar a máquina e trocar suas credenciais.
Uma versão adulterada da extensão do Claude Code, o pacote Anthropic.claude-code na versão 2.1.313, ficou disponível no marketplace de extensões do Cursor em 29/10/2026, das 06h27 às 17h35 (horário de Brasília). Ela não foi feita pela Anthropic e tenta instalar um backdoor SSH na máquina de quem a instalou ou atualizou nesse intervalo. Para saber se você foi atingido, basta procurar a chave svc-telemetry no seu arquivo authorized_keys: o comando para macOS e para Windows está logo abaixo. Se a chave estiver lá, a máquina foi afetada e precisa de limpeza com o script oficial do Cursor, além da troca de credenciais feita a partir de outro computador.
Este guia reúne o que o aviso de segurança oficial do Cursor e a reportagem do The Hacker News confirmaram, na ordem em que você precisa agir.
O que aconteceu
Segundo o Cursor, entre cerca de 2:27am e 1:35pm do horário do Pacífico (PT) de 29/10/2026, o que corresponde a aproximadamente 06h27 a 17h35 em Brasília, uma versão modificada da extensão do Claude Code esteve disponível no marketplace de extensões do VS Code usado pelo Cursor. O código malicioso foi inserido no pacote e não tem relação com o desenvolvimento da Anthropic.
- Pacote:
Anthropic.claude-code, versão2.1.313. - Onde: marketplace de extensões do Cursor (o de extensões do VS Code dentro do Cursor).
- Builds citados no aviso: macOS Apple Silicon (
darwin-arm64) e Windows x64 (win32-x64). - Alcance: no máximo 5 mil usuários, e o Cursor diz que vai entrar em contato direto com cada um.
- Atualização automática: segundo o The Hacker News, citando a OpenSourceMalware, quem estava com atualização automática de extensões ligada pode ter recebido a versão sem perceber.
O Cursor removeu a versão assim que a detectou, desligou o marketplace inteiro por precaução, trocou as próprias chaves, reconstruiu o marketplace e auditou os acessos, sem encontrar outras extensões adulteradas. O servidor do atacante foi derrubado junto com o provedor de nuvem que o hospedava. A Anthropic publicou a versão 2.1.314 da extensão, segundo o The Hacker News.
O que a extensão maliciosa faz
O aviso descreve quatro comportamentos:
- Coleta dados da máquina: hostname, nome de usuário, sistema operacional, arquitetura, pasta home, pastas de trabalho, e-mail configurado no Git e IP público. Também lista os nomes das variáveis de ambiente. O The Hacker News detalha que são até 40 nomes que contêm termos como KEY, TOKEN, SECRET, PASS, AWS e GCP, e que os valores dessas variáveis não vão no envio.
- Planta uma chave SSH do atacante: acrescenta ao
authorized_keysuma chave pública identificada comosvc-telemetry, tenta ligar o serviço SSH local e abrir um túnel SSH reverso para o servidor134.209.82.225. - Cria persistência: um LaunchAgent no macOS, ou uma tarefa agendada no Windows (com um script na pasta Inicializar como alternativa). Esses scripts tentam reabrir o túnel a cada 60 segundos, mais ou menos.
- Avisa o atacante: manda os dados da máquina e o estado do backdoor por HTTP POST para
/beaconna porta 8099.
Por que checar mesmo com o servidor fora do ar
Ligar o SSH local exige privilégio de administrador, que a extensão não tem na maioria dos Macs e PCs com Windows. Nesses casos o túnel falha e o atacante não conseguiria entrar por ele. Só que a chave do atacante, a persistência e o envio dos dados acontecem mesmo assim. O próprio Cursor recomenda seguir os passos de correção em qualquer caso: a chave fica no seu authorized_keys e os scripts continuam tentando, e o aviso lembra que a coleta limitada de variáveis não descarta que credenciais tenham sido acessadas depois pelo backdoor.
Como checar se sua máquina foi afetada
O teste oficial procura a chave svc-telemetry nos arquivos de chaves autorizadas do SSH.
macOS
No Terminal:
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
Windows
No PowerShell:
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }
Se a resposta for svc-telemetry key found, a máquina foi afetada. Se for No key found; machine not impacted, a chave não está lá. Em empresa, vale também procurar os indicadores da seção mais abaixo na telemetria de endpoint, de rede e de instalação de extensões, como o Cursor recomenda.
Achou a chave? O que fazer, nesta ordem
1. Isole a máquina e preserve evidências
Tire o computador da rede antes de mexer em qualquer coisa e guarde o que puder servir de evidência, principalmente se ele for da empresa e houver um time de segurança para investigar.
2. Rode o script de correção oficial
O Cursor publicou um script para cada sistema. Eles removem a extensão maliciosa, os mecanismos de persistência, os processos do túnel e a chave do atacante, e terminam com código de saída diferente de zero se alguma coisa sobrar. Baixe o script na página do aviso do Cursor e rode a partir da pasta onde ele foi salvo.
No macOS, como o seu usuário normal, não como root:
bash remediate-macos.sh
No Windows, num PowerShell aberto com "Executar como administrador":
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1
3. Não confie só em desinstalar a extensão
Remover a extensão pelo Cursor pode não resolver: o código malicioso deixa scripts de persistência independentes, que continuam rodando depois que a extensão some. Por isso o script de correção é o caminho indicado.
4. Avalie reinstalar a máquina
O Cursor recomenda avaliar se o computador deve ser reconstruído do zero. Se você não tem como garantir o que aconteceu enquanto a chave do atacante esteve lá, reinstalar é a opção mais segura.
Troque as credenciais a partir de outra máquina
Toda credencial e sessão acessível a partir do computador afetado deve ser trocada, e a troca precisa ser feita de um computador limpo e confiável, nunca do próprio computador afetado. Na prática, para quem desenvolve:
- chaves SSH (gere novas e remova as antigas dos servidores, do GitHub e do GitLab);
- tokens do GitHub e de outros serviços Git, incluindo os guardados pelo gerenciador de credenciais;
- chaves de acesso de nuvem (AWS, GCP, Azure) e perfis salvos nas CLIs;
- tokens e senhas guardados em arquivos
.envdos projetos; - chaves de API de qualquer serviço usado pela máquina;
- sessões abertas: encerre as sessões ativas nos painéis dos serviços.
Se algum desses segredos já foi parar num repositório, o post sobre por que segredo vazado no Git se troca antes de limpar o histórico explica a ordem certa. E se a máquina tinha acesso a pipelines, o guia sobre como checar se os secrets do GitHub Actions vazaram ajuda a revisar esse lado.
Por fim, atualize a extensão do Claude Code para a versão 2.1.314.
Como conferir se nada sobrou
Depois da limpeza, confira se nenhum indicador ficou para trás. Para ver se há processo de túnel rodando no macOS (ou em sistemas parecidos com Linux):
ps aux | grep -E "autossh|ssh -N -R" | grep -v grep
Se aparecer alguma linha com ssh -N -R '*:0:localhost:22' ou autossh -M 0, o túnel ainda está ativo.
Arquivos e persistência
No macOS, estes arquivos não devem existir:
~/.config/.smte~/.config/.smtk$TMPDIR/.stk_<hex>(nome com 10 caracteres hexadecimais)~/Library/LaunchAgents/com.apple.sysmond.plist(labelcom.apple.sysmond)
No Windows:
%USERPROFILE%\.config\smt.cmde%USERPROFILE%\.config\smtk%TEMP%\.stk_<hex>- tarefa agendada
SysMon %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
Rede e chave
- Endereço do atacante:
134.209.82.225(túnel na porta 22 e beacon em:8099/beacon). - Impressão digital da chave do atacante:
SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk. - Comentário da chave:
svc-telemetry.
Os hashes dos pacotes VSIX modificados e a lista completa de indicadores estão no aviso do Cursor.
Extensão de editor é cadeia de suprimentos
O caso mostra que uma extensão popular, com nome de editora conhecida, pode chegar adulterada por uma atualização automática. É o mesmo tipo de risco que aparece nas extensões do Chrome que sequestram a busca, só que aqui com acesso ao terminal, às chaves SSH e aos projetos de quem programa. Em empresa, vale manter um inventário das extensões instaladas nas máquinas de desenvolvimento e acompanhar avisos de segurança dos fornecedores, como fizemos com a falha crítica do GitLab explorada nesta semana.
Perguntas frequentes
Uso o Claude Code no VS Code, não no Cursor. Fui afetado?
O aviso trata do pacote 2.1.313 distribuído pelo marketplace de extensões do Cursor. O Cursor diz não ter evidência de que outras versões da extensão ou a distribuição oficial tenham sido afetadas. Se quiser tirar a dúvida, o teste da chave svc-telemetry leva segundos.
O atacante pegou minhas senhas das variáveis de ambiente?
No envio automático, só os nomes das variáveis foram coletados, não os valores. Mas o Cursor alerta que isso não descarta acesso posterior a credenciais pelo backdoor, por isso a troca de credenciais é recomendada para máquinas afetadas.
Desinstalar a extensão resolve?
Não necessariamente. Os scripts de persistência continuam rodando sozinhos. Use o script de correção oficial e confira os indicadores depois.
Como saber se recebi a versão 2.1.313?
Se você usava a extensão no Cursor com atualização automática, pode tê-la recebido entre 06h27 e 17h35 de 29/10 (Brasília). O teste da chave svc-telemetry é a forma direta de confirmar se o código rodou. O Cursor também vai contatar os usuários afetados.