Verificando se Há Vulnerabilidades no Código

O serviço ADM (Application Dependency Management) fornece uma base integrada de conhecimento de vulnerabilidade que você pode usar nos pipelines de build do OCI (Oracle Cloud Infrastructure) DevOps para detectar vulnerabilidades nos pacotes usados para o build.

O serviço ADM facilita a verificação de pacotes de software usando o CVSS (Common Vulnerability Scoring System, Sistema de pontuação de vulnerabilidades comuns), que é uma estrutura aberta para comunicar as características e a severidade das vulnerabilidades do software. Para cada dependência, uma pontuação de CVSS baixa (por exemplo, 0,1) implica uma vulnerabilidade de segurança menos grave, enquanto uma pontuação de CVSS alta (por exemplo, 10,0), implica uma vulnerabilidade de segurança alta ou crítica. Ao verificar um repositório de código que tem várias dependências, o ADM fornece valores agregados, como maxObservedCvssV2Score e maxObservedCvssV3Score.

Observação

O ADM suporta a varredura somente de pacotes Maven.

Se você tiver repositórios Maven personalizados, o OCI DevOps suportará a configuração deles no arquivo pom.xml. Um POM (Project Object Model, modelo de objeto de projeto) é um arquivo XML que contém detalhes de configuração usados pelo Maven para criar o projeto. Para configurar repositórios Maven, consulte Configurando Vários Repositórios.

Processo de Auditoria de Vulnerabilidade

Uma auditoria de vulnerabilidade descreve as vulnerabilidades do seu aplicativo e suas dependências. Quando você executa um build usando o serviço OCI DevOps, pode iniciar uma verificação de código para um novo commit no repositório de código. A auditoria de vulnerabilidade acontece no estágio de Build Gerenciado.

O pipeline de build do DevOps usa um arquivo de especificação de build que contém etapas e definições de build para executar um build. No arquivo de especificação de build, uma etapa de auditoria de vulnerabilidade do tipo VulnerabilityAudit é adicionada para instruir sobre a verificação de código. Exemplo:
steps:
  - type: VulnerabilityAudit        
    name: "Vulnerability Audit Step"  
    configuration:                   
      buildType: maven               
      pomFilePath: ${OCI_PRIMARY_SOURCE_DIR}/pom.xml 
      packagesToIgnore:
        - com.oracle.*
        - org.apache.logging
      maxPermissibleCvssV2Score: 10.0                
      maxPermissibleCvssV3Score: 10.0                
    knowledgeBaseId: ocid1.admknowledgebase.oc1.iad.restoftheocid 
    vulnerabilityAuditCompartmentId: ocid1.compartment.oc1..restoftheocid
    vulnerabilityAuditName: testReport

Se forem encontradas vulnerabilidades, o build falhará e um resumo de auditoria de vulnerabilidade estará disponível para verificar o erro. Um resumo de auditoria estará disponível mesmo se nenhuma vulnerabilidade for encontrada. Você também pode exibir um relatório detalhado de auditoria de vulnerabilidade. Para obter mais informações, consulte Conceitos Básicos do Serviço Application Dependency Management.

Política Obrigatória do Serviço IAM

Cada serviço do Oracle Cloud Infrastructure (OCI) é integrado com o serviço IAM (Identity and Access Management) para autenticação e autorização. Para conceder aos usuários permissão para acessar os pipelines de build do DevOps e outros recursos, crie grupos dinâmicos e políticas do serviço IAM. Para criar grupos dinâmicos e políticas para pipelines de build, consulte Políticas de Pipeline de Build.

Os pipelines de build precisam acessar os recursos do serviço ADM, como a base de conhecimento para a qual você precisa definir determinadas políticas específicas do serviço IAM. Consulte Políticas para Acessar Recursos do ADM. Para obter mais detalhes, consulte Políticas do Serviço IAM do DevOps.