BUG: DejaCode exported CycloneDX SBOM does not retain dependency relationship
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Reproduisez le workflow via Actions > Load packages from SBOMs et Share > CycloneDX à l’aide d’une SBOM CycloneDX 1.6 avec des dépendances transitives. Comparez l’inventaire importé et les relations de dépendance avec les dépendances exportées et examinez l’issue associée #122. Le travail est terminé lorsque l’importation préserve la distinction entre les dépendances directes et indirectes et que l’exportation émet chaque package avec des références dependsOn vers ses dépendances réelles.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 52
- Forks
- 30
- Merge moyen
- 4 h 57 min
- PR mergées (30 j)
- 21
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de aboutcode-org/dejacode
-
DOC: Document workflow between ScanCode.io and DejaCodePeut-être pris @tdruez l’a pris aujourd’hui. Ouvertedocumentation
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
aboutcode-org/dejacode#606 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
aboutcode-org/dejacode#603 ·
Les mainteneurs répondent en général sous 1 jour
-
design needed enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 62/100
aboutcode-org/dejacode#561 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Enhancement request: Refine License Category - Copyleft LimitedPeut-être à nouveau libre @hesa l’a pris il y a 118 jours, et aucune pull request n’est ouverte. Ouvertedesign needed enhancement
aboutcode-org/dejacode#499 · 13 commentaires · 3 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
BUG: Product overview page splits product with many versions across pagesPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertebug design needed enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
aboutcode-org/dejacode#460 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de aboutcode-org/dejacode
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
Validate finite output clamping limits in StepPredictor.prepare_clamping_params to prevent silent NaN/Inf propagationPeut-être pris @muskan-creates352 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
mllam/neural-lam#848 ·
Les mainteneurs répondent en général sous 2 jours
-
infra
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
fab-geocommuns/RNB-coeur#1166 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
deepspeedai/DeepSpeed#8951 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
aws/context-ontology-accelerator#343 ·
Les mainteneurs répondent en général sous 1 jour