Authors:
Bruno Gonçalves de Oliveira
1
;
Andre Endo
2
and
Silvia Vergilio
1
Affiliations:
1
Department of Computer Science, Federal University of Paraná, Curitiba, PR, Brazil
;
2
Computing Department, Federal University of São Carlos, São Carlos, SP, Brazil
Keyword(s):
Security, JavaScript, Software Vulnerability, Metrics, Mining Repositories.
Abstract:
JavaScript engines are security-critical components of Web browsers. Their different features bring challenges for practitioners that intend to detect and remove vulnerabilities. As these JavaScript engines are open-source projects, security insights could be drawn by analyzing the changes performed by developers. This paper aims to characterize security-related commits of open-source JavaScript engines. We identified and analyzed commits that involve some security aspects; they were selected from the widely used engines: V8, ChakraCore, JavaScriptCore, and Hermes. We compared the security-related commits with other commits using source code metrics and assessed how security-related commits modify specific modules of JavaScript engines. Finally, we classified a subset of commits and related them to potential vulnerabilities. The results showed that only six out of 44 metrics adopted in the literature are statistically different when comparing security-related commits to the others, f
or all engines. We also observed what files and, consequently, the modules, are more security-related modified. Certain vulnerabilities are more connected to security-related commits, such as Generic Crash, Type Confusion, Generic Leak, and Out-of-Bounds. The obtained results may help to advance vulnerability prediction and fuzzing of JavaScript engines, augmenting the security of the Internet.
(More)