Gostaria de trazer atenção para um recurso interessante, que descobri recentemente, para monitoramento de vulnerabilidades em software de código aberto (OSS, do inglês Open Source Software).
Open Source Vulnerabilities (OSV) é um banco de dados aberto que agrega informações sobre vulnerabilidades de mais de 15 fontes, fornecendo uma fonte de consulta centralizada sobre vulnerabilidades, suas severidades, software afetado e mitigações, dentre outras informações.

Graças aos esforços da empresa responsável, o formato OpenSSF para vulnerabilidades difundiu-se com sucesso. Este permite o relato de versões de software com a precisão necessária para serviços de automação (permitindo, por exemplo, a referência a um exato commit hash). Através deste, o OSV, utilizando métodos de bisseção automatizados e análise de versões, consegue enriquecer os registros de vulnerabilidades com as versões exatas dos softwares impactados.
O enriquecimento dos dados, graças às automações desenvolvidas, além de sua precisão devido ao formato bem projetado, auxiliam o trabalho de profissionais de segurança gerenciando e mitigando vulnerabilidades. Ambos reduzem significativamente o trabalho de identificação de versões afetadas, auxiliando-os a atuarem com mais rapidez e confiança.
Os dados disponibilizados cobrem vulnerabilidades em mais de 20 ecossistemas, incluindo:
- Kernel do Linux
- Debian, Ubuntu, e openSUSE, três das dez distribuições de Linux mais populares no mercado em 2024.
- Android, o sistema operacional mais popular para dispositivos móveis.
- Repositórios de pacotes e bibliotecas para JS/TS, Python, Java/Kotlin, C# (.NET), Go, Rust, e Ruby, linguagens frequentemente presentes entre as mais populares, e entre as 20 mais utilizadas em 2024.
A informação é entregue com agilidade, estando disponível usualmente no máximo 15 minutos após sua publicação nas fontes de dados base consultadas pelo serviço.
O serviço conta com uma página web e uma API para consulta dos dados, com um leque vasto de opções para consulta: vulnerabilidades individuais, pesquisa por software(s) afetado(s), e requisições em batch.
E por fim, e sinceramente o que mais me impressionou, uma ferramenta para escanear vulnerabilidades conhecidas em dependências de projetos em desenvolvimento: OSV-Scanner. Esta é disponibilizada como uma aplicação standalone, ou uma operação no GitHub Actions, permitindo monitoramento contínuo e automatizado por vulnerabilidades novas. Dentre escaneamento de contêineres Docker, ferramental para correção de vulnerabilidades semi-automaticamente, configurabilidade para relatórios focados em vulnerabilidades introduzidas, há muito para explorar e descobrir nessa ferramenta.
Estes recursos extremamente versáteis serão incorporados ao processo de desenvolvimento de software para nossos projetos internos na CYLO, para monitorar e mitigar vulnerabilidades em dependências externas dos mesmos.
Referências
- OSV. Disponível em: <https://osv.dev/>.
- Introduction to OSV. Disponível em: <https://google.github.io/osv.dev/>.
- OSV-Scanner. Disponível em: <https://google.github.io/osv-scanner/>.
- OSSF. GitHub – ossf/osv-schema: Open Source Vulnerability schema. Disponível em: <https://github.com/ossf/osv-schema>.
- CÁNEPA, G. 10 Top Most Popular Linux Distributions of 2020. Disponível em: <https://www.tecmint.com/top-most-popular-linux-distributions/>.
- Mobile Operating System Market Share Worldwide | StatCounter Global Stats. Disponível em: <http://gs.statcounter.com/os-market-share/mobile/worldwide>.
- The Most Popular Programming Languages – 1965/2024 – New Update –. Disponível em: <https://statisticsanddata.org/data/most-popular-programming-languages-1965-2024/>.
- STATISTA. Most Used Languages among Software Developers Globally 2019. Disponível em: <https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/>.

Matheus Augusto da Silva Santos, aluno de Bacharelado em Ciências da Computação na UNESP – Universidade Estadual Paulista. Aspirante a engenheiro de software focado em uso de boas práticas de programação e segurança para elaboração de sistemas robustos, seguros e confiáveis.