O VS Code em 2024 é o editor preferido dos programadores para escrever código1. Após quase 10 anos do seu lançamento em 20152, observa-se um ecossistema em torno dessa ferramenta, fomentado pela Microsoft, com atuação ativa da comunidade open-source, principalmente no desenvolvimento de extensões. Porém essa ampla adoção trouxe riscos para quem confia cegamente no que está baixando. Vamos entender quais são esses riscos e como podemos nos defender das ameaças.
Apresento a seguir uma espécie de awesome list3 de links para se aprofundar no tema de segurança desse ecossistema.
Apresentação em 40 min
- Contexto - 5min
- O que a Microsoft faz pela segurança do VS Code - 5min
- O que ela NÃO FAZ - 5min
- Demonstração de exploração - 20min
- Soluções possíveis - 5min
Segurança no VS Code pela Microsoft
O Workspace Trust ajuda a reduzir execução automática de código em pastas não confiáveis, mas a própria documentação da Microsoft alerta que ele não impede uma extensão maliciosa de executar código e ignorar o Restricted Mode. A escolha e governança de extensões continua sendo parte do problema.
Para explorar mais
- https://github.com/microsoft/vscode-discussions/discussions/137
- https://github.com/Microsoft/vscode-vsce/issues/191
- No Youtube, Attacking VSCode Extension from Browser? - Live Security Research
Pesquisas
Pela comunidade
- Reddit em 7 de março de 2018: This new trend… good bye security
- Stack Overflow em 11 de maio de 2021: How safe are extensions in Visual Studio code?
Pela indústria
- Aqua Security em 6 de janeiro de 2023: Can You Trust Your VSCode Extensions?
- Checkpoint em 16 de maio de 2023: VSCode Security: Malicious Extensions Detected- More Than 45,000 Downloads- PII Exposed, and Backdoors Enabled
Pela academia
- UntrustIDE: Exploiting Weaknesses in VS Code Extensions , publicado em janeiro de 2024.
- Developers Are Victims Too : A Comprehensive Analysis of The VS Code Extension Ecosystem , publicado em 12 de novembro de 2024.
No contexto de dependências em si
No VS Code em si
- RCE identificado pelo Google: Visual Studio Code: Remote Code Execution
Soluções possíveis
Um marketplace “curado”
Porém implica em não poder utilizar o VS Code nativo, mas um fork, como o VS Codium
Uma bolha
- https://docs.github.com/en/codespaces
- https://cloud.google.com/security/solutions/software-supply-chain-security
- https://www.gitpod.io/cde
Detecção do problema
Política de uso de OSS
- https://www.sonatype.com/blog/what-to-consider-when-crafting-your-oss-policy
- https://its.ny.gov/system/files/documents/2023/04/its-p19-005-open-source.pdf
- https://www.lawoftheledger.com/wp-content/uploads/sites/15/2019/06/Notes-On-Open-Source-Policies-Article-0619.pdf
- https://essr.esa.int/esa-open-source-policy
- https://github.com/bancolombia/oss-enterprise
- https://www.gartner.com/en/documents/5658623
- NIST SP 800-204, Strategies for the Integration of Software Supply Chain Security in DevSecOps CI/CD Pipelines