Giter VIP home page Giter VIP logo

trufflesecurity / dependency-track Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dependencytrack/dependency-track

0.0 1.0 1.0 81.78 MB

Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.

Home Page: https://dependencytrack.org/

License: Apache License 2.0

Shell 0.08% Java 99.79% HTML 0.01% Dockerfile 0.12%

dependency-track's Introduction

Build Status Codacy Badge Alpine License OWASP Flagship Website Documentation Slack Group Discussion YouTube Subscribe Twitter Downloads Latest Pulls - API Server Pulls - Frontend Pulls - Bundled Pulls - Legacy

logo preview

Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain. 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 CI/CD environments.

Ecosystem Overview

alt text

Features

  • Consumes and produces CycloneDX Software Bill of Materials (SBOM)
  • Consumes and produces CycloneDX Vulnerability Exploitability Exchange (VEX)
  • Component support for:
    • Applications
    • Libraries
    • Frameworks
    • Operating systems
    • Containers
    • Firmware
    • Files
    • Hardware
    • Services
  • Tracks component usage across every application in an organizations portfolio
  • Quickly identify what is affected, and where
  • 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:
  • Helps to prioritize mitigation by incorporating support for the Exploit Prediction Scoring System (EPSS)
  • Maintain a private vulnerability database of vulnerability components
  • Robust policy engine with support for global and per-project policies
    • Security risk and compliance
    • License risk and compliance
    • Operational risk and compliance
  • Ecosystem agnostic with built-in repository support for:
    • Cargo (Rust)
    • Composer (PHP)
    • Gems (Ruby)
    • Hex (Erlang/Elixir)
    • Maven (Java)
    • NPM (Javascript)
    • CPAN (Perl)
    • NuGet (.NET)
    • Pypi (Python)
    • More coming soon.
  • Identifies APIs and external service components including:
    • Service provider
    • Endpoint URIs
    • Data classification
    • Directional flow of data
    • Trust boundary traversal
    • Authentication requirements
  • Includes a comprehensive auditing workflow for triaging results
  • Configurable notifications supporting Slack, Microsoft Teams, Mattermost, Webhooks, Webex, Email and Jira
  • Supports standardized SPDX license ID’s and tracks license use by component
  • Easy to read metrics for components, projects, and portfolio
  • Native support for Kenna Security, Fortify SSC, ThreadFix, and DefectDojo
  • API-first design facilitates easy integration with other systems
  • API documentation available in OpenAPI format
  • OAuth 2.0 + OpenID Connect (OIDC) support for single sign-on (authN/authZ)
  • Supports internally managed users, Active Directory/LDAP, and API Keys
  • Simple to install and configure. Get up and running in just a few minutes

alt text

Quickstart (Docker Compose)

# Downloads the latest Docker Compose file
curl -LO https://dependencytrack.org/docker-compose.yml

# Starts the stack using Docker Compose
docker-compose up -d

Quickstart (Docker Swarm)

# Downloads the latest Docker Compose file
curl -LO https://dependencytrack.org/docker-compose.yml

# Initializes Docker Swarm (if not previously initialized)
docker swarm init

# Starts the stack using Docker Swarm
docker stack deploy -c docker-compose.yml dtrack

Quickstart (Manual Execution)

# Pull the image from the Docker Hub OWASP repo
docker pull dependencytrack/bundled

# Creates a dedicated volume where data can be stored outside the container
docker volume create --name dependency-track

# Run the bundled container with 8GB RAM on port 8080
docker run -d -m 8192m -p 8080:8080 --name dependency-track -v dependency-track:/data dependencytrack/bundled

NOTICE: Always use official binary releases in production.

Distributions

Dependency-Track has three distribution variants. They are:

Package Package Format Recommended Supported Docker Download
API Server Executable WAR
Frontend Single Page Application
Bundled Executable WAR ☑️

API Server

The API Server contains an embedded Jetty server and all server-side functionality, but excludes the frontend user interface. This variant is new as of Dependency-Track v4.0.

Frontend

The Frontend is the user interface that is accessible in a web browser. The Frontend is a Single Page Application (SPA) that can be deployed independently of the Dependency-Track API Server. This variant is new as of Dependency-Track v3.8.

Bundled

The Bundled variant combines the API Server and the Frontend user interface. This variant was previously referred to as the executable war and was the preferred distribution from Dependency-Track v3.0 - v3.8. This variant is supported but deprecated and will be discontinued in a future release.

Traditional

The Traditional variant combines the API Server and the Frontend user interface and must be deployed to a Servlet container. This variant is not supported, deprecated, and will be discontinued in a future release.

Deploying on Kubernetes with Helm

You can install on Kubernetes using the community-maintained chart like this:

Helm v3:

helm repo add evryfs-oss https://evryfs.github.io/helm-charts/
helm install dependency-track evryfs-oss/dependency-track --namespace dependency-track --create-namespace

Helm v2:

helm repo add evryfs-oss https://evryfs.github.io/helm-charts/
helm install evryfs-oss/dependency-track --name dependency-track --namespace dependency-track --create-namespace

by default, it will install PostgreSQL and use persistent volume claims for the data-directory used for vulnerability feeds.

Contributing

Interested in contributing to Dependency-Track? Please check CONTRIBUTING.md to see how you can help!

Resources

Community

Copyright & License

Dependency-Track is Copyright (c) Steve Springett. All Rights Reserved.

Permission to modify and redistribute is granted under the terms of the Apache License 2.0.

Dependency-Track makes use of several other open source libraries. Please see the notices file for more information.

dependency-track's People

Contributors

abdelhajou avatar alitheg avatar angrylogic avatar dependabot-preview[bot] avatar dependabot[bot] avatar eoftedal avatar jkowalleck avatar k3rnelpan1c-dev avatar lme-nca avatar malice00 avatar mehab avatar michaelgissingnc avatar mvld3r avatar nscuro avatar officernordberg avatar omerlh avatar pmckeown avatar praveenmylavarapu avatar rbt-mm avatar s-spindler avatar sahibamittal avatar scolytus avatar sephiroth-j avatar snyk-bot avatar stevespringett avatar syalioune avatar szasza avatar thunderson avatar tmehnert avatar valentijnscholten avatar

Watchers

 avatar

Forkers

dverbeeck

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.