Ataque de 11 horas expõe falhas críticas em IDEs com IA

Dois problemas de segurança graves atingiram o Cursor no mesmo dia, evidenciando os riscos para ambientes de desenvolvimento integrados (IDEs) impulsionados por inteligência artificial. A extensão oficial do Claude Code, da Anthropic, para o marketplace do Cursor no VS Code foi sequestrada e substituída por uma versão maliciosa com backdoor persistente.

O ataque, que lemba a operação SolarWinds em miniatura, durou apenas 11 horas, das 9h27 GMT às 20h35 GMT de 29 de outubro, conforme divulgado pelo Cursor. Qualquer desenvolvedor que baixou ou atualizou o Claude Code em seu IDE Cursor durante esse período recebeu a versão maliciosa 2.1.313, que roubou dados sensíveis dos computadores infectados e, em uma minoria de casos, poderia conceder aos atacantes acesso persistente e privilegiado aos sistemas dos usuários.

O Cursor declarou que “no máximo 5.000 usuários foram afetados” e que serão contactados diretamente sobre o incidente. Separadamente no mesmo dia, pesquisadores descreveram uma explorem não relacionada no Cursor, permitindo que atacantes implantassem código arbitrário nos máquinas dos desenvolvedores por meio do navegador embutido do Cursor.

Para alguns, a noção de uma extensão comprometida pode evocar extensões de navegador, que são tão frequentemente vulneráveis, suspeitas e diretamente maliciosas que notícias de cibersegurança sobre elas tendem a não causar muito pânico, mesmo em casos extremos. Extensões em ambientes de codificação são um animal diferente. “Extensões de IDE são mais assustadoras do que extensões de navegador, porque, ao contrário das extensões de navegador, são projetadas para ter o mesmo nível de permissões que seu host”, disse Gal Weizman, pesquisador de segurança da Forever Security, ao Dark Reading. “Elas podem executar código, acessar o sistema de arquivos, fazer requisições de rede e muito mais”.

Na quinta-feira, um atacante tentou usar o poder concedido pelas extensões de ambiente de codificação ao infiltrar um loader de 66 linhas em cima do código legítimo da extensão real. De acordo com uma análise da plataforma de inteligência de ameaça comunitária OpenSourceMalware, tudo na extensão permaneceu igual, exceto por essa única edição no arquivo extension.js. Assim que a extensão foi carregada, sem necessidade de o usuário estabelecer uma conversa Claude, o novo arquivo é acelerado. Ele tenta adicionar uma chave controlada pelo atacante nas configurações SSH das vítimas, com o objetivo de estabelecer túneis reversos que funcionem como backdoor nos sistemas comprometidos.

A extensão maliciosa também tenta tornar essas conexões persistentes registrando processos em segundo plano: para sistemas macOS, um LaunchAgent; e para Windows, tarefas programadas com privilégios de sistema, mais um script de inicialização alternativo. Todo esse empreendimento estava condenado ao início, escreveu o Cursor, pois ativar o serviço SSH local requer privilégios administrativos, que a extensão Claude Code possui apenas em “circunstâncias altamente incomuns”. As vítimas não estiveram totalmente fora de perigo, pois o código malicioso também exfiltrou informações do sistema por meio de requisições Web separadas. Os dados roubados foram limitados a nomes de host, nomes de usuários, sistemas operacionais (SO), arquiteturas de SO, caminhos de diretório home, nomes de variáveis de ambiente, diretórios de trabalho, e-mails Git configurados e endereços IP públicos.

A divulação pública do Cursor sugere que o incidente de segurança foi seu, não da Anthropic. A versão maliciosa “não foi desenvolvida pela Anthropic”, relatou a empresa dona do SpaceX. Em resposta à descoberta, o Cursor adotou uma variedade de medidas para proteger-se: rotacionou suas chaves, verificou adulterações em outras extensões e levou seu marketplace temporariamente offline para reconstruído. Também trabalhou com o provedor de hospedagem em nuvem relevante para derrubar a infraestrutura maliciosa do atacante. O Cursor não especificou como ocorreu a invasão inicial. Reconhecendo que ainda não se sabe o que aconteceu, Weizman explica: “Historicamente, a maneira mais comum como extensões e plug-ins são sequestradas é através de roubo de credenciais armazenadas localmente que permitem publicar novas versões desses pacotes”.

“Habilitar a autenticação de dois fatores (2FA) para publicar essas extensões é uma excelente maneira de mitigar significativamente esse risco no futuro. Depender de um token de acesso como única barreira para push de software tão crítico aumenta significativamente o risco de isso acontecer”, acrescenta. No mesmo dia do ataque ao Cursor Anthropic, Weizman publicou uma pesquisa separada detalhando fraquezas nos navegadores embutidos dos principais assistentes de IA desktop hoje, que poderiam ser exploradas com efeito devastador. Seus casos de teste incluíram Claude Desktop, GitHub Copilot, Codex, VS Code e Cursor. O Cursor tem, de longe, o pior problema do grupo.

Nos experimentos, a equipe de Weizman criou um site limpo, com um chip HTML visível ocultando um comando shell malicioso em seus atributos. Depois abriram o site no navegador embutido do Cursor. “Quando o comando atingiu o sandbox de segurança do Cursor e foi bloqueado, o agente, por conta própria, sem nada na página dizendo para ele, desligou o sandbox e tentou novamente. O controle funcionou. O agente convenceu a si mesmo a não usar”, escreveu Weizman no relatório. O ataque não funcionou universalmente em todos os modelos. Quando funcionou, a fuga do navegador permitiu que os pesquisadores implantassem um aplicativo arbitrário no computador da vítima de teste. E assim como a extensão maliciosa do Claude Code, o aplicativo foi executado com as permissões completas da vítima. O Cursor não respondeu à divulgacao da Forever Security, mas a empresa corrigiu silenciosamente o problema em 1º de outubro. “As IDEs estão se tornando mais agentivas. Estão sendo dadas capacidades agentivas, o que pode introduzir arquiteturas perigosas. Pode ser muito arriscado quando as coisas dão errado”, diz Weizman. “Aqui tivemos dois exemplos disso: o navegador embutido”.

Com informações de: Dark Reading