BUG: DejaCode exported CycloneDX SBOM does not retain dependency relationship
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Reproduziere den Workflow über Actions > Load packages from SBOMs und Share > CycloneDX mit einer CycloneDX 1.6 SBOM mit transitiven Abhängigkeiten. Vergleiche das importierte Inventar und die Abhängigkeitsbeziehungen mit den exportierten Abhängigkeiten und prüfe das zugehörige Issue #122. Erledigt ist dies, wenn der Import direkte und indirekte Abhängigkeiten unterscheidet und der Export jedes Paket mit dependsOn-Verweisen auf seine tatsächlichen Abhängigkeiten ausgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
Current DejaCode versions already represent the relationships between packages in a product's inventory and their dependencies with other packages. However, when exporting an SBOM that relationship is not correctly represented in the resulting file. This was tested with CycloneDX as output format.
The resulting file list all packages as if they are direct dependencies. This is incorrect, has some may only be transitive dependencies. This is highly important to get right for regulatory purposes as it indicates who is responsible for fixing issues or updating versions. If it is a direct dependency then the organisation developing the product is directly responsible. However, if a dependency of the product has transitive dependencies where a package is outdated, then the organisation developing the product may have to wait for a patch of that dependency to be released. Furthermore, displaying transitive dependencies as direct dependencies is simply inaccurate for the purpose of software component analysis.
To Reproduce
- Create a product in DejaCode
- Generate an SBOM for a product with a tool such as cdxgen, where there are transitive dependencies
- Use "Actions > Load packages from SBOMs" with "Scan all packages of this product post-import" checked
- Once the import is completed you should see the inventory populated and dependencies filled
- Use "Share > CycloneDX" to export an SBOM in format version 1.6
- Open the SBOM in an editor of your choice an see that all packages are listed as direct dependencies under the key "dependencies" and within that "dependsOn".
Expected behavior
Instead of having all packages listed in "dependsOn" as direct dependencies, they should be listed as follow:
- All dependencies should each have an entry like:
{ "ref": "pkg:pkgmanager/[email protected]", "dependsOn": [] }, - "dependsOn" should reference the PURLs of other packages that they depend on, if any (just like dependencies already do in DejaCode's internal model)
Important: The SBOM import must also ensure that only direct dependencies are listed as packages in the inventory and indirect/transitive dependencies are listed as dependecies. Otherwise this cannot be fixed afterwards. Hence, this issue is related to https://github.com/aboutcode-org/dejacode/issues/122
Screenshots
n.a.
Context (OS, Browser, Device, etc.):
n.a.
- Vorherrschende Sprache
- Python
- Sterne
- 52
- Forks
- 30
- Ø Merge
- 4 Std. 57 Min.
- Gemergte PRs (30 T.)
- 21
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus aboutcode-org/dejacode
-
DOC: Document workflow between ScanCode.io and DejaCodeEvtl. vergeben @tdruez hat das vor 1 Tag übernommen. Offendocumentation
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
aboutcode-org/dejacode#606 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
aboutcode-org/dejacode#603 ·
Maintainer antworten meist innerhalb von 1 Tag
-
design needed enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
aboutcode-org/dejacode#561 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Enhancement request: Refine License Category - Copyleft LimitedEvtl. wieder frei @hesa hat das vor 119 Tagen übernommen, und es ist kein Pull Request offen. Offendesign needed enhancement
aboutcode-org/dejacode#499 · 13 Kommentare · 3 zugewiesene Personen ·
Maintainer antworten meist innerhalb von 1 Tag
-
BUG: Product overview page splits product with many versions across pagesEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offenbug design needed enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
aboutcode-org/dejacode#460 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in aboutcode-org/dejacode
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
aws-samples/sample-per-model-bedrock#639 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
awslabs/visual-asset-management-system#937 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
project-codeflare/codeflare-sdk#1195 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Bump numpy dependencyOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
pandas-dev/pandas-stubs#2051 ·
Maintainer antworten meist innerhalb von 1 Tag