DependencyTrack / DependencyTrack/dependency-track

Track and filter component scope and type

Open
#449 0 comments 5 reactions 0 assignees View on GitHub
enhancement p2
Dominant language
Java
Stars
4.2k
Forks
811
Avg merge
8h
Merged PRs (30d)
233

Description

### Current Behavior:
Dependency-Track v3.5.1 does not track component scope (eg test) or type (application, library, framework, device, etc)

This is largely a consequence of CycloneDX BOM v1 format, which did not provide such info.
Thus,:
* CycloneDX Maven Plugin default behaviour is to exclude components with scope test.
* CycloneDX Node.js Module default behaviour is to exclude devDependencies

However, CycloneDX v1.1 specification does now cover both scope and type.

### Proposed Behavior:
Dependency-Track should track scope and type and allow filtering of same.

By allowing your BOM to include *all* your dependencies, it becomes possible to apply full component inventory management... test components still need to examined for age, etc.

Filtering is important so that one can spot when (say) `junit` has been included in a project without specifying test scope. Or to examine how many different JSON libraries are in use.

Aother use case: my organisation has derived great benefit from upgrading test component `mockito` from v1.x to v2.x, However, the version of mockito comes from a Maven BOM import. The version of the BOM is no guarantee of the version of mockito as some projects may have added `mockito` to dependencyManagement. Basically, only Dependency-Track would make it easy to spot those projects still using v1.x!

Implementation of this feature would raise other considerations... such as how to alert and whether builds should be failed based on vulns in test components. Perhaps Dependency-Track plugin could use "Remediation Response" (#357) to pass/fail a build?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.