Backdoor na extensão Claude Code no Cursor: verificação e limpeza

Identifique a exposição à extensão Claude Code modificada distribuída pelo marketplace do Cursor. Confira as versões e o período de instalação, procure indicadores de SSH e persistência e execute os scripts oficiais com os privilégios corretos. Verifique os limites da limpeza, revogue credenciais acessíveis e reinstale a extensão de uma fonte verificada.

Conteúdo
Backdoor na extensão Claude Code no Cursor: verificação e limpeza

Se você instalou a extensão Claude Code 2.1.312 ou 2.1.313 pelo Cursor no período afetado, verifique o computador antes de retomar o trabalho. Isole computadores com indicadores maliciosos, remova os vestígios do backdoor e use um dispositivo confiável para revogar e substituir as credenciais acessíveis. Atualizar apenas a extensão não remove seus mecanismos de persistência.

Minha instalação foi afetada? Confira origem, versão, plataforma e horário

Investigue se sua instalação corresponde às condições abaixo ou se encontrar algum indicador, independentemente do horário da instalação. Em 2026-11-02, o aviso de segurança do Cursor informa este escopo:

O que verificarEscopo informado
ExtensãoAnthropic.claude-code, distribuída pelo Cursor VS Code Extension Marketplace
VersõesCópias modificadas de 2.1.312 e 2.1.313
PlataformasmacOS e Windows
Período de instalação ou atualizaçãoAproximadamente 02:27–13:35 PDT em 2026-10-29
Mesmo período em UTCAproximadamente 09:27–20:35 UTC em 2026-10-29

O Cursor informa que esses pacotes modificados não foram desenvolvidos pela Anthropic. Inclua as atualizações automáticas na análise. A versão instalada agora pode ser diferente daquela presente durante o incidente.

Não abra uma instalação suspeita do Cursor. Consulte registros de instalação ou inspecione os metadados da extensão no disco, incluindo package.json, sem carregar a extensão. Registre a versão, a plataforma, a origem e o horário da instalação.

Não use claude --version para verificar a extensão. A documentação da Anthropic explica que a extensão inclui sua própria CLI; o terminal pode executar uma instalação separada.

A análise independente da Microsoft confirma que as distribuições do Microsoft Visual Studio Marketplace e do npm não foram afetadas por este incidente. O número da versão, por si só, não distingue um pacote autêntico de uma cópia modificada.

O Linux exige uma avaliação separada. A análise da Phorion identifica trechos de código para Linux, mas o escopo de distribuição confirmado pelo Cursor cita macOS e Windows. Investigue vestígios correspondentes no Linux. Não considere a distribuição no Linux confirmada nem execute nele um script de limpeza para macOS.

Execute as verificações oficiais da chave SSH

Execute a verificação para a conta afetada e interprete o resultado junto com as evidências de instalação e persistência. A mensagem que indica um resultado positivo é svc-telemetry key found.

Estes são os comandos publicados pelo Cursor. A mensagem negativa não prova que o computador nunca foi afetado.

macOS: Bash

Execute o comando em um terminal, como o usuário afetado:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

O comando procura um comentário em um arquivo. A opção -s também oculta mensagens sobre arquivos ausentes e erros de leitura. Investigue um arquivo que não possa ser lido, em vez de interpretar a mensagem negativa como confirmação de segurança.

Windows: PowerShell

Execute a verificação do Cursor para o perfil do usuário afetado:

$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" }

Resolva erros de acesso ao verificar o arquivo compartilhado dos administradores. Se elevar os privilégios com outra conta, $HOME muda. Verifique também o perfil originalmente afetado.

Um marcador positivo exige contenção e verificação da chave. O Cursor publica esta impressão digital da chave de autorização do invasor:

SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk

No macOS, este comando do OpenSSH para consultar impressões digitais pode ajudar a comparar as entradas sem alterar o arquivo:

ssh-keygen -lf "$HOME/.ssh/authorized_keys" -E sha256

Compare o conteúdo da chave com o aviso se o comando não conseguir interpretar o arquivo ou se os comentários forem diferentes. Os scripts de limpeza consideram a possibilidade de a chave maliciosa ter sido acrescentada a uma linha existente. Não apague uma linha correspondente inteira sem examiná-la: ela também pode conter uma chave legítima.

Verifique a persistência e preserve as evidências

Verifique os arquivos e as ações de inicialização abaixo antes de considerar o computador limpo. São indicadores para investigar, não nomes que devam ser excluídos indiscriminadamente.

ÁreaIndicadores do aviso do Cursor
Arquivos no macOS~/.config/.smt, ~/.config/.smtk, ~/Library/LaunchAgents/com.apple.sysmond.plist
Inicialização no macOSLaunchAgent com o rótulo com.apple.sysmond
Arquivos no Windows%USERPROFILE%\.config\smt.cmd, %USERPROFILE%\.config\smtk
Inicialização no WindowsTarefa agendada SysMon; alternativa: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
Arquivos temporários$TMPDIR/.stk_<10 hex> no macOS; %TEMP%\.stk_<10 hex> no Windows
RedeConexões com 134[.]209[.]82[.]225, incluindo SSH pela porta TCP 22 e HTTP /beacon na porta 8099

O sufixo <10 hex> representa um padrão de nome de arquivo; os sinais de menor e maior não fazem parte literal do nome. Antes de remover um item de inicialização, examine a ação configurada e os arquivos associados.

Nos computadores da equipe, preserve o pacote da extensão, os arquivos de chaves relevantes, as configurações de inicialização e os logs do computador. Siga o processo de resposta a incidentes da equipe. Isole computadores com evidências de execução do código malicioso ou instalação do backdoor. Fechar o editor não remove os scripts que continuam executando separadamente.

A Phorion constatou que o código injetado é executado quando o Node carrega o módulo, antes do callback normal activate da extensão. Não é necessário enviar um prompt ao Claude para que esse código seja executado.

O Cursor informa que o servidor do invasor foi retirado do ar. Isso interrompe o canal de conexão descrito, mas não remove os vestígios locais. Da mesma forma, uma falha ao habilitar SSH não descarta a adição da chave, os arquivos de persistência ou a coleta de informações do computador.

Execute o script de limpeza do Cursor e verifique seus limites

Use o script indicado no aviso do Cursor depois de preservar as evidências necessárias. Examine o arquivo baixado antes de executá-lo e feche os editores.

A limpeza abrange diretórios modificados da extensão, processos do túnel, arquivos criados pelo malware, mecanismos de persistência e a chave de autorização do invasor. Revogue as credenciais de API separadamente e investigue a atividade do computador além dos resultados da limpeza.

Limpeza no macOS

Baixe o script de correção do Cursor para macOS. Execute-o na pasta onde foi salvo, como cada usuário afetado, sem sudo:

bash remediate-macos.sh
echo "Exit status: $?"

O script recusa a execução como root. A limpeza inclui o LaunchAgent com.apple.sysmond, os processos e arquivos correspondentes e os pacotes de extensão que contêm svc-telemetry. A chave do invasor é removida por correspondência exata de texto.

Limpeza no Windows

Baixe o script de correção do Cursor para Windows. Abra o PowerShell com Run as Administrator (Executar como administrador) e execute o comando na pasta onde salvou o arquivo:

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

O script percorre os perfis de usuário registrados. Ele atua sobre a ação maliciosa da tarefa, os processos correspondentes, os diretórios da extensão, os arquivos criados e as chaves de autorização dos perfis.

Após a limpeza, verifique separadamente C:\ProgramData\ssh\administrators_authorized_keys, se esse arquivo existir. Se a chave do invasor estiver presente, peça a um administrador que remova a entrada não autorizada exata, preservando as chaves legítimas.

Um código de saída diferente de zero ou uma mensagem incomplete exige acompanhamento. Resolva as falhas relatadas e repita a verificação correspondente.

O código 0 indica que o script não relatou nenhuma condição pendente nas verificações que executa. Confira locais personalizados de instalação de extensões usando os indicadores publicados. Revise separadamente a configuração do serviço SSH local e confirme se ela corresponde à configuração desejada.

Mantenha o computador isolado se os vestígios retornarem, surgir acesso SSH inesperado ou você não conseguir explicar atividades posteriores. Peça à equipe de resposta a incidentes que avalie a reinstalação do sistema antes de devolver credenciais ao computador.

Revogue e substitua as credenciais acessíveis no computador afetado

Revogue as credenciais expostas usando um dispositivo confiável, inclusive aquelas sem relação com o Claude Code. Não coloque as substitutas no computador afetado antes de concluir a limpeza ou a reinstalação.

O Cursor descreve a coleta dos nomes das variáveis de ambiente. Isso não comprova o roubo de seus valores. A recomendação de substituição também considera um possível acesso posterior pelo backdoor.

Use este inventário para atribuir responsáveis e registrar a conclusão:

CredencialAção necessária
Chaves de API da AnthropicNa página de chaves de API do Claude Console, abra o menu da chave afetada, escolha Delete API key e crie uma substituta.
Chaves de API da OpenAIExclua as chaves afetadas no painel de chaves de API, crie substitutas e examine o uso em busca de atividade inesperada.
Tokens de serviços GitNo serviço emissor, revogue os tokens de acesso pessoal e outras credenciais acessíveis no computador. Atualize as automações legítimas com as substitutas.
Chaves SSH do clienteSubstitua chaves privadas potencialmente expostas e remova as autorizações de suas antigas chaves públicas dos serviços Git e de outros servidores.
Credenciais de nuvemRevogue chaves de acesso expostas e trate as sessões temporárias separadamente. Investigue recursos não autorizados, mudanças de acesso e uso.
Sessões de contasRevogue as sessões afetadas do navegador, da CLI e de SSO pelo serviço correspondente ou com o administrador de identidades.

As instruções da Anthropic para chaves comprometidas documentam os controles de exclusão e substituição. As orientações de segurança da OpenAI explicam a exclusão de chaves de API e a análise de uso.

No GitHub, use as configurações de tokens de acesso pessoal para excluir os tokens afetados. Examine separadamente as chaves SSH e as sessões ativas.

Para a AWS, siga as instruções para responder à exposição de chaves de acesso. Use as orientações específicas sobre credenciais temporárias para sessões de funções.

Inclua as chaves de gateways no mesmo inventário. Se você usou o BetterToken, inclua sua chave de API do BetterToken. O console permite criar chaves; criar uma substituta não revoga a credencial exposta. Confirme a revogação no serviço emissor antes de considerar a troca concluída.

Remover svc-telemetry do computador não revoga suas próprias chaves privadas SSH nos serviços remotos. Excluir um valor da configuração local também não invalida a chave de API original.

Para uma recuperação mais ampla, use o checklist de revogação de credenciais e auditoria. Confirme a revogação no serviço emissor, atualize os sistemas legítimos que usam as credenciais e verifique se as solicitações esperadas funcionam em um ambiente confiável.

Reinstale de uma fonte verificada após a recuperação

Após a limpeza, ou em um computador reinstalado, instale uma versão atual de origem confiável. No comunicado sobre o incidente, o Cursor pediu que os clientes atualizassem para 2.1.314. Essa é a versão indicada naquele comunicado.

Use a página de instalação da Anthropic para acessar a listagem correta da extensão. Confirme o publicador, o identificador Anthropic.claude-code, o registro de origem e a versão instalada. O painel Extensions mostra a versão da extensão após a instalação.

Verifique novamente os indicadores publicados depois de fazer login ou reiniciar. Se a persistência retornar, pare de usar o computador e reabra a investigação.

A instalação para uso apenas no terminal é um pacote separado. O guia de instalação e primeiro uso do Claude Code ajuda a verificar essa instalação, mas não limpa um computador já afetado.

Verifique a origem das extensões antes da próxima instalação

Confira o link de instalação fornecido pelo desenvolvedor e o registro usado, mesmo que o nome da extensão seja familiar. Registre o publicador, o identificador, a versão, a plataforma e a origem do download dos pacotes aprovados.

A documentação de extensões do Cursor alerta que nomes publisher.extension idênticos podem representar publicadores ou códigos diferentes em registros distintos.

Ao comparar hashes, use o mesmo artefato, a mesma plataforma e a mesma versão. O hash de um pacote VSIX não pode ser comparado com o de extension.js. Uma divergência em relação a um hash malicioso conhecido não comprova a autenticidade do pacote.

Em 2026-11-02, o Cursor documenta Marketplace Install Cooldown (hours) para proprietários e administradores de equipes. Equipes Enterprise também podem exigir assinaturas válidas de extensões do Open VSX antes da instalação.

Aplique esses controles junto com uma revisão das instruções dos agentes e das configurações baixadas. A auditoria de AGENTS.md e da configuração do Claude Code trata dessa outra fonte de instruções executáveis.

Quer otimizar seu fluxo de trabalho com LLMs?

Conecte modelos por uma única API, gerencie chaves e controle os gastos com IA.

Começar grátis