DependencyTrack / DependencyTrack/dependency-track
PURL Format Discrepancy
- Dominant language
- Java
- Stars
- 4.2k
- Forks
- 811
- Avg merge
- 9h 4m
- Merged PRs (30d)
- 229
Description
### Current Behavior

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
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