Extensões do VSCode com 9 milhões de downloads são removidas por riscos de segurança

Extensões do VSCode com 9 milhões de downloads são removidas por riscos de segurança
Microsoft exclui temas populares por suspeita de código malicioso.
Compartilhe

A Microsoft retirou do Visual Studio Marketplace duas extensões populares do VSCode, ‘Material Theme – Free’ e ‘Material Theme Icons – Free’, alegando que continham código suspeito.

As extensões eram amplamente utilizadas, acumulando quase 9 milhões de downloads. Agora, os usuários recebem alertas no VSCode informando que as extensões foram desativadas automaticamente.

O criador das extensões, Mattia Astorino (conhecido como equinusocio), possui diversas outras extensões na plataforma, somando mais de 13 milhões de instalações.

As suspeitas sobre o caráter malicioso das extensões foram levantadas pelos especialistas em segurança cibernética Amit Assaraf e Itay Kruk, que têm experiência na análise de extensões do VSCode em busca de ameaças.

Em um relatório divulgado hoje, os pesquisadores relataram ter encontrado código potencialmente perigoso nas extensões e informaram a Microsoft sobre a descoberta.

Leia também

“A Microsoft removeu ambas as extensões do marketplace do VS Code e suspendeu o desenvolvedor”, afirmou um funcionário da empresa em uma publicação no Hacker News do YCombinator.

“Um membro da comunidade realizou uma análise detalhada de segurança e identificou diversos sinais preocupantes, indicando uma possível intenção maliciosa. Nossa equipe de segurança confirmou as suspeitas e encontrou mais código suspeito.”

“A conta do desenvolvedor foi banida do VS Marketplace, e todas as suas extensões foram removidas, além de terem sido automaticamente desinstaladas dos dispositivos que as possuíam. Para esclarecer, essa decisão não está relacionada a questões de direitos autorais ou licenciamento, mas exclusivamente a potenciais riscos de segurança.”

Os pesquisadores explicaram ao BleepingComputer que seu scanner especializado detectou comportamento suspeito no código da extensão. Segundo Amit Assaraf, o código malicioso pode ter sido inserido em uma atualização, sugerindo um ataque à cadeia de suprimentos via uma dependência comprometida ou o comprometimento da conta do desenvolvedor.

Além disso, eles destacaram que temas deveriam ser arquivos JSON estáticos e não executar scripts, tornando a execução de código um comportamento suspeito.

O BleepingComputer analisou os arquivos “release-notes.js” e constatou que continham JavaScript altamente ofuscado, um sinal de alerta para software de código aberto.

A tentativa de desofuscar o código revelou diversas referências a credenciais, mas, devido à complexidade do arquivo, não foi possível determinar de que forma essas informações eram utilizadas.

A Microsoft informou que em breve divulgará mais detalhes sobre as extensões e quaisquer atividades maliciosas detectadas no repositório GitHub do VSMarketplace.

O desenvolvedor das extensões, Mattia Astorino, negou qualquer intenção maliciosa e afirmou que os problemas foram causados por uma dependência desatualizada do Sanity.io, que teria sido comprometida.

“Caro @gegtor, nada prejudicial foi adicionado ao Material Theme”, escreveu Astorino no repositório VSMarketplace da Microsoft.

“Usávamos uma dependência antiga do sanity.io desde 2016 para exibir notas de versão do CMS headless Sanity. Esse foi o único problema identificado.”

“Essa dependência estava lá há anos, passando por todas as verificações até agora. De repente, foi comprometida, mas a Microsoft não entrou em contato conosco para resolver o problema. Simplesmente removeram tudo, prejudicando milhões de usuários e criando um ciclo problemático no VSCode.”

“Eles desativaram as extensões sem nos dar a chance de esclarecer. Remover a dependência levaria 30 segundos, mas parece que a Microsoft prefere agir assim. Além disso, nossa extensão inclui um arquivo index.js ofuscado, pois agora é um software de código fechado. No entanto, se removido, a extensão ainda funciona normalmente com arquivos JSON simples.”

Enquanto a situação não se esclarece, recomenda-se excluir as seguintes extensões de todos os projetos:
• equinusocio.moxer-theme
• equinusocio.vsc-material-theme
• equinusocio.vsc-material-theme-icons
• equinusocio.vsc-community-material-theme
• equinusocio.moxer-icons

Após a remoção de suas extensões, Astorino publicou uma nova alternativa chamada “Fanny Themes” no VSCode Marketplace, que também foi retirada pela Microsoft.

Em resposta às dúvidas sobre o arquivo release-notes.js, Astorino reafirmou no GitHub que a falha estava na dependência do @sanity, que poderia ter sido corrigida rapidamente se ele tivesse sido informado.

“O arquivo de notas de versão foi criado em 2016 para exibir mudanças do sanity.io, um CMS headless”, explicou Astorino ao BleepingComputer.

“Eu não o modifiquei desde então, pois estava focado em novas versões da extensão. O único problema foi a dependência @sanity, que acabou comprometida, mas eu não sabia disso.”