DependencyTrack / DependencyTrack/dependency-track

Improve documentation - license manangement and policy violations

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

Description

### Current Behavior

From the documentation it is unclear to me how to work with DT _the right way_ when it comes to license management.

Setting up policies is rather self explanatory from the UI but after that I feel somewhat lost.

Let's say we add a policy to warn us for every component where the license is unresolved.
Now, even for a simple OCI with a debian base and a handful of python packages I ended up with 37 policy violations. For some reason, either trivy or DT didn't pick up the license information, e.g., for [wheel](https://pypi.org/project/wheel/) (it's MIT).

So what do I do now? I click on the component, look up the license, select it in the drop down. Now what, do I hit `rejected` or `approved`? Do I reject the finding (false positive) or do I approve the component? A little explanation would help here. Do I also need to actively suppress the finding if it's a false positive? The [docs](https://docs.dependencytrack.org/triage/suppression/) suggest this, but it's not very clear. The analysis outcomes mentioned [there](https://docs.dependencytrack.org/triage/suppression/#best-practice) (`FALSE_POSITIVE`, `NOT_AFFECTED`) do not apply. My DT 4.10.1 only has `not set`, `rejected` and `approved` in the policy violation details.

Also, is this the way to go about this? If I enter `(MIT OR Apache-2.0)` for [sniffio 1.3.0](https://pypi.org/project/sniffio/) I guess that when a new build contains, let's say, sniffio 1.3.1 I will again receive a policy violation, right? At least that's what I'd expect (for licenses may change).
Ofc, I don't want to chase down licenses all day long. What do I do with this? Do I check the SBOM and open an issue with trivy if the license is missing there? Or is it a DT issue and I should open an issue here?

A clear guide for actual users would be great.

### Proposed Behavior

A real life how-to guide how to actually perform license management with DT with several projects and project versions would come in handy (maybe I just haven't found it yet?) - including what to do with false positives.

(Plus, maybe, a tooltip for the "Analysis" dropdown.)

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

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.