A Synopsys 1253 bases de código comerciais foram analisadas, e concluiu-se que quase todos (99%) os aplicativos comerciais considerados incluem pelo menos um componente de código aberto, e 70% do código nas bases analisadas é aberto. Em comparação, em um estudo semelhante de 2015, a proporção de código aberto era de 36%.
Além disso, na maioria dos casos, o código aberto de terceiros utilizado não é atualizado e contém potenciais problemas de segurança — em 91% das bases de código analisadas, há componentes abertos que não foram atualizados há mais de 5 anos ou que estão pelo menos há dois anos em estado de abandono e não são mantidos pelos desenvolvedores. Como resultado, em 75% do código aberto identificado nos repositórios, existem vulnerabilidades conhecidas não corrigidas, das quais metade tem um nível elevado de perigo. Na amostra de 2018, a proporção de código com vulnerabilidades era de 60%.
A vulnerabilidade mais frequentemente encontrada foi
problema (execução remota de código) na biblioteca para Node.js, cujas versões vulneráveis foram encontradas mais de 500 vezes. A vulnerabilidade não corrigida mais antiga foi um problema no daemon lpd (), corrigido em 1999.
Além da segurança, as bases de código dos projetos comerciais também demonstram negligência em respeitar os termos das licenças de software livre.
Em 73% das bases de código, foram encontradas questões relacionadas à legalidade do uso de código aberto, como incompatibilidade de licenças (geralmente, o código GPL é incluído em produtos comerciais sem a divulgação do produto derivado) ou o uso de código sem a menção da licença. 93% de todos os problemas de licenças se manifestam em aplicativos web e móveis. Em jogos, sistemas de realidade virtual, multimídia e programas de entretenimento, violações foram observadas em 59% dos casos.
No total, o estudo identificou 124 componentes abertos típicos que são geralmente utilizados em todas as bases de código. Os mais populares são: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) e jQuery UI (29%). Em termos de linguagens de programação, as mais populares são JavaScript (usada em 74% dos projetos), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) e Ruby (25%). A participação total das linguagens de programação é:
JavaScript (51%), C++ (10%), Java (7%), Python (7%), Ruby (5%), Go (4%), C (4%), PHP (4%), TypeScript (4%), C# (3%), Perl (2%) e Shell (1%).
Fonte: opennet.ru
