Most developers choose an open source project based on a combination of how well the software suits the task at hand, whether the developers of the project are active, and whether the project has a good reputation. Yet, with vulnerabilities in open source components a key security problem for software teams, finding better metrics to inform choices is necessary, according to software tool makers.
On July 27, two companies — open source project management firm Snyk and development services firm xs:code — announced they have teamed up to provide a browser plug-in that will give developers important metrics by which to gauge the security of open source projects. The tool, Insights, displays metrics — such as a health score and the number of vulnerabilities known to be in the component — to developers, as well as a measure of the development activity for the project.
The goal is to give developers information before they commit to using a project, says Chen Ravid, co-founder and head of product for xs:code.
"Security being such a big issue right now, and companies are more and more aware that open source can be problematic because of security issues," he says. "And there is no clear responsibility for security issues in open source products — the maintainers are not always very focused on security."
The release of the tool comes as developers are increasingly being warned about the potential for vulnerabilities that undermine the security of their software.
Modern software relies on open source components. The average program has 445 open source components and more than 90% of software uses open source components that are either outdated (that is, not updated in the past four years) or abandoned, according to a recent study by software security firm Synopsis. About 10% of software flaws found in the most targeted projects have been turned into attacks, according to another study.
Many vulnerabilities occur in third-party software dependencies — code included at compile time by a project maintainer — and continue to impact software, software security firm Snyk said in its "State of Open Source Security" report.
"The overall number of vulnerabilities reported across all ecosystems increased in 2019 after having shown a decrease in 2018," the company stated. "Compounding that concern is that, once again in 2019, the majority of the vulnerabilities identified were considered high severity."
The problem is that security is not generally a key factor in the average development team's decision to use an open source project in a company's own software, according to a November 2019 survey by Tidelift and The New Stack. Eight-six percent of developers cited the volume of development activity and the correct license arrangement as at least "somewhat important" in the decision to greenlight the use of an open source project. Only 63% considered the number of disclosed vulnerabilities in a project as one of their top factors.
The same survey found that the most important metrics to evaluate open source projects were the number of days since the last activity (74%) and whether a trusted source recommended the project (61%).
Xs:code aims to change this by incorporating data from Snyk's evaluation of open source projects into a browser plug-in to make it accessible to developers. The repository analytics service allows developers to see common repository vulnerabilities, a score for its security, and what type of license the repository uses.
The company, which provides a service to allow open source developers to get paid for their work, does not include the ratings as a way to measure developers' progress, but that could be a potential feature in the future, says xs:code's Ravid.
Making sure developers are paid for their work on open source project can help motivate them to take security seriously, he says.
"We believe that compensated developers are the key to make sure that open source becomes more secure," Ravid says. "We feel that when developers have paying customers, they will continue to maintain their projects and fixing vulnerabilities. We feel that having a clear path for a developer or maintainer to fix their software will help make the ecosystem more secure."