Se você instalou ou atualizou a extensão do Claude Code dentro do Cursor em 29 de outubro de 2026, rode dois comandos antes de qualquer outra coisa: um procura a chave SSH svc-telemetry no seu authorized_keys, o outro procura o arquivo de persistência que o código malicioso deixou. Achou algo, rode o script oficial de limpeza da Cursor e gire suas credenciais a partir de outra máquina. Desinstalar a extensão não basta.
Abaixo estão os comandos exatos para macOS, Windows e Linux, tirados do aviso de segurança da Cursor e dos próprios scripts de limpeza que ela publicou.
O que aconteceu com a extensão do Claude Code no Cursor?
O marketplace de extensões da Cursor distribuiu builds adulterados da extensão Anthropic.claude-code nas versões 2.1.312 e 2.1.313, para macOS e Windows, durante cerca de 11 horas. Segundo o aviso de segurança da Cursor (publicado em 29/10 e atualizado em 30/10/2026), essas versões "não foram desenvolvidas pela Anthropic".
| Ponto | O que se sabe | Fonte |
|---|---|---|
| Versões adulteradas | 2.1.312 e 2.1.313 (darwin-arm64 e win32-x64) | Cursor, atualização de 30/10 |
| Janela | 29/10/2026, das 02:27 às 13:35 no horário do Pacífico (06:27 às 17:35 em Brasília) | Cursor |
| Quem pode ter recebido | até 5.000 usuários | BleepingComputer e OX Security, citando a Cursor |
| Canal afetado | só o marketplace da Cursor. A Cursor diz não ter evidência de que outras versões ou a distribuição oficial tenham sido afetadas | Cursor |
| Servidor do atacante | fora do ar, derrubado junto com o provedor de nuvem | Cursor |
| Versão anterior a 2.1.312 | não aparece em nenhuma lista de afetadas | Cursor, OX, Phorion |
Se você usa o Claude Code só pelo terminal, ou instalou a extensão pelo marketplace da Microsoft no VS Code, nada nas fontes acima indica exposição.
O que o código malicioso fazia na máquina?
Ele mandava dados da máquina para o atacante e tentava abrir uma porta de entrada por SSH. Pela descrição da Cursor, em quatro etapas:
- Coleta: hostname, usuário, sistema, arquitetura, pasta home, nomes de variáveis de ambiente, pastas de trabalho, e-mail do Git e IP público.
- Chave do atacante: acrescentava uma chave
ssh-ed25519com o comentáriosvc-telemetryao~/.ssh/authorized_keys. - Túnel reverso: tentava ligar o SSH local e abrir um túnel
ssh -N -Raté o servidor do atacante. A Cursor diz que, por erros no próprio código malicioso, esse passo falhava a menos que o Cursor estivesse rodando com privilégio de administrador. - Persistência: LaunchAgent no macOS, tarefa agendada (com script de Inicialização como plano B) no Windows, e scripts que tentavam refazer o túnel a cada 60 segundos, mais ou menos.
A Phorion, que analisou o código, registrou que o filtro de variáveis de ambiente era /KEY|TOKEN|SECRET|PASS|AWS|GCP/i e que só os nomes saíam, não os valores. Isso ajuda a decidir o que girar primeiro, como você vai ver abaixo.
Como saber se a minha máquina foi afetada?
Procure a chave e os arquivos de persistência. Não confie no número de versão: o script oficial da Cursor avisa que o pacote adulterado "mantém o número de versão real", então ele detecta pelo conteúdo do extension.js, e você deve fazer o mesmo.
macOS e Linux
# 1. Extensão adulterada instalada? (procura o marcador dentro do código)
grep -l svc-telemetry ~/.[!.]*/extensions/anthropic.claude-code-*/extension.js 2>/dev/null
# 2. Chave do atacante, pelo comentário e pela impressão digital
grep -c svc-telemetry ~/.ssh/authorized_keys
ssh-keygen -lf ~/.ssh/authorized_keys | grep 0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk
# 3. Persistência
ls -la ~/.config/.smt ~/.config/.smtk ~/Library/LaunchAgents/com.apple.sysmond.plist 2>/dev/null
ls -a "${TMPDIR:-/tmp}" /tmp | grep '^\.stk_'
crontab -l 2>/dev/null | grep '\.config/\.smt'
Por que a impressão digital além do comentário: a Phorion lembra que o comentário pode ser editado, a chave não. O SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk é o que a Cursor e a OX Security publicaram para a chave plantada.
Linux não está na lista de builds afetados da Cursor, mas o código tem rotina para ele (entrada @reboot no crontab apontando para ~/.config/.smt), e a Cursor lista esses caminhos nos indicadores. A última linha cobre esse caso.
Windows (PowerShell)
# 1. Extensão adulterada instalada?
Get-ChildItem "$HOME\.*\extensions\anthropic.claude-code-*\extension.js" -Force -ErrorAction SilentlyContinue |
Select-String svc-telemetry -SimpleMatch -List
# 2. Chave do atacante (comando publicado pela Cursor)
$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" }
# 3. Persistência
schtasks /query /tn SysMon
Test-Path "$HOME\.config\smt.cmd", "$HOME\.config\smtk", "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd"
Se o schtasks responder que não encontrou a tarefa e os três Test-Path voltarem False, a persistência não está lá.
Como limpar se achei a chave ou os arquivos?
Rode o script oficial da Cursor. Ele desliga a persistência, mata os processos do túnel, apaga a extensão adulterada, remove os arquivos e tira a chave do authorized_keys. Sai com código 1 se sobrar alguma coisa.
# macOS: rode como o usuário afetado, SEM sudo (o script recusa root)
curl -fsSLO https://cursor.com/static/security/claude-code-extension/remediate-macos.sh
less remediate-macos.sh
bash remediate-macos.sh
# Windows: feche todos os editores e abra o PowerShell com "Executar como administrador"
Invoke-WebRequest https://cursor.com/static/security/claude-code-extension/remediate-windows.ps1 -OutFile remediate-windows.ps1
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1
O resultado esperado é clean: no backdoor found (não havia nada) ou done: backdoor removed. Se aparecer incomplete, leia os avisos acima dessa linha e rode de novo depois de fechar os editores. O script de Windows limpa todos os perfis de usuário da máquina; o de macOS precisa rodar uma vez em cada usuário afetado.
Não apague a linha com sed '/svc-telemetry/d'. Os dois scripts da Cursor explicam por quê: a chave do atacante foi acrescentada "sem quebra de linha antes", então ela pode estar colada na mesma linha de uma chave sua legítima. Apagar a linha inteira tira o seu acesso junto. O script remove só o trecho exato da chave.
No macOS, se o script disser que algo escuta em localhost:22 e você não usa SSH de entrada nessa máquina, desligue o Login Remoto: sudo systemsetup -setremotelogin off.
No Linux, sem script oficial, remova à mão a entrada do crontab e os arquivos, e confira se seus outros jobs continuam lá (a Phorion apontou um bug no código malicioso que pode apagar cron jobs existentes):
crontab -l | grep -v '\.config/\.smt' | crontab -
rm -f ~/.config/.smt ~/.config/.smtk /tmp/.stk_*
crontab -l
Desinstalar a extensão do Cursor resolve?
Não. A Cursor escreve que desinstalar "pode não ser suficiente", porque os scripts de persistência rodam sozinhos, fora do editor. Atualizar a extensão também não remove a chave nem o LaunchAgent. Você precisa da limpeza da seção anterior.
Quais credenciais girar primeiro?
Todas as que a máquina afetada alcançava, e a partir de outra máquina. A recomendação literal da Cursor é girar "credenciais e sessões acessíveis a partir dos hosts afetados, a partir de um sistema confiável", porque a coleta só de nomes "não descarta acesso posterior a credenciais pelo backdoor".
Para priorizar, veja quais nomes o filtro do código malicioso teria pego no seu ambiente:
env | cut -d= -f1 | grep -iE 'KEY|TOKEN|SECRET|PASS|AWS|GCP'
| O que girar | Por quê |
|---|---|
| Tudo que apareceu no comando acima | Nome enviado ao atacante, valor ao alcance pelo túnel |
Chaves SSH em ~/.ssh | O túnel dava acesso ao disco |
Token do GitHub (gh, Git Credential Manager) e npm | Mesmo motivo, e o e-mail do Git foi enviado |
| Credenciais de nuvem (AWS, GCP, Azure) | Ficam em arquivos na home, não só em variável |
| Sessões de navegador de contas críticas | A Cursor fala em "credenciais e sessões" |
Se o túnel chegou a abrir (chave achada e SSH local ligado), a Cursor recomenda isolar a máquina e avaliar reinstalar o sistema.
Perguntas rápidas
Uso o Claude Code só no terminal. Preciso fazer algo?
Pelas fontes atuais, não. O incidente foi no marketplace de extensões da Cursor. Rodar o comando de grep da chave leva um segundo e tira a dúvida.
Minha extensão está numa versão mais nova que 2.1.313. Estou seguro?
A extensão nova não carrega o código malicioso, mas se a 2.1.312 ou 2.1.313 chegou a rodar, a chave e a persistência ficaram. Faça a checagem mesmo assim.
O servidor do atacante caiu. Ainda preciso limpar?
Sim. A chave continua autorizada no seu authorized_keys e o script de persistência continua tentando abrir o túnel. Servidor fora do ar hoje não impede outro amanhã.
Se você quer um agente de programação de reserva no terminal enquanto revisa as extensões do editor, a Verboo Code roda como CLI, com tokens ilimitados.



