Forks do VSCode Expoem Usuarios a Ataques Atraves de Extensoes Recomendadas: O Que Voce Precisa Saber
Olá HaWkers, uma descoberta recente de segurança está gerando preocupação na comunidade de desenvolvedores. Pesquisadores identificaram que forks populares do Visual Studio Code podem estar expondo usuários a ataques através do sistema de "extensões recomendadas" presente em projetos.
Se você usa VSCodium, Cursor, ou qualquer outro fork do VSCode, este artigo é essencial para entender os riscos e como se proteger.
O Que Foi Descoberto
O problema está relacionado ao arquivo .vscode/extensions.json que muitos projetos utilizam para recomendar extensões aos desenvolvedores que abrem o repositório.
Como O Ataque Funciona
O fluxo do ataque:
- Atacante cria ou contribui para um repositório popular
- Adiciona extensão maliciosa ao arquivo
extensions.json - Desenvolvedor clona o projeto e abre no fork do VSCode
- IDE sugere instalação das extensões recomendadas
- Usuário aceita pensando ser legítimo
- Extensão maliciosa ganha acesso ao sistema
Por Que Forks São Mais Vulneráveis
O VSCode oficial da Microsoft tem processos de verificação mais rigorosos para o marketplace. Já os forks frequentemente:
Usam marketplaces alternativos:
- Open VSX Registry (VSCodium)
- Marketplaces próprios (Cursor)
- Instalação direta de .vsix
Têm menos recursos de verificação:
- Equipes menores
- Menos análise automatizada
- Revisão manual limitada
Confiam em extensões da comunidade:
- Sem verificação de identidade do autor
- Sem análise de código obrigatória
- Atualizações sem revisão
O Escopo Do Problema
Esta vulnerabilidade não é teórica. Casos reais já foram documentados e o impacto potencial é significativo.
Capacidades de Extensões Maliciosas
Uma extensão instalada no seu editor pode:
Acesso a arquivos:
- Ler qualquer arquivo do workspace
- Acessar arquivos fora do projeto
- Modificar código fonte silenciosamente
Execução de código:
- Executar comandos no terminal
- Fazer requisições de rede
- Instalar software adicional
Roubo de credenciais:
- Capturar tokens de API
- Ler arquivos .env
- Interceptar entradas de teclado
Persistência:
- Modificar configurações do editor
- Adicionar scripts de inicialização
- Instalar outras extensões
Projetos Em Risco
Qualquer projeto com arquivo extensions.json pode ser vetor de ataque:
Frameworks populares:
- Templates de React, Vue, Angular
- Boilerplates de Node.js
- Projetos de cursos e tutoriais
Repositórios corporativos:
- Monorepos de empresas
- Bibliotecas open source
- SDKs e ferramentas internas
Como Verificar Suas Extensoes
Antes de instalar qualquer extensão, é essencial verificar sua legitimidade.
Checklist de Verificação
1. Verifique o publicador:
# No terminal do VSCode, liste extensões instaladas
code --list-extensions --show-versionsCompare com os publicadores oficiais:
- Microsoft deve ter verificação de conta
- Extensões populares devem ter milhares de downloads
- Verifique o link do repositório GitHub
2. Analise o código fonte:
Para extensões críticas, clone o repositório e revise:
# Clone o repositório da extensão
git clone https://github.com/publisher/extension-name
# Procure por código suspeito
grep -r "exec\|spawn\|fetch\|http" src/3. Verifique permissões solicitadas:
No package.json da extensão, procure por:
{
"activationEvents": ["*"],
"contributes": {
"commands": []
}
}Extensões que ativam em todos os eventos (*) merecem atenção extra.
Extensões a Serem Removidas Imediatamente
Se você encontrar extensões com estas características, remova-as:
Sinais de alerta:
- Publicador desconhecido com poucos downloads
- Nome similar a extensões populares (typosquatting)
- Última atualização há muito tempo
- Sem repositório público
- Permissões excessivas para a função
Protegendo Seu Ambiente
Existem várias medidas que você pode tomar para reduzir riscos.
Configurações de Segurança
1. Desabilite recomendações automáticas:
No settings.json do seu editor:
{
"extensions.ignoreRecommendations": true,
"extensions.autoCheckUpdates": false,
"extensions.autoUpdate": false
}2. Use workspace trust:
{
"security.workspace.trust.enabled": true,
"security.workspace.trust.untrustedFiles": "prompt"
}3. Restrinja execução de tarefas:
{
"task.allowAutomaticTasks": "off",
"terminal.integrated.allowWorkspaceConfiguration": false
}Boas Práticas Para Equipes
Auditoria de extensões:
- Mantenha lista aprovada de extensões
- Revise
extensions.jsonem code reviews - Use ferramentas de análise de dependências
Políticas de segurança:
- Documente extensões permitidas
- Treine desenvolvedores sobre riscos
- Monitore instalações suspeitas
O Que Os Mantenedores de Forks Estão Fazendo
As equipes por trás dos principais forks já estão tomando medidas.
VSCodium
Ações em andamento:
- Melhorias no Open VSX Registry
- Verificação adicional de extensões
- Documentação de segurança atualizada
Cursor
Resposta da equipe:
- Análise do marketplace próprio
- Sandboxing de extensões em desenvolvimento
- Alertas para extensões não verificadas
Comunidade
Iniciativas comunitárias:
- Listas de extensões seguras
- Ferramentas de análise automatizada
- Guides de segurança para desenvolvedores
Alternativas Mais Seguras
Se segurança é prioridade máxima, considere estas opções.
Usar VSCode Oficial
O marketplace da Microsoft tem:
- Verificação de publicadores
- Análise automatizada de malware
- Processo de revisão mais rigoroso
- Equipe dedicada de segurança
Containers de Desenvolvimento
Use ambientes isolados:
// devcontainer.json
{
"name": "Secure Dev",
"image": "mcr.microsoft.com/devcontainers/base",
"customizations": {
"vscode": {
"extensions": [
"extensao-verificada.id"
]
}
}
}Sandboxing Local
Execute o editor em ambiente isolado:
No macOS:
- App Sandbox nativo
- Firejail para Linux
Docker:
FROM codercom/code-server:latest
# Ambiente isolado para desenvolvimentoVerificando Projetos Que Você Mantém
Se você mantém projetos open source, revise seus arquivos de configuração.
Auditoria do extensions.json
# Encontre todos os arquivos extensions.json
find . -name "extensions.json" -path "*/.vscode/*"
# Verifique o conteúdo
cat .vscode/extensions.jsonTemplate Seguro
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
],
"unwantedRecommendations": []
}Apenas inclua extensões de publicadores verificados e amplamente conhecidos.
Reflexão Final
A conveniência de extensões e personalizações vem com responsabilidades de segurança. Como desenvolvedores, nossos ambientes de trabalho têm acesso a código sensível, credenciais e sistemas críticos.
A descoberta desta vulnerabilidade é um lembrete importante:
- Verifique sempre extensões antes de instalar
- Revise arquivos de configuração em projetos clonados
- Mantenha seu ambiente de desenvolvimento seguro
- Contribua para a segurança da comunidade reportando problemas
O ecossistema de extensões é uma das maiores forças do VSCode e seus forks. Mas essa flexibilidade precisa ser equilibrada com práticas de segurança conscientes.
Se você quer aprender mais sobre segurança no desenvolvimento de software, recomendo que dê uma olhada em outro artigo: Práticas de Segurança Para Desenvolvedores JavaScript onde você vai descobrir como proteger seu código e ambiente de trabalho.

