Tools You Should Use to Check Security Risk of Open-Source Dependencies

pikwizard-ac7b1dedd69181428679388a92265af6
photo by People Creations

Fact: up to 90% of one app usually consists of third-party components, most of which are open source. This can lead to all sorts of security risks and problems. But since we can not – nor want to – stop using open source, it is important to stop ignoring the security concerns and start tracking dependencies that are used in your software. 

 Software dependencies are often the biggest risk – because every application consists of a lot of small components, security risks can appear from anywhere in the codebase. 

And even though most organizations think that open source code is more secure compared to commercial code, the truth is that it is not. The open-source ecosystem is fragile and could be easily attacked. There are different services that tackle the problem and here are 13 tools you should consider using for checking the security risks in open source dependencies. 

Node Security Project

Node Security Project works on Node.js modules and provides a tool that scans for dependencies. It will track vulnerabilities by using public databases as well as its own database, built through scanning NPM modules. 

RetireJS

RetireJS is an open-source dependency checker specifically for JavaScript. Easy to use with multiple components and plugins for Chrome, Firefox, Grunt, ZAP, Gulp, and Burp. It retrieves information for vulnerabilities from NIST NVD and from other sources, such as bug-tracking systems, mailing lists, and blogs. 

OSS Index

OSS Index extracts information for dependencies from Nuget, NPM, Maven Central Repository, Chocolatey, Bower, and MSI – meaning it covers .NET/C#, JavaScript, and Java ecosystems. It also features a free vulnerability API. Currently, it retrieves vulnerability information from NIST NVD, with plans to include also mailing lists, bug-tracking systems, and databases. 

Dependency-check

A well-maintained open-source command-line tool that can be used in build tools and stand-alone mode. It supports .NET, Java, JavaScript, and Ruby and retrieves information only from the NIST NVD. 

Hakiri

A commercial tool for checking dependencies for Ruby and Rails projects that use static code analysis. It has a free plan for public open-source projects, and for private projects, there is a paid plan. Apart from NVD, Hakiri uses Ruby Advisory Database. 

Snyk

Focused on JavaScript NPM dependencies, Snyk is a commercial service that offers tools for the detection of vulnerabilities in JavaScript projects, as well as fixing them through open-source patches and guided upgrades. It has its own vulnerability database that gathers data from the NSP and NIST NVD. 

Gemnasium

Gemnasium is a commercial tool that offers free plans and has its own vulnerability database drawn from several sources. It provides two unique features – an auto-update option and Slack integration, in addition, to support for Ruby, PHP, NPM (JavaScript), Python, and Bower. 

TeamSecure

If you or your business doesn’t have the technical knowledge to check the security of the dependencies that are used in your software,  you can hire someone who can. Recruiting an in-house security specialist takes time and knowledge, not to mention the financial cost.  Teamsecure.io specializes in the recruitment of IT talent in all fields but specifically in security. The team has access to thousands of IT experts across the world with skills in penetrations testing, security code review, compliance, and managed security services. TeamSecure can also check whether there is a vulnerability in one of the dependencies used. You can contact them with your needs to learn more about what they offer.