Enhancement request: Retain transitive relationship between packages when importing SBOM
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 30/100
Direção de pesquisa
Comece pelos arquivos anexados sbom-1-4-formatted.cdx.json e dejacode_beta-systems_product_dejacode-transitive-dependencies-3_0.0.1.cdx.json, comparando as relações de dependência que são niveladas durante a importação e a exportação. O trabalho estará concluído quando o mapeamento com escopo no produto preservar as dependências transitivas e as intencionalmente excluídas, de modo que uma nova exportação mantenha a hierarquia importada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is your enhancement request related to a problem? Please describe.
DejaCode allows to load packages associated with a product from an SBOM. A modern SBOM that fulfills requirements such as BSI TR-03183 will have to list transitive dependencies, meaning that not just the immediate dependencies used by the product are included, but also the ones they depend on and so on until all indirect dependencies are listed as well. When DejaCode imports the packages from the SBOM it only associates them directly with the product, all information about the transitive nature between packages is completely lost. The SBOM exported from DejaCode will list all dependencies as if they were direct dependencies of the product. As such it is not an accurate SBOM and does not fulfill current regulations.
What are the benefits of the requested enhancement?
The exported SBOM would provide accurate information. Currently, it does not reflect the actual status of the dependencies and as such is not an SBOM that fulfills regulation such as the Cyber Resilience Act or NTIA Minimum Elements for a Software Bill of Materials persuant to Executive Order 14028 as well as other national standards/technical guidelines.
Describe the solution you would like
It would be highly important that DejaCode retains the relationships between packages by storing the hierarchy in the context of the product. The exported SBOM for the product should retain the hierarchy that was provided when importing the SBOM.
The indirect dependencies for a package may seem fixed for a particular package version that is a direct dependency. However, there are uses cases where some of the transitive dependencies could get intentionally excluded, especially for Java software. Thus my recommendation would be to have this mapping in the product and not in the package itself.
Additional notes
Example data for an SBOM imported into DejaCode and the result after exporting it. Notice that dependencies has turned into a flat list.
Imported SBOM:
Exported SBOM:
- 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
-
Unify product Clone, "Save as new" and admin "Save as new" into a single clone featureTalvez já em andamento @Anurag-S1ngh assumiu hoje. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
aboutcode-org/dejacode#603 · 1 comentário ·
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
-
PluginProvider.storeInstance races and clobbers the dedup cache for concurrent loadsTalvez já em andamento @Wilson0511 assumiu hoje. Abertaneeds-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 2 dias
-
community documentation good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
bug(sdk): add_toleration_json silently drops camelCase tolerationSeconds for static dict/list inputTalvez já em andamento @ravikumar266 assumiu hoje. Abertaarea/sdk kind/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
kubeflow/pipelines#15347 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
predict_file with crop_model duplicates predictions once per imageTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
weecology/DeepForest#1445 ·