Lista de materiais do software
Um SBOM (Software Bill Of Materials) é um inventário estruturado de todos os componentes, dependências e licenças em um aplicativo de software. Ele fornece metadados detalhados, incluindo nomes de componentes, versões, licenças, vulnerabilidades e dependências, ajudando as organizações a rastrear software de código aberto e de terceiros para segurança, conformidade e gerenciamento de riscos.
Você pode exportar facilmente seu SBOM em formatos padronizados (SPDX, CycloneDX ) e importar SBOMs de terceiros usando dados VEX para atender aos requisitos do governo e do cliente.
Durante a execução do pipeline, há determinadas ferramentas que são usadas para gerar SBOMs. A ferramenta atualmente disponível para gerar um SBOM é:
O que são SBOMs de pacote?
Um pacote SBOM detalha todas as informações sobre todos os pacotes que são usados em um projeto de software. Ele fornece informações sobre as versões, as licenças e as vulnerabilidades de cada pacote usado. Os SBOMs de pacotes são gerados em um nível de microsserviço, um SBOM é gerado para cada microsserviço em uma arquitetura.
Ciclo de vida do SBOM
O ciclo de vida do SBOM abrange todas as etapas da implantação de microsserviços (o pipeline de CI, CD e CC é executado).
- Pipeline de integração contínua (CI)- Durante a execução do pipeline de CI, um SBOM é gerado para cada microsserviço construído.
- Pipeline de implantação contínua (CD)- Durante a execução do pipeline de CD, um SBOM de versão é gerado para todos os microsserviços implantados.
- Pipeline de conformidade contínua (CC)- Após a conclusão da execução do pipeline de CD, o pipeline de CC monitora continuamente o aplicativo implantado. Durante a execução do pipeline de CC, os SBOMs gerados para cada microsserviço no pipeline de CI são recuperados e verificados.
Ciclo de vida do SBOM no pipeline de integração contínua
O pipeline de integração contínua cria os artefatos implantáveis a partir dos repositórios de aplicativos.
Quando o pipeline de CI é executado na etapa code-compliance-checks, o CRA é executado e cria um pacote SBOM para o repositório a partir do qual o artefato implantado é criado. Esse pacote SBOM contém informações sobre os pacotes
que são usados por cada microsserviço que está sendo criado no pipeline de CI. Ele fornece informações sobre a licença, a versão e as vulnerabilidades de cada pacote.
Esse pacote SBOM é armazenado no armário de evidências do pipeline para uso posterior durante a implantação na produção.
Ciclo de vida do SBOM no pipeline de implantação contínua
O pipeline de implantação contínua reúne todas as evidências e gera o conteúdo do resumo da solicitação de alteração.
Quando a implementação na produção ocorre por meio do pipeline de CD, os SBOMs do pacote que estão armazenados no armário de evidências são obtidos. Essas SBOMs são agregadas para formar uma SBOM de liberação. O SBOM da versão é adicionado como um anexo na solicitação de alteração.
Ciclo de vida da SBOM no pipeline de conformidade contínua
O pipeline de conformidade contínua verifica periodicamente os artefatos implantados e seus repositórios de origem em busca de vulnerabilidades, após a implantação na produção.
Quando o pipeline CC é executado, ele recupera o pacote SBOM armazenado anteriormente que foi gerado durante a execução do pipeline CI a partir do armário de evidências. O pipeline CC não recria os SBOMs do pacote.
Utilitário SBOM para validação de SBOM
Quando o pipeline é executado, o SBOM é adicionado como um anexo à evidência com.ibm.code_bom_check nos formatos standard e cyclonedx.
A ferramenta sbom-utility valida o SBOM realizando uma série de verificações padrão e personalizadas para verificar se os metadados contêm:
- Um componente no nível raiz da SBOM que contém dados
- Um registro de data e hora
- Um
nameebom-refpara cada campo de componente
Para coletar evidências para a validação do SBOM, defina sbom-validation-collect-evidence como 1. A evidência é coletada como um anexo para com.ibm.code_bom_check com o tipo de evidência e o tipo de ferramenta
como sbom-utility.
Para obter mais informações, consulte a documentação da ferramenta sbom-utility.