Alguns plug-ins para Visual Studio Code, uma popular ferramenta de edição de código desenvolvida pela Microsoft, parece ter código malicioso. Em particular, um com mais 45,000 downloads é capaz de roubar dados pessoais. O alarme comunitário forçou a rápida remoção destas pragas, mas pode ser o primeiro broto de algo maior.
O que é VS Code e seus plugins?
Para quem não está familiarizado com o assunto, Visual Studio Code é um utilitário de edição de código da Microsoft. Isto ganhou grande popularidade, graças à sua rica funcionalidade, interface fácil e alta compatibilidade. Parte de sua funcionalidade é fornecida por módulos plug-in que estão disponíveis em um Visual Studio Marketplace dedicado. Ele contém cerca de 50 mil extensões para uma ampla variedade de finalidades. Este último permite que qualquer pessoa carregue extensões, com o único requisito de ter uma conta da Microsoft conectada ao perfil do VS Marketplace. Outra parte da política da Microsoft é o direito de remover a extensão se ela não estiver em conformidade com os requisitos do mercado. Eles até implementaram um sistema especial que deve ajudar a revelar quaisquer plugins malignos ou indesejados – e funcionou bem até o último momento.
Essa publicação “gratuita” é uma boa ideia quando vivemos numa sociedade ideal. No entanto, esta condição está totalmente errada – e uma longa história de batalha com malicious web browser plugins in the Chrome Web Store é um excelente exemplo. O abuso da liberdade de publicação no VS Marketplace dificilmente atingirá a mesma escala, mas ainda pode ser uma dor no pescoço. Bem, parece que já é um, enquanto os hackers encontraram uma maneira de contornar o sistema de segurança que mencionei acima.
Plug-ins maliciosos VSCode roubam dados
Pesquisadores que inspecionaram todo o caso notei vários plugins com funcionalidade questionável ou mesmo maliciosa. Apesar disso, o mais notável é Darcula Dark – que já marcou mais de 45 mil instalações. É anunciado como um configurador de aparência, mas contém um código que possui algumas funcionalidades duvidosas. Obviamente, tal telemetria não é algo que deveria estar no plugin de tema escuro.
Alguns outros plug-ins questionáveis têm muito menos downloads, mas a funcionalidade deles é ainda mais estranha. Embora a coleta de telemetria tenha uma desculpa bastante direta e benevolente, não há ninguém para pedaços de código necessário para injeção de malware. O plugin que imita a extensão de desenvolvimento Python contém strings de código C# claras e bastante comuns, usado para lançamento de malware.
Quão perigosos são os plug-ins VSCode maliciosos?
Não muito, na verdade. Mesmo os detectados não são tão ruins – especialmente considerando sua rápida remoção. No entanto, nem todos eles serão tão perceptíveis, e pode criar muito mais problemas. VSCode está entre os programas confiáveis, e a maioria dos softwares antimalware provavelmente aceitará qualquer uma de suas ações como legítimas. A melhor maneira de garantir se o plugin é seguro ou não é verificar seu código fonte. Felizmente, é possível para cada plugin, pois faz parte da política de publicações da MS no Marketplace. E não acho que será um desafio para os programadores para identificar coisas suspeitas no código.
A outra questão é quão bem o sistema de proteção da Microsoft funcionará no futuro. No momento, isso funciona bem, mas este evento exato provavelmente criará um efeito Streisand. Depois de um material questionável enviado com sucesso, dezenas de outros exemplos podem surgir – e ninguém pode dizer com que rapidez serão neutralizados.
Como se proteger de tais ameaças?
Considerando que malware em plug-ins do Visual Studio Code é uma ameaça bastante incomum, sua contra-ação não chegará nem perto do conselho comum. E, francamente, não há muitas coisas que você possa fazer como um único usuário, exceto para medidas proativas. Programas antimalware com política de confiança zero são representados apenas com soluções de nível corporativo – não é uma opção adequada para proteção pessoal. Por essa razão, Eu ofereceria apenas uma solução possível.
Verifique o que você baixou, de todas as perspectivas. Comentários do usuário, contador de downloads, o desenvolvedor e o código-fonte devem receber uma verificação diligente. Qualquer feedback questionável ou problemático é uma bandeira vermelha, o que deve impedir você de usá-lo. Outra coisa a evitar é o namequatting, ou seja. usando um nome semelhante ao usado por um plugin amplamente utilizado. Essa prática é difundida em diferentes práticas de falsificação, e está presente até no VSCode Marketplace.