BUG: DejaCode exported CycloneDX SBOM does not retain dependency relationship
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Reproduce el flujo de trabajo mediante Actions > Load packages from SBOMs y Share > CycloneDX usando una SBOM CycloneDX 1.6 con dependencias transitivas. Compara el inventario importado y las relaciones de dependencia con las dependencias exportadas y revisa el issue relacionado #122. Se considera terminado cuando la importación conserva la distinción entre dependencias directas e indirectas y la exportación emite cada paquete con referencias dependsOn a sus dependencias reales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 52
- Forks
- 30
- Merge medio
- 4 h 57 min
- PR fusionados (30 d)
- 21
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aboutcode-org/dejacode
-
documentation
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
aboutcode-org/dejacode#606 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
aboutcode-org/dejacode#603 ·
Los mantenedores suelen responder en 1 día
-
design needed enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
aboutcode-org/dejacode#561 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Enhancement request: Refine License Category - Copyleft LimitedQuizá libre de nuevo @hesa la tomó hace 118 días y no hay ningún pull request abierto. Abiertodesign needed enhancement
aboutcode-org/dejacode#499 · 13 comentarios · 3 asignados ·
Los mantenedores suelen responder en 1 día
-
BUG: Product overview page splits product with many versions across pagesQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug design needed enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
aboutcode-org/dejacode#460 ·
Los mantenedores suelen responder en 1 día
Todos los issues de aboutcode-org/dejacode
Issues similares
-
factory
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Arize-ai/phoenix#17420 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
FireDynamics/LEDSmokeAnalysis#176 ·
Los mantenedores suelen responder en 1 día
-
PC
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Make `ocifs` optionalAbiertodependencies
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
dlt-contrib/dlt-filesystem#51 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día