Recherche de vulnérabilités dans le code

Le service de gestion des dépendances d'application fournit une base de connaissances intégrée sur les vulnérabilités, que vous pouvez utiliser à partir des pipelines de compilation du service DevOps pour Oracle Cloud Infrastructure (OCI) afin de détecter les vulnérabilités dans les ensembles utilisés pour la compilation.

Le service ADM facilite le balayage des ensembles de logiciels à l'aide du système commun de notation des vulnérabilités (CVSS), qui est un cadre ouvert permettant de communiquer les caractéristiques et la gravité des vulnérabilités logicielles. Pour chaque dépendance, une note CVSS faible (par exemple 0,1) implique une vulnérabilité de sécurité moins importante, alors qu'une note CVSS élevée (par exemple 10,0) implique une vulnérabilité de sécurité importante ou critique. Lors du balayage d'un référentiel de code avec plusieurs dépendances, ADM fournit des valeurs agrégées telles que maxObservedCvssV2Score et maxObservedCvssV3Score.

Note

ADM prend en charge le balayage des ensembles Maven uniquement.

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

Processus de recherche de vulnérabilités

Une recherche de vulnérabilités décrit les vulnérabilités de votre application et de ses dépendances. Lorsque vous exécutez une compilation à l'aide du service DevOps pour OCI, vous pouvez lancer un balayage de code pour effectuer une nouvelle validation du référentiel de code. La recherche de vulnérabilités se produit à l'étape de compilation gérée.

Le pipeline de compilation DevOps utilise un fichier de spécification de compilation qui contient les étapes et les paramètres d'exécution d'une compilation. Dans le fichier de spécification de compilation, une étape de recherche de vulnérabilités de type VulnerabilityAudit est ajoutée pour indiquer le balayage de 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 trouvées, la compilation échoue et un sommaire de recherche des vulnérabilités est disponible pour vérifier l'erreur. Un sommaire de vérification est disponible même si aucune vulnérabilité n'est trouvée. Vous pouvez également consulter un rapport détaillé de recherche des vulnérabilités. Pour plus d'informations, voir Démarrage avec le service de gestion des dépendances d'application.

Politique GIA requise

Chaque service d'Oracle Cloud Infrastructure est intégré avec le service de gestion des identités et des accès (GIA) aux fins d'authentification et d'autorisation. Pour octroyer aux utilisateurs l'autorisation d'accéder aux pipelines de compilation et aux autres ressources DevOps, vous devez créer des groupes dynamiques et des politiques GIA. Pour créer des groupes dynamiques et des politiques pour les pipelines de compilation, voir Politiques de pipeline de compilation.

Les pipelines de compilation doivent accéder aux ressources du service ADM, telles que la base de connaissances pour laquelle vous devez définir certaines politiques GIA spécifiques. Voir Politiques d'accès aux ressources ADM. Pour plus de détails, voir Politiques GIA pour DevOps.