
Duas extensões funcionais de assistente de código no Visual Studio Marketplace coletam arquivos abertos, alterações de código e perfis de dispositivo enquanto aparentam operar como ferramentas legítimas de IA.
| Componente | Extensões de IA para Microsoft Visual Studio Code distribuídas pelo Visual Studio Marketplace, incluindo ChatGPT - ChatMoss(CodeMoss) com ID zhukunpeng.chat-moss. |
| Vetor | Instalação voluntária de extensões anunciadas como assistentes de programação com IA; a coleta ocorre quando arquivos são abertos ou modificados no VS Code. |
| Impacto | Leitura de conteúdo de arquivos, envio de alterações de código em Base64 para aihao123[.]cn, exfiltração remota de até 50 arquivos do workspace e perfilamento por SDKs de analytics. |
| Prioridade | Auditar extensões de desenvolvimento, remover extensões suspeitas, revisar tráfego de saída para infraestrutura defangada e verificar exposição de segredos em repositórios locais. |
| Artefatos | Domínio aihao123[.]cn; SDKs Zhuge[.]io, GrowingIO, TalkingData e Baidu Analytics; iframe oculto de zero pixel em web view. |
| Supply chain | Também foram descritas falhas PackageGate em npm, pnpm, vlt e Bun capazes de contornar controles de scripts de ciclo de vida e integridade de lockfiles em determinadas condições. |
Duas extensões para Microsoft Visual Studio Code promovidas como assistentes de programação com IA foram identificadas com comportamento compatível com spyware de ambiente de desenvolvimento. Elas mantêm funcionalidade aparente de produto legítimo, incluindo sugestões de autocomplete e explicação de erros de código, mas incorporam rotinas ocultas para observar o trabalho do desenvolvedor dentro do editor. O risco central não está apenas na presença de código malicioso, mas no fato de a extensão operar no mesmo ambiente onde ficam arquivos de aplicação, segredos acidentais, chaves em configuração local, trechos proprietários e lógica sensível ainda não publicada.
As extensões somam 1,5 milhão de instalações e permaneciam disponíveis para download no Visual Studio Marketplace no momento descrito. Uma delas é ChatGPT - ChatMoss(CodeMoss), identificada como zhukunpeng.chat-moss, com 151.751 instalações. O material recebido informa que as duas extensões compartilham código malicioso idêntico, executado sob nomes de publicadores diferentes. A campanha foi denominada MaliciousCorgi e combina exfiltração de arquivos, monitoramento por evento de edição e fingerprinting de dispositivo por meio de SDKs comerciais de analytics baseados na China.
O mesmo conjunto de descobertas também aborda PackageGate, nome dado a seis vulnerabilidades zero-day em gerenciadores de pacotes JavaScript como npm, pnpm, vlt e Bun. Essas falhas podem enfraquecer controles usados contra ataques de supply chain, especialmente bloqueio de scripts de ciclo de vida e confiança em lockfiles. As correções citadas incluem pnpm 10.26.0, vlt 1.0.0-rc.10 e Bun 1.3.5; para pnpm, duas vulnerabilidades são rastreadas como CVE-2025-69264 e CVE-2025-69263.
O fluxo malicioso das extensões começa no ponto de confiança do próprio editor. Ao instalar uma extensão de assistência por IA, o usuário concede a ela capacidade de interagir com arquivos e eventos do workspace. Nesse caso, a extensão lê o conteúdo de todo arquivo aberto, codifica esse conteúdo em Base64 e o envia para o domínio aihao123[.]cn. O processo também é acionado a cada edição, o que transforma o editor em uma fonte contínua de telemetria de código. Mesmo que o repositório remoto não tenha sido comprometido, arquivos locais, rascunhos, credenciais esquecidas em .env, configurações de build e mudanças ainda não revisadas podem sair do ambiente do desenvolvedor.
Além da coleta por eventos locais, as extensões incluem um recurso de monitoramento em tempo real que pode ser acionado remotamente pelo servidor. Quando ativado, esse mecanismo pode causar a exfiltração de até 50 arquivos do workspace. Esse detalhe altera a avaliação de impacto: não se trata apenas de vazamento de trechos abertos pelo usuário, mas de capacidade de seleção e extração mais ampla dentro do projeto acessível ao VS Code. O contexto não informa exploração de privilégio no sistema operacional, persistência fora da extensão ou movimentação lateral; portanto, o impacto confirmado deve ser limitado à exposição de código, arquivos do workspace e dados derivados do ambiente de desenvolvimento.
A web view da extensão também contém um iframe oculto de zero pixel que carrega quatro SDKs de analytics: Zhuge.io, GrowingIO, TalkingData e Baidu Analytics. A função descrita para esse componente é fingerprinting de dispositivos e criação de perfis extensos de usuários. Para defesa, isso significa que a investigação deve considerar tanto requisições diretas de exfiltração quanto chamadas de telemetria e analytics incomuns originadas de processos vinculados ao VS Code. Em ambientes corporativos, esse tráfego pode aparecer como saída HTTPS legítima a partir da estáção do desenvolvedor, o que exige correlação com inventário de extensões e atividade recente no editor.
No eixo PackageGate, o problema está na confiança em controles que muitas equipes tratam como barreiras suficientes contra execução automática de código durante instalação de dependências. Desabilitar scripts de ciclo de vida e versionar lockfiles continua sendo uma prática defensiva importante, mas as falhas descritas mostram que determinadas combinações em npm, pnpm, vlt e Bun podem burlar a expectativa de bloqueio ou integridade. O caso do npm é tratado como comportamento intencional quando uma dependência instalada via Git contém script prepare, porque instalar esse tipo de dependência implica confiar no conteúdo completo do repositório e em seus arquivos de configuração.
A superfície mais exposta é composta por estáções de trabalho de desenvolvimento que usam VS Code e aceitam extensões de marketplace sem validação prévia. Times que adotam assistentes de código com IA por produtividade ficam particularmente vulneráveis quando a avaliação se limita a popularidade, número de instalações ou aparência funcional. Como as extensões entregam recursos esperados, a ausência de erro visível não reduz o risco. O comportamento malicioso ocorre em segundo plano, atrelado a eventos normais de abertura e edição de arquivos.
Projetos com código proprietário, chaves de API armazenadas localmente, tokens em arquivos de configuração, segredos temporários em scripts, integrações de CI/CD e dependências privadas têm maior impacto potencial. O contexto confirma exfiltração de conteúdo de arquivos e modificações de código, mas não confirma uso posterior dos dados, publicação de código roubado ou comprometimento de contas. Ainda assim, a simples saída não autorizada de arquivos de desenvolvimento já exige resposta de segurança, porque o conteúdo pode conter material suficiente para engenharia reversa, descoberta de segredos e preparação de ataques contra pipelines.
- Visual Studio Code com extensões de IA instaladas a partir do Visual Studio Marketplace.
- Workspaces contendo código-fonte, arquivos de configuração, dependências privadas ou segredos acidentais.
- Ambientes que permitem instalação de extensões sem allowlist, revisão de permissões ou inspeção de tráfego.
- Projetos JavaScript que dependem de npm, pnpm, vlt ou Bun e confiam apenas em bloqueio de scripts e lockfiles como controle de supply chain.
A investigação deve começar pelo inventário de extensões instaladas no VS Code, com foco em nomes, IDs de publicador, data de instalação, atualização recente e presença de zhukunpeng.chat-moss. Como o contexto menciona duas extensões com infraestrutura maliciosa idêntica, a busca não deve depender somente de um nome comercial. É necessário procurar padrões de comportamento: web views com iframes ocultos, chamadas para analytics não esperados e código de extensão que lê documentos abertos e envia conteúdo codificado para domínios externos.
Na camada de rede, a defesa deve procurar conexões para aihao123[.]cn usando o formato defangado para documentação e bloqueio controlado. Também é relevante revisar tráfego para plataformas de analytics citadas quando originado de processos do VS Code, especialmente em estáções que não deveriam acionar esses serviços durante desenvolvimento. No endpoint, eventos de extensão, histórico de instalação, diretórios de extensões do usuário, alterações recentes e atividade de abertura massiva de arquivos ajudam a delimitar janela de exposição. Para projetos com segredos, a resposta deve assumir que qualquer arquivo aberto ou modificado durante o período de instalação pode ter sido observado.
Para PackageGate, a telemetria precisa cobrir instalações de dependências, uso de dependências Git, presença de scripts prepare, mudanças em lockfiles e execução inesperada de scripts de ciclo de vida. O objetivo não é bloquear todo fluxo de desenvolvimento, mas detectar quando a instalação de pacote cria comportamento que a política da organização acreditava ter desabilitado. Em pipelines, logs de instalação, caches de pacotes, artefatos de build e permissões de tokens de publicação devem ser revisados em conjunto.
- Conexões de processos do VS Code para
aihao123[.]cnou para analytics Zhuge.io, GrowingIO, TalkingData e Baidu Analytics sem justificativa operacional. - Instalação da extensão
ChatGPT - ChatMoss(CodeMoss)ou do IDzhukunpeng.chat-mossem estáções de desenvolvimento. - Extensões com código que lê arquivos abertos, reage a eventos de edição e transmite conteúdo codificado em Base64.
- Instalações JavaScript envolvendo dependências Git com script
preparee comportamento inesperado apesar de controles de scripts de ciclo de vida.
A primeira medida é remover extensões suspeitas e preservar evidências suficientes para investigação, incluindo lista de extensões, horários de instalação, versões disponíveis localmente e logs de rede. Em seguida, as equipes devem revisar quais repositórios estavam abertos no VS Code durante a janela de exposição. Arquivos sensíveis que possam ter sido abertos, editados ou localizados no workspace precisam entrar em triagem de segredo: tokens, chaves, credenciais de serviço, URLs internas, configurações de nuvem e material de pipeline devem ser rotacionados quando houver possibilidade razoável de exposição.
A governança de extensões deve ser tratada como controle de supply chain. Organizações com ambientes de desenvolvimento gerenciados devem adotar allowlist, bloquear instalação direta de extensões não aprovadas, exigir revisão de origem e monitorar atualizações. Popularidade e funcionalidade aparente não são garantias suficientes, porque as extensões descritas operam como prometido enquanto executam coleta oculta. Para equipes que usam assistentes de IA, a aprovação deve incluir análise de telemetria, política de envio de código, infraestrutura de backend e comportamento local da extensão.
No eixo PackageGate, as versões corrigidas citadas devem ser priorizadas onde aplicável: pnpm 10.26.0, vlt 1.0.0-rc.10 e Bun 1.3.5. Para pnpm, a correção cobre vulnerabilidades rastreadas como CVE-2025-69264 e CVE-2025-69263. Como npm não tratou o comportamento descrito como falha a ser corrigida no mesmo modelo, projetos que instalam dependências via Git precisam avaliar explicitamente a confiança nesses repositórios e seus arquivos de configuração. Adoção de publicação confiável, tokens granulares, expiração curta e 2FA obrigatório reduz o impacto caso um pacote ou fluxo de publicação seja abusado.
- Remover extensões suspeitas do VS Code e bloquear reinstalação por política de endpoint ou marketplace corporativo.
- Rotacionar segredos que possam ter estado em arquivos abertos, editados ou presentes no workspace acessível pela extensão.
- Criar allowlist de extensões aprovadas e revisar permissões, web views, chamadas externas e comportamento de leitura de arquivos antes da liberação.
- Atualizar pnpm, vlt e Bun para as versões corrigidas citadas e revisar uso de dependências Git com scripts
prepare. - Aplicar tokens granulares, 2FA obrigatório e publicação confiável em fluxos de pacotes para reduzir abuso de credenciais e publicação maliciosa.
0 Comentários