The use of open-source software components continues to be the standard for development, with about seven out of every 10 lines of code in the average application coming from an open-source project, a new study shows.
In fact, the average program has 445 open-source components, a 49% increase over the previous year's findings, and 91% of applications use at least one component that is either outdated by four or more years or has been abandoned, going two or more years without any development activity, according to a new study by software-management firm Synopsys.
The data suggests that open-source software continues to be a critical part of development, but a source of significant risk as well, says Tim Mackey, principal security strategist of Synopsys's Cybersecurity Research Center.
"The problem is that there is often a disconnect," he says. "The developers are making decisions of what to bring in, and somewhere, someone may have wrote down a policy for what open-source components can be used, but it is so cumbersome and it is a speed bump to innovation - that people are working around it."
Because of the critical nature that open-source components play in the software development cycles in almost every industry, the security of open-source software is one of the top 3 most important security concerns for application-security teams, along with the security of custom code and the management of application configuration and deployment.
Giving developers the ability to integrate tools for tracking open-source components and their vulnerability status is a necessary capability, says Sandy Carielli, principal analyst with the security and risk group at Forrester Research.
"For the security team, the security of open-source components is going to be very high priority," she says. "But you have to make sure that you are not slowing down development and delaying releases. So finding a way to highly integrate the tools is good for the development team."
The Internet and software infrastructure sector uses the most open source codebases, 83%, followed by manufacturers of Internet of things (IoT) devices. Meanwhile, telecommunications and wireless industry uses the least amount of open-source components, 46%, with the manufacturing, industrial control systems, and robotics sector using half.
The most popular open-source components are jQuery, Bootstrap, Font Awesome, and Lodash, the report found.
These open-source components are so common, that most developers don't think twice about downloading them, says Synopsys's Mackey.
"A lot of organizations will go through the 'hey, its free to download, so I'm going to download it and use it,' and it doesn't go through the procurement process that a normal commercial software products gets vetted through," he says. "That vetting process is the mechanism through which updates, end of life statements and security communication channels are established with the vendors."
Most components have vulnerabilities or include other open-source components that have vulnerabilities, the report found. Three-quarters of open-source components have a known vulnerability, and half have a critical flaw.
Licensing can also be a major issue for companies. While many developers consider open-source software to have the same usage considerations, 68% of codebases have some form of license conflict, Synopsys says.
Developers should become part of the community of any major software component they use to make sure they know of any issues that may affect their own software security, Mackey says.
"If you are not engaging with the community of developers behind a component - the major ones you rely on - you run the risk of missing development issues that can affect the security of your products," he says. "If you know about issues now, you can mitigate it with relatively little effort, where if you wait until end of life, then you run the risk of a major disruption."
The OSSRA report is based on Synopsys's auditing of 1,253 applications, and the company's regular assessment of open-source codebases from 20,000 sources.