Analyse de code à des fins de détection des vulnérabilités

Le service Application Dependency Management (ADM) fournit une base de connaissances intégrée sur les vulnérabilités que vous pouvez utiliser à partir des pipelines de build Oracle Cloud Infrastructure (OCI) DevOps afin de détecter les vulnérabilités dans les packages utilisés pour le build.

Le service ADM facilite l'analyse des packages logiciels à l'aide du système CVSS (Common Vulnerability Scoring System), une structure open source permettant de communiquer les caractéristiques et la gravité des vulnérabilités logicielles. Pour toute dépendance, un score CVSS faible (par exemple, 0,1) indique une vulnérabilité de sécurité moins grave tandis qu'un score CVSS élevé (par exemple, 10,0) implique une vulnérabilité de sécurité élevée ou critique. Lors de l'analyse d'un référentiel de code comportant plusieurs dépendances, ADM fournit des valeurs agrégées telles que maxObservedCvssV2Score et maxObservedCvssV3Score.

Remarque

ADM prend en charge l'analyse des packages Maven uniquement.

Si vous disposez de référentiels Maven personnalisés, OCI DevOps prend en charge leur configuration dans le fichier pom.xml. Un modèle d'objet de projet (POM) est un fichier XML qui contient les détails de configuration utilisés par Maven pour créer le projet. Pour configurer des référentiels Maven, reportez-vous à Configuration de plusieurs référentiels.

Processus d'audit de vulnérabilité

Un audit de vulnérabilité décrit les vulnérabilités de votre application et de ses dépendances. Lorsque vous exécutez un build à l'aide du service OCI DevOps, vous pouvez lancer une analyse de code pour une nouvelle validation dans le référentiel de code. L'audit de vulnérabilité est effectué lors de la phase de build géré.

Le pipeline de build DevOps utilise un fichier de spécification de build qui contient les étapes et les paramètres d'exécution d'un build. Dans le fichier de spécification de build, une étape d'audit de vulnérabilité de type VulnerabilityAudit est ajoutée afin de fournir des instructions sur l'analyse du code. Exemple :
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 des vulnérabilités sont détectées, le build échoue et un récapitulatif d'audit de vulnérabilité est mis à disposition pour examiner l'erreur. Le récapitulatif d'audit est disponible même si aucune vulnérabilité n'est détectée. Vous pouvez également consulter un rapport d'audit détaillé sur les vulnérabilités. Pour plus d'informations, reportez-vous à Introduction à Application Dependency Management.

Stratégie IAM requise

Chaque service d'Oracle Cloud Infrastructure (OCI) s'intègre à Identity and Access Management (IAM) pour l'authentification et l'autorisation. Pour accorder aux utilisateurs les droits d'accès aux pipelines de build DevOps et à d'autres ressources, vous devez créer des groupes dynamiques et des stratégies IAM. Afin de créer des groupes dynamiques et des stratégies pour les pipelines de build, reportez-vous à Stratégies de pipeline de build.

Les pipelines de build doivent accéder aux ressources du service ADM, telles que la base de connaissances, pour lesquelles vous devez définir certaines stratégies IAM spécifiques. Reportez-vous à Stratégies d'accès aux ressources ADM. Pour plus de détails, reportez-vous à Stratégies IAM DevOps.