All Projects → dependency-check → Dependency Check Sonar Plugin

dependency-check / Dependency Check Sonar Plugin

Integrates Dependency-Check reports into SonarQube

Projects that are alternatives of or similar to Dependency Check Sonar Plugin

zap-sonar-plugin
Integrates OWASP Zed Attack Proxy reports into SonarQube
Stars: ✭ 66 (-80.12%)
Mutual labels:  sonarqube, owasp, appsec
Sbt Dependency Check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). 🌈
Stars: ✭ 187 (-43.67%)
Mutual labels:  vulnerabilities, owasp, appsec
dependency-check-plugin
Jenkins plugin for OWASP Dependency-Check. Inspects project components for known vulnerabilities (e.g. CVEs).
Stars: ✭ 107 (-67.77%)
Mutual labels:  owasp, vulnerabilities, appsec
Dependency Track
Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
Stars: ✭ 718 (+116.27%)
Mutual labels:  vulnerabilities, owasp, appsec
cwe-tool
A command line CWE discovery tool based on OWASP / CAPSEC database of Common Weakness Enumeration.
Stars: ✭ 40 (-87.95%)
Mutual labels:  owasp, vulnerabilities
Dvws
OWSAP Damn Vulnerable Web Sockets (DVWS) is a vulnerable web application which works on web sockets for client-server communication.
Stars: ✭ 267 (-19.58%)
Mutual labels:  vulnerabilities, owasp
Whatweb
Next generation web scanner
Stars: ✭ 3,503 (+955.12%)
Mutual labels:  owasp, appsec
juice-shop
OWASP Juice Shop: Probably the most modern and sophisticated insecure web application
Stars: ✭ 7,533 (+2168.98%)
Mutual labels:  owasp, appsec
Hacker ezines
A collection of electronic hacker magazines carefully curated over the years from multiple sources
Stars: ✭ 72 (-78.31%)
Mutual labels:  vulnerabilities, owasp
tutorials
Additional Resources For Securing The Stack Tutorials
Stars: ✭ 36 (-89.16%)
Mutual labels:  owasp, appsec
www-project-zap
OWASP Zed Attack Proxy project landing page.
Stars: ✭ 52 (-84.34%)
Mutual labels:  owasp, appsec
Cheatsheetseries
The OWASP Cheat Sheet Series was created to provide a concise collection of high value information on specific application security topics.
Stars: ✭ 19,302 (+5713.86%)
Mutual labels:  owasp, appsec
nodejssecurity
Documentation for Essential Node.js Security
Stars: ✭ 64 (-80.72%)
Mutual labels:  owasp, appsec
www-project-vulnerable-web-applications-directory
The OWASP Vulnerable Web Applications Directory (VWAD) Project - OWASP Web Site
Stars: ✭ 10 (-96.99%)
Mutual labels:  owasp, appsec
www-project-code-review-guide
OWASP Code Review Guide Web Repository
Stars: ✭ 74 (-77.71%)
Mutual labels:  owasp, appsec
Awesome Nodejs Security
Awesome Node.js Security resources
Stars: ✭ 1,294 (+289.76%)
Mutual labels:  vulnerabilities, owasp
Railsgoat
A vulnerable version of Rails that follows the OWASP Top 10
Stars: ✭ 699 (+110.54%)
Mutual labels:  vulnerabilities, appsec
vapi
vAPI is Vulnerable Adversely Programmed Interface which is Self-Hostable API that mimics OWASP API Top 10 scenarios through Exercises.
Stars: ✭ 674 (+103.01%)
Mutual labels:  owasp, appsec
Resources-for-Application-Security
Some good resources for getting started with application security
Stars: ✭ 97 (-70.78%)
Mutual labels:  owasp, appsec
cwe-sdk-javascript
A Common Weakness Enumeration (CWE) Node.js SDK compliant with MITRE / CAPEC
Stars: ✭ 18 (-94.58%)
Mutual labels:  owasp, vulnerabilities

Dependency-Check Plugin for SonarQube 7.x and 8.x

Build Status Codacy Badge Download Downloads Quality Gate Status Coverage Security Rating

Integrates Dependency-Check reports into SonarQube v7.9 or higher.

The project will try to backport all code from master branch to last supported LTS. Please see the SonarQube 6.x or SonarQube 5.x branch for old supported version.

About Dependency-Check

Dependency-Check is a utility that attempts to detect publicly disclosed vulnerabilities contained within project dependencies. It does this by determining if there is a Common Platform Enumeration (CPE) identifier for a given dependency. If found, it will generate a report linking to the associated CVE entries.

Dependency-Check supports the identification of project dependencies in a number of different languages including Java, .NET, Node.js, Ruby, and Python.

Note

This SonarQube plugin does not perform analysis, rather, it reads existing Dependency-Check reports. Use one of the other available methods to scan project dependencies and generate the necessary JSON or XML report which can then be consumed by this plugin. Refer to the Dependency-Check project for relevant documentation.

Metrics

The plugin keeps track of a number of statistics including:

  • Total number of dependencies scanned
  • Total number of vulnerabilities found across all dependencies
  • Total number of vulnerable components
  • Total number of critical, high, medium, and low severity vulnerabilities

Additionally, the following two metrics are defined:

Inherited Risk Score (IRS)

 (critical * 7) + (high * 5) + (medium * 3) + (low * 1)

The IRS is simply a weighted measurement of the vulnerabilities inherited by the application through the use of vulnerable components. It does not measure the applications actual risk due to those components. The higher the score the more risk the application inherits.

Vulnerable Component Ratio

(vulnerabilities / vulnerableComponents)

This is simply a measurement of the number of vulnerabilities to the vulnerable components (as a percentage). A higher percentage indicates that a large number of components contain vulnerabilities. Lower percentages are better.

Compiling

$ mvn clean package

Working with NodeJS

This plugin used the same project setup as sonar-custom-plugin-example. Checkout this project to get informations to work with NodeJS components.

Distribution

Ready to use binaries are available from GitHub.

Plugin version compatibility

Please use the newest minor version. Keep in mind, that SonarQube 5.6 LTS and SonarQube 6.7 LTS are not supported anymore.

Plugin Version SonarQube version
2.0.6 and up SonarQube 7.9 LTS and up
1.2.x - 2.0.5 SonarQube 7.6 and up
1.1.x SonarQube 6.7 LTS
1.0.3 SonarQube 5.6 LTS

Installation

Copy the plugin (jar file) to $SONAR_INSTALL_DIR/extensions/plugins and restart SonarQube or install via SonarQube Marketplace.

Using

Create aggregate reports with Dependency-Check. Dependency-Check will output a file named 'dependency-check-report.json' or 'dependency-check-report.xml'. The Dependency-Check SonarQube plugin reads an existing Dependency-Check JSON or XML report.

Plugin Configuration

A typical SonarQube configuration will have the following parameter. This example assumes the use of a Jenkins workspace, but can easily be altered for other CI/CD systems.

sonar.dependencyCheck.xmlReportPath=${WORKSPACE}/dependency-check-report.xml
sonar.dependencyCheck.jsonReportPath=${WORKSPACE}/dependency-check-report.json
sonar.dependencyCheck.htmlReportPath=${WORKSPACE}/dependency-check-report.html

In this example, all supported reports (JSON, XML and HTML) are specified. This plugin prefers the JSON over the XML report. At the moment the XML report isn't deprecated, but that might be an option in future. Only the JSON/XML report is required, however, if the HTML report is also available, it greatly enhances the usability of the SonarQube plugin by incorporating the actual Dependency-Check HTML report in the SonarQube project.

This plugin tries to add SonarQube issues to your project configuration files (e.g. pom.xml, *.gradle, package-json.lock). Please make sure, that these files are part of sonar.sources.

To configure the severity of the created issues you can optionally specify the minimum score for each severity with the following parameter. Specify a score of -1 to completely disable a severity.

sonar.dependencyCheck.severity.blocker=9.0
sonar.dependencyCheck.severity.critical=7.0
sonar.dependencyCheck.severity.major=4.0
sonar.dependencyCheck.severity.minor=0.0

In large projects you have many dependencies with (hopefully) no vulnerabilities. The following configuration summarize all vulnerabilities of one dependency into one issue.

sonar.dependencyCheck.summarize=true
sonar.dependencyCheck.summarize=false (default)

If you want skip this plugin, it's possible with following configuration.

sonar.dependencyCheck.skip=true
sonar.dependencyCheck.skip=false (default)

If you want to work with Security-Hotspots to enable a review process in your team, use the following configuration.

sonar.dependencyCheck.securityHotspot=true
sonar.dependencyCheck.securityHotspot=false (default)

Ecosystem

Dependency-Check is available as a:

  • Command-line utility
  • Ant Task
  • Gradle Plugin
  • Jenkins Plugin
  • Maven Plugin
  • SonarQube Plugin

Copyright & License

Dependency-Check Sonar Plugin is Copyright (c) dependency-check. All Rights Reserved.

Dependency-Check is Copyright (c) Jeremy Long. All Rights Reserved.

Permission to modify and redistribute is granted under the terms of the LGPLv3 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].