Exploración de código para detectar vulnerabilidades

El servicio Application Dependency Management (ADM) proporciona una base de conocimientos de vulnerabilidad integrada que puede utilizar desde los pipelines de compilación de Oracle Cloud Infrastructure (OCI) DevOps para detectar vulnerabilidades en los paquetes utilizados para la compilación.

El servicio ADM facilita la exploración de paquetes de software mediante el sistema de puntuación de vulnerabilidades comunes (CVSS), que es un marco abierto para comunicar las características y la gravedad de las vulnerabilidades de software. Para cada dependencia, una puntuación de CVSS baja (por ejemplo, 0,1) implica una vulnerabilidad de seguridad menos grave, mientras que una puntuación de CVSS alta (por ejemplo, 10,0) implica una vulnerabilidad de seguridad alta o crítica. Al explorar un repositorio de código con varias dependencias, ADM proporciona valores agregados como maxObservedCvssV2Score y maxObservedCvssV3Score.

Nota

ADM solo soporta la exploración de paquetes de Maven.

Si tiene repositorios de Maven personalizados, OCI DevOps soporta su configuración en el archivo pom.xml. Un modelo de objetos de proyecto (POM) es un archivo XML que contiene los detalles de configuración que utiliza Maven para crear el proyecto. Para configurar repositorios de Maven, consulte Configuración de varios repositorios.

Proceso de auditoría de vulnerabilidad

Una auditoría de vulnerabilidad describe las vulnerabilidades de la aplicación y sus dependencias. Al ejecutar una compilación mediante el servicio OCI DevOps, puede iniciar una exploración de código para una nueva confirmación en el repositorio de código. La auditoría de vulnerabilidad se desarrolla en la etapa Compilación gestionada.

El pipeline de compilación de DevOps utiliza un archivo de especificación de compilación que contiene los pasos y la configuración de compilación para ejecutar una compilación. En el archivo de especificación de compilación, se agrega un paso de auditoría de vulnerabilidad de tipo VulnerabilityAudit para obtener instrucciones sobre la exploración de código. Ejemplo:
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

Si se encuentran vulnerabilidades, la compilación falla y se ofrece un resumen de auditoría de vulnerabilidad para revisar el error. Incluso si no se encuentran vulnerabilidades, también se ofrece un resumen de auditoría. También puede consultar un informe de auditoría de vulnerabilidad detallado. Para obtener más información, consulte Introducción a Application Dependency Management.

Política de IAM necesaria

Todos los servicios de Oracle Cloud Infrastructure (OCI) se integran con Identity and Access Management (IAM) para las cuestiones relativas a la autenticación y autorización. Para otorgar permiso a los usuarios para acceder a los pipelines de compilación de DevOps y a otros recursos, debe crear grupos dinámicos y políticas de IAM. Para crear grupos dinámicos y políticas para pipelines de compilación, consulte Políticas de pipeline de compilación.

Los pipelines de compilación necesitan acceder a los recursos del servicio ADM, como la base de conocimientos para la que debe definir determinadas políticas de IAM específicas. Consulte Políticas para acceder a los recursos de ADM. Para obtener más información, consulte Políticas de IAM de DevOps.