Code auf Sicherheitslücken scannen

Der Application Dependency Management-(ADM-)Service stellt eine integrierte Knowledge Base für Sicherheitslücken bereit, die Sie über die Oracle Cloud Infrastructure-(OCI-)DevOps-Build-Pipelines verwenden können, um Sicherheitslücken in den Packages zu erkennen, die für den Build verwendet werden.

Der ADM-Service vereinfacht das Scannen von Softwarepackages mit dem Common Vulnerability Scoring System (CVSS), einem offenen Framework zur Kommunikation der Merkmale und des Schweregrads von Softwaresicherheitslücken. Für jede Abhängigkeit bedeutet ein niedriger CVSS-Score (z.B. 0,1) eine weniger schwerwiegende Sicherheitslücke, während ein hoher CVSS-Score (z.B. 10,0) eine schwerwiegende oder kritische Sicherheitslücke impliziert. Beim Scannen eines Code-Repositorys mit mehreren Abhängigkeiten stellt ADM aggregierte Werte wie maxObservedCvssV2Score und maxObservedCvssV3Score bereit.

Hinweis

ADM unterstützt nur das Scannen von Maven-Packages.

Wenn Sie benutzerdefinierte Maven-Repositorys verwenden, unterstützt OCI DevOps die Konfiguration dieser Repositorys in der Datei pom.xml. Ein Project Object Model (POM) ist eine XML-Datei mit Konfigurationsdetails, die von Maven zum Erstellen des Projekts verwendet werden. Informationen zum Konfigurieren von Maven-Repositorys finden Sie unter Mehrere Repositorys einrichten.

Sicherheitslückenauditprozess

Ein Sicherheitslückenaudit beschreibt die Sicherheitslücken Ihrer Anwendung und ihre Abhängigkeiten. Wenn Sie einen Build mit dem OCI DevOps-Service ausführen, können Sie einen Code-Scan für einen neuen Commit im Code-Repository initiieren. Der Sicherheitslückenaudit findet in der Phase "Verwalteter Build" statt.

Die DevOps-Build-Pipeline verwendet eine Build-Spezifikationsdatei mit Build-Schritten und Einstellungen zur Ausführung eines Builds. In der Build-Spezifikationsdatei wird ein Sicherheitslückenauditschritt vom Typ VulnerabilityAudit hinzugefügt, um den Codescan anzuweisen. Beispiel:
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

Wenn Sicherheitslücken gefunden werden, verläuft der Build nicht erfolgreich, und der Fehler kann in der Auditübersicht über Sicherheitslücken geprüft werden. Eine Auditübersicht ist verfügbar, auch wenn keine Sicherheitslücken gefunden werden. Sie können auch einen detaillierten Sicherheitslückenauditbericht anzeigen. Weitere Informationen finden Sie unter Erste Schritte mit Application Dependency Management.

Erforderliche IAM-Policy

Jeder Service in Oracle Cloud Infrastructure (OCI) kann zur Authentifizierung und Autorisierung in Identity and Access Management (IAM) integriert werden. Um Benutzern die Berechtigung für den Zugriff auf die DevOps-Build-Pipelines und andere Ressourcen zu erteilen, müssen Sie dynamische Gruppen und IAM-Policys erstellen. Informationen zum Erstellen dynamischer Gruppen und Policys für Build-Pipelines finden Sie unter Build-Pipeline-Policys.

Build-Pipelines müssen auf die Ressourcen des ADM-Service zugreifen (z.B. Knowledge Base), für die Sie bestimmte spezifische IAM-Policys definieren müssen. Weitere Informationen finden Sie unter Policys für den Zugriff auf ADM-Ressourcen. Weitere Informationen finden Sie unter DevOps-IAM-Policys.