Analisi del codice per le vulnerabilità

Il servizio ADM (Application Dependency Management) fornisce una knowledge base integrata sulle vulnerabilità che è possibile utilizzare dalle pipeline di build DevOps di Oracle Cloud Infrastructure (OCI) per rilevare le vulnerabilità nei pacchetti utilizzati per la build.

Il servizio ADM facilita la scansione dei pacchetti software utilizzando Common Vulnerability Scoring System (CVSS), una struttura aperta per la comunicazione delle caratteristiche e della gravità delle vulnerabilità del software. Per ogni dipendenza, un punteggio CVSS basso (ad esempio 0,1) implica una vulnerabilità di sicurezza meno grave, mentre un punteggio CVSS elevato (ad esempio 10,0) implica una vulnerabilità di sicurezza elevata o critica. Durante la scansione di un repository di codici con più dipendenze, ADM fornisce valori aggregati quali maxObservedCvssV2Score e maxObservedCvssV3Score.

Nota

ADM supporta la scansione solo dei package Maven.

Se si dispone di repository Maven personalizzati, OCI DevOps supporta la configurazione nel file pom.xml. Un modello POM (Project Object Model) è un file XML che contiene i dettagli di configurazione utilizzati da Maven per creare il progetto. Per configurare i repository Maven, vedere Impostazione di più repository.

Processo di audit delle vulnerabilità

Un audit delle vulnerabilità descrive le vulnerabilità dell'applicazione e le relative dipendenze. Quando esegui una build utilizzando il servizio DevOps OCI, puoi avviare una scansione del codice per un nuovo commit nel repository di codici. L'audit delle vulnerabilità si verifica nella fase Build gestita.

La pipeline di build DevOps utilizza un file di specifica di build che contiene i passi e le impostazioni di build per l'esecuzione di una build. Nel file delle specifiche di build viene aggiunto un passo di audit delle vulnerabilità di tipo VulnerabilityAudit per fornire informazioni sulla scansione del codice. Ad esempio:
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 vengono rilevate vulnerabilità, la build non riesce e per esaminare l'errore è disponibile un riepilogo dell'audit delle vulnerabilità. È disponibile un riepilogo di audit anche se non vengono rilevate vulnerabilità. È inoltre possibile visualizzare un report dettagliato di audit delle vulnerabilità. Per ulteriori informazioni, consulta la Guida introduttiva alla gestione delle dipendenze delle applicazioni.

Criteri IAM necessari

Ogni servizio in Oracle Cloud Infrastructure (OCI) si integra con Identity and Access Management (IAM) per l'autenticazione e l'autorizzazione. Per concedere agli utenti l'autorizzazione per accedere alle pipeline di build DevOps e ad altre risorse, è necessario creare gruppi dinamici e criteri IAM. Per creare gruppi dinamici e criteri per le pipeline di build, vedere Genera criteri pipeline.

Le pipeline di build devono accedere alle risorse del servizio ADM, ad esempio la knowledge base, per la quale è necessario definire determinati criteri IAM specifici. Vedere Criteri per l'accesso alle risorse ADM. Per ulteriori dettagli, consulta DevOps Criteri IAM.