This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Dependency Track Project"

From OWASP
Jump to: navigation, search
(partial content updates for 3.0.0)
(updated description)
Line 7: Line 7:
 
==OWASP Dependency-Track==
 
==OWASP Dependency-Track==
  
OWASP Dependency-Track is an intelligent Software Composition Analysis (SCA) application that allows organizations to automatically ingest and identify vulnerable third-party components.  
+
Modern applications leverage the availability of existing components for use as building blocks in application development. By using existing components, organizations can dramatically decrease time-to-market. Reusing existing components however, comes at a cost. Organizations that build on top of existing components assume risk for software they did not create. Vulnerabilities in third-party components are inherited by all applications that use those components. The [[OWASP Top Ten]] (2013 and 2017) both recognize the risk of [[Top 10 2013-A9-Using Components with Known Vulnerabilities|using components with known vulnerabilities]].
  
==Introduction==
+
Dependency-Track is a Software Composition Analysis (SCA) platform that keeps track of all third-party components used in all the applications an organization creates or consumes. It integrates with multiple vulnerability databases including the [https://nvd.nist.gov/ National Vulnerability Database] (NVD), [https://nodesecurity.io/ Node Security Platform] (NSP), and [https://vulndb.cyberriskanalytics.com VulnDB] from [https://www.riskbasedsecurity.com Risk Based Security]. Dependency-Track monitors all applications in its portfolio in order to proactively identify vulnerabilities in components that are placing your applications at risk.
  
Over the last several years, organizations have faced a growing trend on the number of vulnerabilities reported due to the use of vulnerable third-party components. The risk involved in using third-party components is described in a paper by Jeff Williams and Arshan Dabirsiaghi titled, "[https://www.aspectsecurity.com/research-presentations/the-unfortunate-reality-of-insecure-libraries The Unfortunate Reality of Insecure Libraries]". This upward trend propelled the use of third-party components into a new category in the [[Top_10_2013|OWASP Top Ten]], specifically, [[Top_10_2013-A9-Using_Components_with_Known_Vulnerabilities|A9: Using Components with Known Vulnerabilities]].
+
Dependency-Track is designed to be used in an automated DevOps environment where [[OWASP Dependency Check|Dependency-Check]] results or specific BOM (Bill of Material) formats are automatically ingested during CI/CD. Use of the [https://plugins.jenkins.io/dependency-check-jenkins-plugin Dependency-Check Jenkins Plugin] is highly recommended for this purpose and is well suited for use in Jenkins Pipeline. In such an environment, Dependency-Track enables your DevOps teams to accelerate while still keeping tabs on component usage and any inherited risk.
  
OWASP Dependency-Track is designed to enable organizations to easily identify use of vulnerable components across an entire portfolio of applications. OWASP Dependency-Track can monitor vulnerable component usage for applications that are in production (via static components), and can be leveraged in continuous security environments to enable real-time feedback and increased visibility to DevOps teams.
+
Dependency-Track can also be used to monitor vulnerabilities in COTS (commercial off-the-shelf) software.
 
 
==Description==
 
Dependency-Track has two main goals:
 
* Document the use of third-party components across multiple applications
 
* Determine the use of vulnerable components across applications
 
 
 
Dependency-Track incorporates a web-based asset management system specifically designed to track applications and the components that each application relies on. Many organizations have legal or new product introduction requirements that require software engineering teams to provide documentation on the use of third-party components. Dependency-Track fulfills this requirement. Using the Dependency-Track database as the sole source of evidence, the system will check the National Vulnerability Database (NVD) to determine if the components contain known vulnerabilities. Dependency-Track embeds OWASP Dependency-Check, a tool used to automatically identify components and determine if they contain known vulnerabilities.
 
 
 
Dependency-Track varies from Dependency-Check in how evidence is obtained. While Dependency-Check relies on files on a filesystem or build environment to scan, Dependency-Track relies on user supplied metadata about each component. These two techniques are complimentary and fulfill different requirements. Often times, an organization may rely upon both systems for a comprehensive solution.
 
  
 
==Licensing==
 
==Licensing==

Revision as of 23:53, 8 November 2017

Lab big.jpg

OWASP Dependency-Track

Modern applications leverage the availability of existing components for use as building blocks in application development. By using existing components, organizations can dramatically decrease time-to-market. Reusing existing components however, comes at a cost. Organizations that build on top of existing components assume risk for software they did not create. Vulnerabilities in third-party components are inherited by all applications that use those components. The OWASP Top Ten (2013 and 2017) both recognize the risk of using components with known vulnerabilities.

Dependency-Track is a Software Composition Analysis (SCA) platform that keeps track of all third-party components used in all the applications an organization creates or consumes. It integrates with multiple vulnerability databases including the National Vulnerability Database (NVD), Node Security Platform (NSP), and VulnDB from Risk Based Security. Dependency-Track monitors all applications in its portfolio in order to proactively identify vulnerabilities in components that are placing your applications at risk.

Dependency-Track is designed to be used in an automated DevOps environment where Dependency-Check results or specific BOM (Bill of Material) formats are automatically ingested during CI/CD. Use of the Dependency-Check Jenkins Plugin is highly recommended for this purpose and is well suited for use in Jenkins Pipeline. In such an environment, Dependency-Track enables your DevOps teams to accelerate while still keeping tabs on component usage and any inherited risk.

Dependency-Track can also be used to monitor vulnerabilities in COTS (commercial off-the-shelf) software.

Licensing

OWASP Dependency-Track is licensed under the Apache 2.0 license.


Dependency-Track-logo-300x100.png

Quick Download

Dependency-Track is available as a Docker container and a deployable WAR.

News and Events

  • [3 Nov 2017] v3.0.0-dev status update.
  • [19 Feb 2015] v1.0.0 has been released.

Features

  • Tracks applications and their versions
  • Document component vendors, versions, and licenses
  • Document components used by applications
  • Provides cross-reference capabilities
  • Incorporates OWASP Dependency-Check
  • Tracks vulnerabilities in applications over time
  • Dynamically generates native Dependency-Check reports
  • Mirrors NVD data feed for faster access on Intranets
  • Active Directory integration

Presentation

Introducing OWASP Dependency-Track (on SlideShare)

OWASP Dependency-Track (on YouTube)

Documentation

Dependency-Track Project Wiki on GitHub

Project Leader

Steve Springett

Related Projects

Classifications

Owasp-incubator-trans-85.png Owasp-builders-small.png Owasp-defenders-small.png Project Type Files CODE.jpg
What are the system requirements?
Dependency-Track requires Java 8 or higher and can run on any Servlet 3.1 container such as Tomcat 8.5 and higher. Dependency-Track may also be used with Docker.
What type of database is used?
Dependency-Track embeds the H2 database engine. A standalone database server may optionally be used.
What vulnerability datasources are supported
National Vulnerability Database (NVD), Node Security Platform (NSP), and VulnDB (from Risk Based Security). Private vulnerabilities can also be added manually or via the REST API.
How often are the datasources refreshed?
The NVD and NSP sources are updated every 24 hours. VulnDB is also refreshed every 24 hours, but requires the use of VulnDB Data Mirror.
What is the NVD mirror feature?
For organizations that run Dependency-Check, it is possible to specify an alternate URL for the NIST/NVD data. This allows organizations with many Dependency-Check instances to take advantage of an internal mirror for faster access. The NIST/NVD data feed can be used by specifying http://HOSTNAME/CONTEXT/nist/FILENAME. For example: http://localhost:8080/dtrack/nist/nvdcve-2.0-2002.xml.gz. The NVD mirror is automatically updated every 24 hours.

This project would not be possible without the existence of the OWASP_Dependency_Check project. Special thanks to Jeremy Long and the Dependency-Check core team for their hard work.

Dependency-Track Core Team

  • Steve Springett

Past Contributors

  • Nikhil Chitlur Navakiran (initial 1.0.0 release)

Sponsors

OWASP Dependency-Track is an open source project, created by people who believe that the knowledge of using vulnerable components should be accessible to anyone with a desire to know. By supporting this project, you'll allow the team to outsource testing, infrastructure, further research and development efforts, and engage in outreach to various communities that would benefit from this technology.

As of November 2017, the priorities are:

  • Complete VulnDB mirroring
  • Create dashboard
  • Complete widgets by incorporating metrics
  • Complete CycloneDX and SPDX import support
  • Release v3.0.0 in Q1 2018

Feedback

Please use the Dependency-Track mailing list for feedback:

  • What you like?
  • What you don't like?
  • What could be improved?
v1.0.0 (19 Feb 2015)
Initial general availability release.
PROJECT INFO
What does this OWASP project offer you?
RELEASE(S) INFO
What releases are available for this project?
what is this project?
Name: OWASP Dependency Track Project (home page)
Purpose: OWASP Dependency-Track is an intelligent Software Composition Analysis (SCA) application that allows organizations to automatically ingest and identify third-party components and any inherited vulnerabilities from their use.
License: OWASP Dependency-Track v3.0 and higher is available under the Apache 2.0 license (allows commercial use). OWASP Dependency-Track v1.0 and v2.0 were available under the GNU GPL v3 License (allows commercial use, but requires that modifications to your code stay open source, thus prohibiting proprietary forks of your project)
who is working on this project?
Project Leader(s):
  • Steve Springett @
Project Contributor(s):
  • Jeremy Long @
how can you learn more?
Project Pamphlet: Not Yet Created
Project Presentation:
Mailing list: Mailing List Archives
Project Roadmap: View
Key Contacts
  • Contact Steve Springett @ to contribute to this project
  • Contact Steve Springett @ to review or sponsor this project
current release
Source code available on GitHub
last reviewed release
Not Yet Reviewed


other releases