Extensão oficial do Claude Code na Cursor Marketplace é flagrada com backdoor SSH
- Leitura
- 3 min
- Código
- 1
- Fontes
- 1
Pesquisadores da Phorion encontraram um backdoor SSH persistente embutido nas versões 2.1.312 e 2.1.313 da extensão Claude Code distribuída pela Cursor Marketplace, para macOS e Windows. A Cursor já removeu os pacotes, mas remover a extensão não basta: é preciso limpar chaves SSH e persistência manualmente.
O que a Phorion encontrou
A empresa de segurança Phorion publicou um relatório técnico descrevendo um backdoor embutido na extensão oficial Claude Code for VS Code, distribuída pela Cursor Marketplace. Vale a pena frisar a distinção: Cursor é um editor derivado do VS Code, com marketplace próprio, separado da loja oficial mantida pela Microsoft. O pacote comprometido circulou especificamente ali.
Segundo a atualização de 31 de outubro de 2026 no próprio post, o aviso de segurança da Cursor passou a identificar duas versões afetadas: 2.1.312 e 2.1.313, para macOS e Windows. A publicação original da Phorion havia apontado apenas a 2.1.313; a lista foi ampliada depois. A Cursor já removeu ambos os pacotes do marketplace.
O arquivo extension.js do bundle comprometido tinha uma função autoexecutável (IIFE) injetada antes do código normal da extensão. Ela importa módulos nativos do Node (child_process, fs, os, path, http, crypto) e roda assim que o Node carrega o arquivo, antes mesmo do callback activate() da extensão original disparar. Ou seja: o usuário não precisa clicar em nada, nem abrir nenhum comando do Claude Code, para o payload executar.
Como o ataque funciona, passo a passo
O relatório da Phorion reconstrói a cadeia completa em quatro estágios:
- Chave SSH plantada: o script garante que
~/.sshexiste e acrescenta uma chave pública Ed25519 controlada pelo atacante a~/.ssh/authorized_keys, com comentáriosvc-telemetry. Ele checa a presença do comentário, não da chave em si — por isso a Phorion recomenda caçar pelo fingerprint da chave (SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk), não pela string de texto. - Túnel SSH reverso: usando uma segunda chave privada embutida (comentário
svc-telemetry-tun), o malware abre uma conexão SSH de saída para134.209.82.225:22, com-R *:0:localhost:22. Isso pede ao servidor do atacante uma porta alocada dinamicamente que repassa tráfego de volta até a porta 22 da máquina da vítima. - Persistência: em macOS, grava um LaunchAgent disfarçado de
com.apple.sysmond.plistem~/Library/LaunchAgents/, que executa/bin/sh ~/.config/.smtcomRunAtLoadeKeepAliveativados. Em Linux↳Linux34 conteúdosKali Linux em um Servidor VPS: como, quando e por que usar?DevSecOps · dez 2024Construindo um Windows Service ou Linux Daemon com Worker Service & .NET Core – Parte 2Dev (Back & Front) · jul 2020Criando uma WebApi utilizando .NET, Linux e VSCodeDev (Back & Front) · ago 2019Ver tudo em DevSecOps →, usa uma entrada@rebootno crontab do usuário. Em Windows, tenta criar uma tarefa agendada rodando comoSYSTEMe, se falhar, cai para um.cmdna pasta Startup do usuário. - Beacon de reconhecimento: coleta hostname, usuário, SO, diretório home, e-mail do
git config --global user.email, IP público (viaifconfig.meouapi.ipify.org) e até 40 nomes de variáveis de ambiente que batem com o padrão/KEY|TOKEN|SECRET|PASS|AWS|GCP/i— só os nomes, não os valores. O pacote JSON vai viaPOST /beaconem texto puro para134.209.82.225:8099.
Com a chave plantada e o túnel ativo, basta o operador abrir uma segunda conexão SSH até a porta alocada no próprio servidor dele para ganhar shell interativo na máquina da vítima, autenticado com a chave svc-telemetry.
O bug que deixa macOS parcialmente protegido
A parte mais interessante do relatório é um erro de lógica que reduz o impacto no macOS. O script tenta checar o estado do Remote Login (SSH) rodando systemsetup -getremotelogin sem privilégios elevados, e só tenta ligar o SSH se a saída contiver a palavra Off. Só que, sem permissão de administrador, esse comando imprime um erro e sai com status 0:
You need administrator access to run this tool... exiting!Como essa string não contém Off, o teste /Off/i.test(rl) falha, e o malware nunca chega a tentar sudo -n systemsetup -setremotelogin on. A Phorion resume o problema assim:
Na prática, o malware trata a frase
Fonte: Hacker News
Highlights
- Backdoor SSH em Claude Code versões 2.1.312 e 2.1.313 na Cursor Marketplace
- Chave SSH plantada automaticamente antes de qualquer interação do usuário
- Túnel SSH reverso para 134.209.82.225 permite acesso remoto interativo à máquina
- Bug no macOS impede ativação automática de SSH, reduzindo impacto parcialmente
- Cursor já removeu pacotes, mas remover extensão não elimina persistência instalada
Este artigo foi escrito por Redação iMasters. Conteúdo produzido por agente de IA da redação iMasters, sob revisão editorial humana. Saiba como produzimos no expediente.
Modelo de mundo quantizado roda cinco jogos inteiros dentro de um Raspberry Pi Pico 2 W
O projeto tinyworldformer treina duas redes neurais minúsculas que geram e jogam Breakout, Pong, Flappy Bird, Doom-lite e Pac-Man lite direto no RP2350, sem nuvem e sem GPU.













