VSCode: extensões maliciosas – mais de 45.000 downloads – PII expostas e backdoors ativados

VSCode (abreviação de Visual Studio Code) é um editor de código-fonte popular e gratuito desenvolvido pela Microsoft.

Destaques:

  1. CloudGuard Spectral detectou extensões maliciosas no mercado VSCode
  2. Os usuários que instalavam essas extensões permitiam que invasores roubassem registros PII e configurassem shell remoto em suas máquinas
  3. Uma vez detectados, alertamos o VSCode sobre essas extensões. Logo após a notificação, eles foram removidos pela equipe do marketplace VSCode.

VSCode (abreviação de Visual Studio Code) é um editor de código-fonte popular e gratuito desenvolvido pela Microsoft. É um ambiente de codificação eficiente e personalizável que pode oferecer suporte a uma ampla variedade de linguagens de programação, estruturas e ferramentas. VSCode ganhou muita popularidade nos últimos anos e se tornou um dos editores de código mais populares entre os desenvolvedores. Um dos principais motivos é o VSCode Extensions Marketplace , um hub central onde os desenvolvedores podem descobrir e instalar novas extensões para aprimorar sua experiência de codificação. O mercado inclui extensões oficiais da Microsoft e de terceiros desenvolvidas pela comunidade.

Hoje, o mercado inclui cerca de 50 mil extensões. As extensões VSCode são complementos que podem ser instalados para atualizar a funcionalidade do editor. Eles podem ser usados ​​para adicionar novos recursos, oferecer suporte a novas linguagens de programação, integrar-se a ferramentas e serviços externos e muito mais. Extensões maliciosas podem representar um risco de segurança para os usuários ao instalar malware, roubar dados do usuário ou realizar outras ações prejudiciais.

Para evitar a distribuição de extensões maliciosas, a Microsoft implementou várias medidas de segurança para o VSCode Extensions Marketplace, como ferramentas automáticas de verificação de extensões para detectar e remover extensões maliciosas do mercado e análises e classificações de usuários para identificar e relatar extensões maliciosas. Até hoje, quase nenhuma extensão maliciosa foi publicada para ser detectada no mercado VSCode.

Os agentes de ameaças continuam procurando novas maneiras de infectar os usuários, e os componentes de código-fonte aberto podem ser uma fonte comum de infecções, especialmente as mais comuns. Como tal, decidimos investigar extensões VSCode em busca de extensões maliciosas.

Como parte de nossa análise, encontramos e divulgamos algumas extensões maliciosas para a equipe do VSCode, com uma contagem total de mais de 45 mil instalações. Também encontramos extensões com padrões de código suspeitos, mas sem indicadores maliciosos claros. Uma vez detectadas, divulgamos nossas descobertas à equipe do VSCode e as extensões foram removidas.

Essas descobertas contínuas destacam a necessidade de verificar cada componente de código aberto, e não apenas assumir que tudo ficará bem. Incluímos detalhes sobre nossas descobertas específicas abaixo.

O mercado de extensões VSCode

Extensões maliciosas com mais de 45.000 instalações

Java mais bonito

A primeira extensão mencionada foi chamada de ‘java mais bonito’. Com base em sua breve descrição, ele deveria ser um ‘ajudante de Java’, provavelmente um simples agachamento de nomes , tentando enganar os usuários imitando o popular projeto de formatador de código Prettier-Java . Olhando para o código de extensão, pudemos testemunhar um código clássico de ladrão de PII, bastante comum na distribuição PyPI , procurando segredos locais e enviando-os ao invasor usando um webhook do Discord.

A descrição da extensão do mercado VSCode

Tema Darcula escuro

A próxima extensão a ser mencionada foi chamada de ‘Tema Darcula dark’, com base em sua descrição, era para ser ‘uma tentativa de melhorar a consistência das cores do Drácula no VS Code, tornando-o mais agradável aos olhos durante as sessões de codificação’. Esta extensão foi interessante por dois motivos; primeiro, era bastante popular, com mais de 45 mil instalações. O segundo é o código malicioso contido nele. Embora a extensão devesse ser uma configuração de tema simples (nenhum código deveria ser incluído), ela tinha um código simples de ladrão de PII, que é bastante comum entre pacotes maliciosos NPM, enviando muitos metadados relativos às configurações do instalador para uma máquina remota. Código que não deveria existir, especialmente para o suposto tema do editor.

Python-vscode

A última extensão maliciosa foi chamada de ‘python-vscode’. Embora a extensão não tivesse uma descrição (e, portanto, a maioria dos usuários nem deveria estar ciente ou prestar atenção), testemunhar sua contagem relativamente alta de instalações indica que ela conseguiu atrair usuários do VSCode para baixá-la e instalá-la – infectando efetivamente aqueles instaladores. Uma explicação para isso é a nomenclatura da extensão, que pode enganar os usuários, fazendo-os presumir que se trata de um habilitador de VSCode de desenvolvimento em Python. Olhando para o código de extensão, encontramos uma instrução ofuscada sendo injetada na máquina instaladora. Curiosamente, esse código era um padrão de código injetor de shell C# comum.

A descrição da extensão do mercado VSCode

Trecho do código .js principal da extensão, injetando código C# ofuscado

Provavelmente o código malicioso de referência, encontrado no Github

Suspeito, mas não claramente malicioso

Como parte de nossa análise, encontramos vários casos em que as extensões usavam padrões de código suspeitos, mas, ao mesmo tempo, não eram claramente maliciosas. Os casos mais notáveis ​​foram aqueles que usaram registros privados para instalar os pacotes necessários (em vez do NPM, que pode ser uma forma de infiltrar pacotes maliciosos silenciosamente) e aqueles que baixaram recursos de endereços IP gerais. Ambos podem, teoricamente, ser abusados ​​para infectar instaladores, mas atualmente não parecem incluir evidências claras de que seja esse o caso.

Divulgação

Divulgamos as extensões maliciosas do VSCode e, logo depois, a equipe do mercado do VSCode as removeu.

Divulgação – cronograma

4 de maio de 2023 – divulgação submetida ao VSCode

8 de maio de 2023 – A equipe VSCode reconheceu o envio

14 de maio de 2023 – extensões maliciosas foram removidas do mercado VSCode

Um risco crescente

É importante enfatizar que as extensões maliciosas que encontramos não são novas; a maioria deles tem ainda mais de um ano. Este facto realça novamente o risco dos componentes de código aberto; ninguém garante que as fontes abertas que usamos sejam benignas e é nossa responsabilidade verificá-las.

Os ataques à cadeia de abastecimento estão a tornar-se mais frequentes. Portanto, é essencial garantir que estamos seguros e verificar novamente cada ingrediente de software que usamos, especialmente aqueles que não criamos. Na Check Point, nosso objetivo é gerar um processo de desenvolvimento seguro para garantir que os desenvolvedores façam as coisas certas (em termos de segurança). Como parte desse esforço, o CloudGuard Spectral verifica constantemente o PyPI e o NPM em busca de pacotes maliciosos para evitar riscos de ataque à cadeia de suprimentos , mantendo seu código limpo, os aplicativos seguros e os atores mal-intencionados afastados.