DependencyTrack / DependencyTrack/dependency-track

Duplicated Components

Open
#3,448 4 comments 2 reactions 0 assignees View on GitHub
question
Dominant language
Java
Stars
4.2k
Forks
811
Avg merge
8h 39m
Merged PRs (30d)
237

Description

### Current Behavior

Maybe this _is_ the intended behaviour and I'm just stupid, but I'd be surprised.

When I upload the very same SBOM for the very same project just with another version. All the components get duplicated. I can live with different project versions showing up as different projects (albeit confusing), but DT seems to think that the components are genuinely _not_ the same. Even though they have the exact same PURL, name, and version. This doesn't make sense to me.
In my case, right now, I manually add license information for the components where automatic detection failed (for whatever reason). But the next time the pipeline runs and a new SBOM gets pushed - with the very same components - new components get created, policy violations fire and all the manual work was pointless.

### Steps to Reproduce

1. Fire up DT v4.10.1
2. create some SBOM
3. post the SBOM to `/api/v1/bom` with `projectName=test` and `projectVersion=1.0`
4. post the same SBOM to `/api/v1/bom` with `projectName=test` and `projectVersion=1.1`
5. in DT, navigate to components, search for one contained component
6. you'll find it twice with the exact same data

### Expected Behavior

Same PURL should mean same component. Things you add manually to components should not get lost when a new scan comes in - neither directly nor indirectly by duplicating the component.

### Dependency-Track Version

4.10.1

### Dependency-Track Distribution

Container Image

### Database Server

PostgreSQL

### Database Server Version

16

### Browser

Mozilla Firefox

### 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 defect was already reported

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.