Carregando Lista de materiais de software Arquivos que usam uma REST API

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • Revise as seguintes informações antes de carregar Lista de materiais de software Arquivos que usam uma API.

    Usando a REST API

    Para carregar um arquivo SBOM com uma API, a função sn_sbom_core.sbom_ingest é necessária.

    Carregar API.

    Esta API é usada para carregar e ingerir um arquivo SBOM (CycloneDX/SPDX) em sua instância.

    Versão 4,0 de SBOM O Core oferece suporte a:
    • XML e JSON no CycloneDx (versões 1.0 - 1.6).
    • JSON no SPDX (versões 2,2-2,3)
    • Nota:
      Arquivos com mais de 32 MB podem não ser carregados corretamente.

    Método HTTP: (POST)

    URL DA API: <host_name>/api/sbom/core/upload
    Nota:
    <host_name> é seu ServiceNow nome da instância.
    Todos os parâmetros de solicitação abaixo são opcionais; o corpo da solicitação é o conteúdo do arquivo SBOM. Se você estiver usando DevOps como parte do seu processo de desenvolvimento, o valor de "questedBy" deve ser "devots". Consulte Carregando Lista de materiais de software Para DevOps SBOM arquivos Para obter mais informações gerais sobre DevOps. Se o valor de "questedby" for "devops" (operações de desenvolvimento), estes parâmetros serão obrigatórios:
    • Criado
    • Fase de Vida
    Além disso, se "questedBy" for "devops", os dados de fetchVulenrabilityInfo e fetchPackageInfo serão incluídos.
    • Cadeia de caracteres buildid- que você envia
    • LifecycleStage- Dois valores, production ou pre_production
    • FetchVulenrabilityInfo- t/f
    • FetchPackageInfo-t/f
    Parâmetros da solicitação Valores possíveis Descrição
    productModelId SYS ID SYS ID do modelo de produto a ser mapeado com a aplicação raiz de fornecida SBOM.
    BusinessApplicationId SYS ID SYS ID da aplicação de negócios a ser mapeada com a aplicação raiz de fornecida SBOM.
    BusinessApplicationName (descontinuado) Seu nome da aplicação de negócios Nome da aplicação de negócios a ser mapeada com a aplicação raiz de fornecida SBOM.
    SbomSource Um produto como Veracode, por exemplo A origem do seu SBOM arquivo.
    requestedBy Uma ferramenta, ou nome de uma metodologia, Jenkins. Se você usar "devops", buildid e lifecycleStage serão obrigatórios. Carregamento solicitado por
    Criado Um solicitante de cadeia de caracteres envia. ID de compilação do SBOM compilação.
    Fase de Vida produção ou pre_production Fase do ciclo de vida da entidade.
    FetchVulenrabilityInfo t/f Se verdadeiro, aciona a integração de inteligência de vulnerabilidades.
    FetchInformações do pacote t/f Se verdadeiro, aciona a integração de inteligência de pacote.
    Carregar resposta da API: Sucesso/falha "status", "message" (cadeia de caracteres), "bomRecordId" incluído (este é o sys ID do SBOM retornado por meio da API de upload para um carregamento bem-sucedido do SBOM).
    {
    
    "result": {
    
    "status": "success",
    
    "message": "Queued for processing.",
    
    "bomRecordId": "f207059b4393c290629aa597cbb8f247"
    
    }
    
    }

    API de status

    Esta API obtém o status e o resumo de um SBOM que está enfileirado para ingestão.
    • URL DA API: /api/sbom/core/upload/status
    • Método HTTP (GET)
    Parâmetros da solicitação Valores possíveis Descrição
    BomRecordId SYS ID ID do registro do SBOM que é retornado por meio da API de carregamento para um carregamento bem-sucedido do SBOM.

    Exemplo de resposta padrão da API de status.

    
    {
       "result": {
          "bomRecordId": "0407c0fea3e70a505df340f5251e617e",
          "uploadStatus": "processed",
          "additionalInfoStatus": "not_requested",
          "uploadSummary": {
             "components": {
                "added": 0,
                "removed": 0,
                "total": 70
             }
           }
        } 
    }

    Exemplo de resposta da API de status com parâmetros adicionais. Se você solicitou fetchVulenrabilityInfo para esse SBOM, obterá o detalhamento da vulnerabilidade como parte da resposta.

    
    {
     "result": {
    
      "bomRecordId": "93af349b4393c290629aa597cbb8f258",
    
      "uploadStatus": "processed",
    
      "additionalInfoStatus": "complete",
    
      "uploadSummary": {
    
        "components": {
     
         "added": 0,
    
         "removed": 0,
    
         "total": 3
    
       },
    
       "vulnerabilityInfo": {
    
        "critical": 0,
    
        "high": 0,
    
        "medium": 0,
    
        "low": 0,
    
        "none": 0
    
       }
    
      },
    
      "buildId": "1"
    
     }
    
    }

    Se você solicitou fetchPackageInfo para esse SBOM, obterá contagens obsoletas e abandonadas como parte da resposta.

    Depois de um SBOMé processado com sucesso, onde você exibe os registros carregados depende das aplicações que está usando.

    • Se você estiver usando SBOM Resposta, o registro da entidade da BOM é exibido no SBOM Lista Status de ingestão no módulo Fila da BOM no SBOM Espaço.
    • Se você estiver usando o SBOM Core, navegue até Núcleo de SBOM > Status de ingestão da lista de materiais.

    Melhorias no compatíveis SBOM padrões e informações gerais de uso

    Versão 4,0 de SBOM O Core oferece suporte a:
    • XML e JSON no CycloneDx (versões 1.0 - 1.6).
    • JSON no SPDX (versões 2,2-2,3)
    • Nota:
      Arquivos com mais de 32 MB podem não ser carregados corretamente.
    A partir da v4.0 de SBOM Core, as seguintes melhorias foram feitas para oferecer suporte aos padrões CycloneDx para as versões 1,0 a 1,6:
    • Importe informações adicionais nos arquivos SBOM do CycloneDX com a propriedade (sn_sbom_core.collect_properties). Esta propriedade está desativada por padrão. Ative a propriedade para importar informações que geralmente não são compatíveis. Todas as informações importadas dessas propriedades são carregadas na tabela Propriedade do componente SBOM [sn_sbom_comp_property] para o seguinte:
      • Arquivos SBOM carregados
      • Metadados
      • Vulnerabilidades individuais
      • Componentes
    • Exiba dados de componentes importados para licenças declaradas e concluídas para arquivos SBOM nas versões 1,4 e posteriores do CycloneDX em dois novos campos de licença:
      • Declarado
      • Concluído
    • O suporte à análise do SBOM foi estendido para os seguintes tipos de componente do CycloneDX:
      • Versão 1,5: Plataforma, dados, driver de dispositivo, modelo de aprendizado de máquina
      • Versão 1,6: Criptográfico
    Versão 3,0 de SBOM O Core oferece suporte a:
    • XML e JSON no CycloneDx (até e incluindo a versão 1,4).
    • JSON em SPDX (até e incluindo v2.3).

    Se o usuário chamador for autenticado com sucesso e tiver a função sn_sbom_core.sbom_ingest em seu ServiceNow, você pode acessar a API de fora da sua instância para carregar o. SBOM dados.

    Depois que os dados são carregados, eles são analisados. Antes que os dados sejam analisados, os seguintes requisitos são verificados:

    • Os dados de entrada são verificados se são JSON ou XML válidos.
    • O formato da BOM é compatível. A partir da v2.1 de SBOM Os formatos Core, CycloneDX (JSON e XML) e SPDX (XML) são compatíveis.
    • Os campos mínimos estão disponíveis para que os dados possam ser analisados.

    Depois que essas verificações são verificadas, uma entrada é feita na tabela Lista de materiais [sn_sbom_doc] com a entrada SBOM dados como um anexo.

    . Process BOM filea regra de negócio é acionada automaticamente como resultado da inserção de registro e da análise de dados.
    Nota:
    Esta regra de negócio é ativada durante a instalação de SBOM Core por padrão.

    Todos os componentes listados em um SBOM definido tipo .

    • Componentes para os quais SBOM Os arquivos carregados são considerados entidades de BOM.
    • Componentes listados como tipo: biblioteca são considerados componentes de terceiros.