BUG: DejaCode exported CycloneDX SBOM does not retain dependency relationship
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Reproduza o workflow por meio de Actions > Load packages from SBOMs e Share > CycloneDX usando uma SBOM CycloneDX 1.6 com dependências transitivas. Compare o inventário importado e as relações de dependência com as dependências exportadas e revise a issue relacionada #122. Está concluído quando a importação preserva a distinção entre dependências diretas e indiretas e a exportação emite cada pacote com referências dependsOn para suas dependências reais.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 52
- Forks
- 30
- Merge médio
- 4h 57min
- PRs com merge (30d)
- 21
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de aboutcode-org/dejacode
-
DOC: Document workflow between ScanCode.io and DejaCodeTalvez já em andamento @tdruez assumiu há 2 dias. Abertadocumentation
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
aboutcode-org/dejacode#606 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
aboutcode-org/dejacode#603 ·
Mantenedores costumam responder em até 1 dia
-
design needed enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
aboutcode-org/dejacode#561 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Enhancement request: Refine License Category - Copyleft LimitedTalvez livre de novo @hesa assumiu há 120 dias e não há nenhum pull request aberto. Abertadesign needed enhancement
aboutcode-org/dejacode#499 · 13 comentários · 3 responsáveis ·
Mantenedores costumam responder em até 1 dia
-
BUG: Product overview page splits product with many versions across pagesTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertabug design needed enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
aboutcode-org/dejacode#460 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de aboutcode-org/dejacode
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
namespace operations
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
EclipseFdn/open-vsx.org#15057 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
FinanceFlash/unvibecode#349 ·
-
Mission statement: why this is free, in the README, Why This Exists and the wiki HomeTalvez já em andamento @ChiefGyk3D assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
ChiefGyk3D/Clouds-Against-Humanity#348 ·
Mantenedores costumam responder em até 1 dia
-
[Perf] Default --vllm-watermark 0.05 for rollouts (hybrid models re-preempt under KV pressure)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
vllm-project/vime#508 ·
Mantenedores costumam responder em até 4 dias