DependencyTrack / DependencyTrack/dependency-track

PURL Format Discrepancy

Open
#2,694 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
4.2k
Forks
811
Avg merge
9h 4m
Merged PRs (30d)
229

Description

### Current Behavior

![image](https://user-images.githubusercontent.com/46081558/233088075-6ca92442-e807-46d9-b95c-6ac7ecaa47f3.png)

Although, The Purl format on [Dependency Track](https://docs.dependencytrack.org/datasources/routing/) and [Purl-Spec](https://github.com/package-url/purl-spec) mentions that `Namespace/GroupID` is optional.

For JAVA (Maven) packages, Dependency Track fails to find vulnerabilities in the Java Maven SBOM If `Namespace/GroupID` is not mentioned in the Purl.

### Proposed Behavior

scheme:type/namespace/name@version

** Namespace is not optional, IT IS a MUST in the Purl-Spec format for a `JAVA - Maven `SBOM for being detectable by Dependency Track.

### Checklist

- [X] I have read and understand the [contributing guidelines](https://github.com/DependencyTrack/dependency-track/blob/master/CONTRIBUTING.md#filing-issues)
- [X] I have checked the [existing issues](https://github.com/DependencyTrack/dependency-track/issues) for whether this enhancement was already requested

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked Dependency-Track routing documentation and the PURL specification, then reproduce the failure with a Java Maven SBOM whose PURL omits the namespace or GroupID. Trace how that component is processed for vulnerability lookup. Done means the documented optional-namespace case is handled consistently and vulnerability detection is verified for the affected SBOM.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.