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
(Road Map and Getting Involved)
(Features)
 
(70 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=Main=
 
=Main=
 
+
<div style="width:100%;height:90px;border:0,margin:0;overflow: hidden;">[[File: flagship_big.jpg|link=]]</div>
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
 
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
 
==OWASP Dependency-Track==
 
==OWASP Dependency-Track==
  
OWASP Dependency-Track is a Java web application that allows organizations to document the use of third-party components across multiple applications and versions. Further, it provides automatic visibility into the use of components with known vulnerabilities.
+
Dependency-Track is an intelligent Software [[Component Analysis|Supply Chain Component Analysis]] platform that allows organizations to identify and reduce risk from the use of third-party and open source components. Dependency-Track takes a unique and highly beneficial approach by leveraging the capabilities of Software Bill-of-Materials (SBOM). This approach provides capabilities that traditional Software Composition Analysis (SCA) solutions cannot achieve.
  
==Introduction==
+
Dependency-Track monitors component usage across all versions of every application in its portfolio in order to proactively identify risk across an organization. The platform has an API-first design and is ideal for use in Continuous Integration (CI) and Continuous Delivery (CD) environments.
  
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]].
+
[[File:Integrations.png|frameless]]
  
==Description==
+
==Features==
Dependency-Track has two main goals:
+
* Tracks application, library, framework, operating system, and hardware components
* Document the use of third-party components across multiple applications
+
* Tracks component usage across all version of every application in an organizations portfolio
* Determine the use of vulnerable components across applications
+
* Identifies multiple forms of risk including
 +
** Components with known vulnerabilities
 +
** Out-of-date components
 +
** Modified components
 +
** License risk
 +
** More coming soon...
 +
* Integrates with multiple sources of vulnerability intelligence including:
 +
** [https://nvd.nist.gov National Vulnerability Database] (NVD)
 +
** [https://www.npmjs.com/advisories NPM Public Advisories]
 +
** [https://ossindex.sonatype.org Sonatype OSS Index]
 +
** [https://vulndb.cyberriskanalytics.com VulnDB] from [https://www.riskbasedsecurity.com Risk Based Security]
 +
** More coming soon.
 +
* Ecosystem agnostic with built-in repository support for:
 +
** Gems (Ruby)
 +
** Hex (Erlang/Elixir)
 +
** Maven (Java)
 +
** NPM (Javascript)
 +
** NuGet (.NET)
 +
** Pypi (Python)
 +
** More coming soon. 
 +
* Includes a comprehensive auditing workflow for triaging results
 +
* Configurable notifications supporting Slack, Microsoft Teams, Webhooks, and Email
 +
* Supports standardized SPDX license ID’s and tracks license use by component
 +
* Supports importing [https://cyclonedx.org CycloneDX] and [https://spdx.org/ SPDX] Software Bill-of-Materials (SBOM) formats
 +
* Easy to read metrics for components, projects, and portfolio
 +
* Native support for Kenna Security, Fortify SSC, and ThreadFix
 +
* API-first design facilitates easy integration with other systems
 +
* API documentation available in OpenAPI format
 +
* Supports internally managed users, Active Directory/LDAP, and API Keys
 +
* Simple to install and configure. Get up and running in just a few minutes
  
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.
+
==Distributions==
 +
Dependency-Track supports the following three deployment options:
  
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.
+
* Executable WAR
 +
* Conventional WAR
 +
* Docker container
  
 
==Licensing==
 
==Licensing==
OWASP Dependency-Track is licensed under the [http://www.gnu.org/licenses/gpl-3.0.txt GPLv3].
+
OWASP Dependency-Track is licensed under the [https://www.apache.org/licenses/LICENSE-2.0 Apache 2.0 license].
 
 
 
 
| valign="top"  style="padding-left:25px;width:400px;" |
 
  
 +
| valign="top" style="padding-left:25px;width:300px;" |
 +
[[File:Dependency-Track-logo-300x100.png|250px|link=File:Dependency-Track-logo-large.png]]
 
== Quick Download ==
 
== Quick Download ==
  
Dependency-Track is packaged as a Java Web Application Archive (WAR).
+
Ready-to-deploy distributions are available from the Dependency-Track website
Downloads will be available Q1 2015
+
* [https://dependencytrack.org/ Website]
 +
* [https://github.com/DependencyTrack Source Code]
  
* [https://github.com/stevespringett/dependency-track Source Code]
+
== News and Events ==
  
== News and Events ==
+
* [16 Dec 2019] v3.7.0 Released
* [29 Jan 2015] v1.1 is feature complete. Beta's starting soon.
+
* [01 Oct 2019] v3.6.1 Released
 +
* [28 Sep 2019] v3.6.0 Released
 +
* [17 Jul 2019] v3.5.1 Released
 +
* [07 Jun 2019] v3.5.0 Released
 +
<!--
 +
* [16 Apr 2019] v3.4.1 Released
 +
* [22 Dec 2018] v3.4.0 Released
 +
* [13 Nov 2018] v3.3.1 Released
 +
* [25 Oct 2018] v3.3.0 Released
 +
* [02 Oct 2018] v3.2.2 Released
 +
* [21 Sep 2018] v3.2.1 Released
 +
* [06 Sep 2018] v3.2.0 Released
 +
* [19 Jun 2018] v3.1.0 Released
 +
* [02 May 2018] v3.0.4 Released
 +
* [13 Apr 2018] v3.0.3 Released
 +
* [30 Mar 2018] v3.0.2 Released
 +
* [27 Mar 2018] v3.0.1 Released
 +
* [26 Mar 2018] v3.0.0 Released
 +
* [08 Oct 2017] v3.0 [https://groups.google.com/forum/#!topic/dependency-track/0PUJI5rNgzI Updates to community]
 +
* [16 Jun 2017] [https://www.youtube.com/watch?v=88YAlzuDH04&t=50s Presentation at OWASP Summit 2017]
 +
-->
  
== Features ==
+
== Community Integrations ==
 +
* [https://github.com/ozonru/dtrack-audit dtrack-audit]
 +
* [https://github.com/pmckeown/dependency-track-maven-plugin Dependency-Track Maven plugin]
  
* Tracks applications and their versions
+
== Media ==
* 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 ==
+
[https://www.youtube.com/channel/UC8xdttysl3gNAQYvk1J9Efg OWASP Dependency-Track Channel (YouTube)]
  
Coming soon
+
[https://www.appsecpodcast.org/2018/04/12/dependency-check-and-dependency-track-s03e13/ AppSec Podcast (S03E13)]
  
 
== Documentation ==
 
== Documentation ==
  
[https://github.com/stevespringett/dependency-track/wiki Dependency-Track Project Wiki on GitHub]
+
[https://docs.dependencytrack.org Dependency-Track Documentation]
  
 
== Project Leader ==
 
== Project Leader ==
Line 66: Line 111:
  
 
* [[OWASP_Dependency_Check|OWASP Dependency-Check]]
 
* [[OWASP_Dependency_Check|OWASP Dependency-Check]]
 
== Ohloh ==
 
 
*https://www.ohloh.net/p/dependency-track
 
  
 
==Classifications==
 
==Classifications==
  
   {| width="400" cellpadding="2"
+
   {| width="200" cellpadding="2"
 
   |-
 
   |-
   | align="center" valign="top" width="33%" rowspan="2"| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]
+
   | align="center" valign="top" width="50%" | [[File:Mature_projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects|Flagship Project]]
   | align="center" valign="top" width="33%"| [[File:Owasp-builders-small.png|link=]]  [[File:Owasp-defenders-small.png|link=]]
+
   | align="center" valign="middle" width="50%" | [[File:Owasp-builders-small.png|link=Builders]]  [[File:Owasp-defenders-small.png|link=Defenders]]
   | align="center" valign="top" width="33%" | [[File:Project_Type_Files_CODE.jpg|link=]]
+
   |-
 +
  | colspan="2" align="center" valign="top" width="100%" | [[File:Project_Type_Files_TOOL.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Tool]]
 
   |}
 
   |}
  
 
|}
 
|}
  
=FAQs=
+
=Screenshots=
  
; What are the system requirements?
+
<gallery widths="300px">
: Dependency-Track requires Java 7 or higher and can run on any Servlet container such as Tomcat or Jetty.
+
File:Dependency-Track_Screenshot-_Dashboard.png|Dashboard
 
+
File:Dependency-Track_Screenshot_-_Projects.png|Projects
; What type of database is used?
+
File:Dependency-Track_Screenshot_-_Vulnerable_Component.png|Vulnerable Component
: Dependency-Track embeds the H2 database engine. A standalone database server may optionally be used.
+
File:Dependency-Track_Screenshot_-_Vulnerability.png|Vulnerability
 
 
; How often is the NVD data updated?
 
: The NVD update is handled by Dependency-Check. Upon starting the servlet container for the first time, the entire contents of the NVD data feed is downloaded. Once downloaded, the system will attempt a delta update every 24 hours.
 
 
 
; 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.
 
 
 
; What is the relationship between Dependency-Check and Dependency-Track?
 
: [[OWASP_Dependency_Check|OWASP Dependency-Check]] is a tool which can identify third party components (via the file system) and based on evidence collected from the files (vendor, library name, version, etc) determine if there are known vulnerabilities in the National Vulnerability Database. Dependency-Check consists of several modules including the core library along with plugins for Ant, Maven and Jenkins. Dependency-Check is ideal for use in development workflows (continuous integration) and for conducting security assessments and audits.
 
 
 
: OWASP Dependency-Track is an asset management application for tracking use of third-party components across every application and version. Dependency-Track incorporates the Dependency-Check core engine and will track the number and severity of vulnerabilities in third-party components over time. Dependency-Track is ideal for situations where use of vulnerable components in production applications need to be carefully tracked and where access to files for every application is not feasible.
 
  
; What are some common use cases for using Dependency-Track?
 
:
 
* A custom software provider can track use of components they've used in their clients projects. By monitoring Dependency-Track, the provider can proactively inform clients of new vulnerabilities, potentially increase billable hours by suggesting mitigation, and increase the security and satisfaction of their clients.
 
* A client calls a technical support department to report use of a vulnerable component. After verification, instead of closing the case, the support engineer can query Dependency-Track to find additional uses of said component in other applications they support. This allows the support department to play a proactive role in identifying vulnerable components for the applications they support.
 
* A independent software vendor needs to keep track of all third party components and their licenses for every version of every product they build. Dependency-Track can fulfill this legal or contractual requirement.
 
 
; How often does Dependency-Track check for vulnerabilities?
 
: Dependency-Track will automatically perform a Dependency-Check analysis for all components it tracks every 24 hours. For components that are added in the user interface, a Dependency-Check analysis will be performed on that component within a minute of it being added.
 
 
=Screenshots=
 
<gallery widths="300px">
 
File:Dependency-Track-login-screenshot.png|Login screen
 
File:Dependency-Track-dashboard-screenshot.png|Dashboard
 
File:Dependency-Track-applications-screenshot.png|List of applications
 
File:Dependency-Track-applications-expanded-screenshot.png|Expanded list of applications
 
File:Dependency-Track-application-version-screenshot.png|Components used in an application
 
File:Dependency-Track-libraries-screenshot.png|List of all components
 
File:Dependency-Track-vulnerabilities-screenshot.png|Vulnerabilities in third-party components
 
File:Dependency-Track-library-new-screenshot.png|Creating a new component
 
File:Dependency-Track-search-screenshot.png|Search for component usage across all applications
 
File:Dependency-Track-usermanagement-screenshot.png|User management
 
 
</gallery>
 
</gallery>
  
Line 128: Line 138:
  
 
==Dependency-Track Core Team==
 
==Dependency-Track Core Team==
* Steve Springett
+
* [[User:Steve_Springett|Steve Springett]]
  
==Past Contributors==
+
==Sponsors==
* Nikhil Chitlur Navakiran
 
  
==Sponsors==
+
Dependency-Track is created by a worldwide group of volunteers who have dedicated their time, talent, or provided financial support to the project.  
Development of OWASP Dependency-Track is sponsored in part by [http://www.axway.com Axway].
+
 
 +
The project would like to acknowledge and thank the following organizations that have helped move this project forward
  
= Road Map and Getting Involved =
+
* [https://www.riskbasedsecurity.com/ Risk Based Security]
As of February 2015, the priorities are:
 
* Enhance dashboard to provide additional control over data being visualized
 
* Update UI libraries and begin testing with Spartan browser
 
* Auto-populate Dependency-Track database with library identification from Dependency-Check
 
* Add support for tracking end-of-life dates
 
* Integrate ThreadFix support
 
* Translate into other languages
 
* Promote use of Dependency-Track
 
  
Involvement in the development and promotion of Dependency-Track is actively encouraged!
+
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.
You do not have to be a security expert in order to contribute.
 
Some of the ways you can help:
 
  
==Localization==
+
{{#widget:PayPal Donation
Are you fluent in another language? Can you help translate Dependency-Track into that language?
+
|target=_blank
 +
|budget=OWASP Dependency-Track
 +
}} 
  
==Front-End Gurus==
+
= Road Map =
Want to provide design or an implementation for a way to visualize data? There's a lot of potential opportunities in this area. Let us know if you can help.
+
Dependency-Track uses [https://github.com/DependencyTrack/dependency-track/milestones GitHub milestones] to track roadmaps and future releases.
  
==Feedback==
+
=Community=
Please use the [https://lists.owasp.org/mailman/listinfo/owasp_dependency_track_project Dependency-Track mailing list] for feedback:
+
Feedback from the community is always encouraged. Tell us what you like, what needs to be improved, and what features would be beneficial to your organization.
* What you like?
 
* What you don't like?
 
* What could be improved?
 
  
=Release Notes=
+
Three ways to get involved:
;v1.1.0
+
* [https://github.com/DependencyTrack/dependency-track/issues GitHub Issues] - Collaborate on open issues
: Feature complete beta available early February 2015.
+
* [https://gitter.im/dependency-track/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge Gitter] - Chatroom built around GitHub
 +
* [https://owasp.slack.com/messages/proj-dependency-track Slack] - The Dependency-Track Slack channel
  
;v1.0.0
+
Pull requests are highly encouraged. No contribution is too small. Do you know how to create test cases? Help us out. Want to write (or correct) some docs? Yes please... All contributions are appreciated.
: Initial proof-of-concept version to prove project viability and technical feasibility. This was a restricted availability release.
 
  
 
=Project About=
 
=Project About=
Line 174: Line 173:
 
__NOTOC__ <headertabs />  
 
__NOTOC__ <headertabs />  
  
[[Category:OWASP Project]] [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]]
+
[[Category:OWASP Project]]  
 +
[[Category:OWASP_Builders]]  
 +
[[Category:OWASP_Defenders]]  
 +
[[Category:OWASP Tool]]
 +
[[Category:Flagship Projects]]

Latest revision as of 21:27, 16 December 2019

Flagship big.jpg

OWASP Dependency-Track

Dependency-Track is an intelligent Software Supply Chain Component Analysis platform that allows organizations to identify and reduce risk from the use of third-party and open source components. Dependency-Track takes a unique and highly beneficial approach by leveraging the capabilities of Software Bill-of-Materials (SBOM). This approach provides capabilities that traditional Software Composition Analysis (SCA) solutions cannot achieve.

Dependency-Track monitors component usage across all versions of every application in its portfolio in order to proactively identify risk across an organization. The platform has an API-first design and is ideal for use in Continuous Integration (CI) and Continuous Delivery (CD) environments.

Integrations.png

Features

  • Tracks application, library, framework, operating system, and hardware components
  • Tracks component usage across all version of every application in an organizations portfolio
  • Identifies multiple forms of risk including
    • Components with known vulnerabilities
    • Out-of-date components
    • Modified components
    • License risk
    • More coming soon...
  • Integrates with multiple sources of vulnerability intelligence including:
  • Ecosystem agnostic with built-in repository support for:
    • Gems (Ruby)
    • Hex (Erlang/Elixir)
    • Maven (Java)
    • NPM (Javascript)
    • NuGet (.NET)
    • Pypi (Python)
    • More coming soon.
  • Includes a comprehensive auditing workflow for triaging results
  • Configurable notifications supporting Slack, Microsoft Teams, Webhooks, and Email
  • Supports standardized SPDX license ID’s and tracks license use by component
  • Supports importing CycloneDX and SPDX Software Bill-of-Materials (SBOM) formats
  • Easy to read metrics for components, projects, and portfolio
  • Native support for Kenna Security, Fortify SSC, and ThreadFix
  • API-first design facilitates easy integration with other systems
  • API documentation available in OpenAPI format
  • Supports internally managed users, Active Directory/LDAP, and API Keys
  • Simple to install and configure. Get up and running in just a few minutes

Distributions

Dependency-Track supports the following three deployment options:

  • Executable WAR
  • Conventional WAR
  • Docker container

Licensing

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

Dependency-Track-logo-300x100.png

Quick Download

Ready-to-deploy distributions are available from the Dependency-Track website

News and Events

  • [16 Dec 2019] v3.7.0 Released
  • [01 Oct 2019] v3.6.1 Released
  • [28 Sep 2019] v3.6.0 Released
  • [17 Jul 2019] v3.5.1 Released
  • [07 Jun 2019] v3.5.0 Released

Community Integrations

Media

OWASP Dependency-Track Channel (YouTube)

AppSec Podcast (S03E13)

Documentation

Dependency-Track Documentation

Project Leader

Steve Springett

Related Projects

Classifications

Flagship Project Owasp-builders-small.png Owasp-defenders-small.png
Project Type Files TOOL.jpg

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

Sponsors

Dependency-Track is created by a worldwide group of volunteers who have dedicated their time, talent, or provided financial support to the project.

The project would like to acknowledge and thank the following organizations that have helped move this project forward

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.

Dependency-Track uses GitHub milestones to track roadmaps and future releases.

Feedback from the community is always encouraged. Tell us what you like, what needs to be improved, and what features would be beneficial to your organization.

Three ways to get involved:

  • GitHub Issues - Collaborate on open issues
  • Gitter - Chatroom built around GitHub
  • Slack - The Dependency-Track Slack channel

Pull requests are highly encouraged. No contribution is too small. Do you know how to create test cases? Help us out. Want to write (or correct) some docs? Yes please... All contributions are appreciated.

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