A empresa Sonatype, especializada na proteção contra ataques que manipulam a substituição de componentes de software e dependências (supply chain), publicou os resultados de um estudo (PDF, 62 páginas) sobre os problemas relacionados a dependências e manutenção de projetos abertos nas linguagens Java, JavaScript, Python e .NET, presentes nos repositórios Maven Central, NPM, PyPl e Nuget. Ao longo de um ano, houve um aumento médio de 29% no número de projetos nas ecossistemas abertos monitorados. O número de downloads de pacotes dos repositórios analisados em 2023 cresceu 33%, mas, para comparação, em 2021, o aumento nos downloads foi de 73%.
A atividade maliciosa nos repositórios cresceu significativamente — desde o início do ano, foram detectados 245 mil pacotes maliciosos, e o número de ataques registrados visando a substituição de dependências dobrou.

Muitos projetos continuam utilizando versões vulneráveis; por exemplo, 23% dos downloads do pacote Java Log4j ainda correspondem a versões com vulnerabilidades críticas corrigidas em 2021. No repositório Maven Central, cerca de 12% de todos os downloads são de componentes que contêm vulnerabilidades conhecidas. Em média, para todos os repositórios, a proporção de downloads de versões antigas de pacotes, que pertencem a categorias de risco (por exemplo, com vulnerabilidades não corrigidas), é de 20% (em 80% dos casos, é baixada a versão mais atual). Em 96% das vezes, os downloads de componentes com vulnerabilidades poderiam ter sido evitados, escolhendo versões nas quais o problema já foi corrigido.
Um problema significativo na manutenção da segurança também é a qualidade da manutenção dos projetos. Nas ecossistemas das linguagens Java e JavaScript, isso representa grandes desafios — no último ano, a manutenção foi interrompida para um em cada cinco projetos (18,6%) apresentados no Maven Central e NPM, que eram mantidos no ano anterior. Das 1,176 milhões de projetos analisados, presentes nos repositórios Maven, NPM, PyPl e Nuget, apenas 11% (118 mil) continuam a ser mantidos ativamente.
No estudo, também foi realizada uma pesquisa com 621 desenvolvedores profissionais de várias empresas. 67% dos entrevistados acreditam que seus aplicativos não utilizam bibliotecas vulneráveis, 10% enfrentaram incidentes de segurança nos últimos 12 meses devido a vulnerabilidades em software livre, e 20% estão indecisos. 28% das empresas identificam a presença de componentes vulneráveis em até 1 dia após a divulgação de informações sobre a vulnerabilidade, 39% - de 1 a 7 dias, e 29% - mais de uma semana.
Fonte: opennet.ru
