POST: Our approach to compare SBOMS, or the "10 steps for SBOM comparison".
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- markdown
- Domínio
- content
Direção de pesquisa
Comece localizando o ponto de entrada do site baseado em markdown e o formato existente para as postagens. Use o corpo da issue como estrutura para o artigo de comparação de SBOM e inclua a imagem de coruja vinculada; a tarefa estará concluída quando a postagem for adicionada no local esperado do site, com suas orientações numeradas, e a imagem for renderizada corretamente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
This is our approach to compare SBOMS, or what are the "more or less" "10 steps towards SBOM validation and comparison":
First, what are the requirements that make an SBOM comparable? At a high level, you can only compare apples-to-apples. In SBOM speak, this means that you have have a complete listing of all packages included in a software, using the same package (and license) identifiers.
Here are the requirements towards a comparable SBOM:
- Is this valid JSON? Otherwise, fix the JSON until it loads.
- Is the data schema-valid for its SBOM JSON schema? Otherwise, fix the JSON until it validates.
- Is the SBOM using PURLs to identify packages? Otherwise, fix the package identifiers to map to PURL.
- Are the PURLs using a correct syntax? Otherwise, fix the PURL until they validate.
- As these existing PURLs, known in the PURL spec as registered types, and pointing to actual real code? Otherwise, fix the PURL until they are correct.
- Are all the PURLs that should be present found in the SBOM? (is this complete and accurate?) Otherwise, fix the SBOM until it is accurate.
- Are the versions of each package available with each PURL? Otherwise, fix the PURL until they all have a version.
And also for licensing:
- Is the license for each package present? Otherwise, fix the SBOM.
- Are licenses using correct SPDX license expressions? Otherwise, fix the licenses to get expressions.
And also to cross check when some data is lacking or incorrect:
- Is there a copyright or some provenance information for each package? Otherwise, fix the SBOM to add the missing information.
- Are key URLs like home page or download URLs present for each package?0. Is this the list of PURLs for the deployed, as-run code? Otherwise, fix the SBOM to add the missing information.
Other interesting data points:
13. Is the relationship between packages described?
14. Are there other "enrichment", like package description, other attributes?
15. For each package, is there an indication of its intended usage or "scope" (test, prod, dev, doc, etc.)?
Finally:
16. What is the "type" of SBOM? OR at what point in time in the software lifecycle it was computed?
And now, here is how compare two SBOMs!
-
Esnure that all requirements 1. to 7. are met.
-
Extract and sort the list of PURLs from each SBOM, and compare these two sequences (an easy diff)
-
If 16. holds and this is the same analyzed code, there should be no differences at all.
-
You can further compare licenses for any matching PURLs pair assuming that 8. and 9. are met.
(Add an image of the How to Draw an Owl meme)
https://www.reddit.com/r/pics/comments/d3zhx/how_to_draw_an_owl/
- Linguagem predominante
- JavaScript
- Estrelas
- 9
- Forks
- 17
- Merge médio
- 7h 55min
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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/www.aboutcode.org
-
Making all post button.Talvez já em andamento @sarthaklole assumiu há 70 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
aboutcode-org/www.aboutcode.org#117 · 3 comentários ·
-
WWW: Reduce frequency of update-releasesTalvez livre de novo @johnmhoran assumiu há 51 dias e não há nenhum pull request aberto. Abertaci-workflow
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
aboutcode-org/www.aboutcode.org#180 · 1 responsável ·
-
DOCS: Create new AboutCode stack diagram(s)Talvez livre de novo @hixvikas assumiu há 52 dias e não há nenhum pull request aberto. Abertadocumentation
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
aboutcode-org/www.aboutcode.org#166 · 1 comentário ·
-
WWW: Create About top level page?Talvez já em andamento @pombredanne assumiu há 154 dias. Abertawebsite
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
aboutcode-org/www.aboutcode.org#164 · 1 reação · 1 responsável ·
-
WWW: Add Initiatives and grant ProjectsTalvez livre de novo @mjherzog assumiu há 241 dias e não há nenhum pull request aberto. Abertaenhancement needs design website
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
aboutcode-org/www.aboutcode.org#141 · 1 responsável ·
Todas as issues de aboutcode-org/www.aboutcode.org
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
feimacode/open-design-agent-kit#66 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
xojs/eslint-config-xo#134 ·
-
FEATURE REQUEST
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
linuxmint/cinnamon-spices-extensions#1193 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
huggingface/transformers.js#1839 ·
Mantenedores costumam responder em até 1 dia