Condividi tramite


Integrare strumenti di analisi non Microsoft

GitHub Advanced Security per Azure DevOps crea avvisi di analisi del codice in un repository usando le informazioni dei file SARIF (Static Analysis Results Interchange Format). Le proprietà del file SARIF vengono usate per popolare le informazioni sugli avvisi, ad esempio il titolo dell'avviso, la posizione e il testo della descrizione.

È possibile generare file SARIF usando molti strumenti di test di sicurezza dell'analisi statica, tra cui CodeQL. I risultati devono usare SARIF versione 2.1.0. Per altre informazioni su SARIF, vedere esercitazioni su SARIF.

Prerequisiti

Categoria Requisiti
Autorizzazioni - Per visualizzare un riepilogo di tutti gli avvisi per un repository: collaboratore autorizzazioni per il repository.
- Per rimuovere gli avvisi in Sicurezza avanzata: autorizzazioni dell'amministratore di Project.
- Per gestire le autorizzazioni in Sicurezza Avanzata: membro del gruppo Amministratori della raccolta progetti o con il permesso "gestire le impostazioni di sicurezza avanzata" impostato su Consenti.

Per altre informazioni sulle autorizzazioni di sicurezza avanzata, vedere Gestire le autorizzazioni di sicurezza avanzata.

Caricare un'analisi di analisi del codice con Azure Pipelines

Per usare Azure Pipelines per caricare un file SARIF non Microsoft in un repository, la pipeline deve usare l'attività AdvancedSecurity-Publish , che fa parte delle attività in bundle con GitHub Advanced Security per Azure DevOps. I parametri di input principali da usare sono:

  • SarifsInputDirectory: configura la directory dei file SARIF da caricare. Il percorso di directory previsto è assoluto.
  • Category: facoltativamente assegna una categoria per i risultati nel file SARIF. Questo parametro consente di analizzare lo stesso commit in diversi modi ed esaminare i risultati usando le visualizzazioni di analisi del codice in GitHub. Ad esempio, è possibile analizzare usando più strumenti e in mono-repository, è possibile analizzare sezioni diverse del repository in base al subset di file modificati.

Il codice seguente illustra un esempio di integrazione con l'attività Microsoft Security DevOps di proprietà del team di Microsoft Defender for Cloud:

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: MicrosoftSecurityDevOps@1
  inputs:
    command: 'run'
    categories: 'IaC'
- task: AdvancedSecurity-Publish@1
  inputs:
    SarifsInputDirectory: '$(Build.ArtifactStagingDirectory)/.gdn/'

Generazione di impronte digitali dei risultati

Se il file SARIF non include partialFingerprints, l'attività AdvancedSecurity-Publish calcola automaticamente il partialFingerprints campo e tenta di impedire avvisi duplicati. Sicurezza avanzata può essere creata partialFingerprints solo quando il repository contiene sia il file SARIF che il codice sorgente usato nell'analisi statica. Per altre informazioni sulla prevenzione degli avvisi duplicati, vedere Fornire dati per tenere traccia degli avvisi di analisi del codice tra le esecuzioni.

Convalidare i risultati dello strumento

È possibile verificare che le proprietà SARIF abbiano le dimensioni supportate per il caricamento e che il file sia compatibile con l'analisi del codice. Inoltre, esistono limiti specifici per gli oggetti dati presenti in ogni file SARIF:

Dati SARIF Limite Note
Esecuzioni per file 20
Risultati per ogni esecuzione 5.000 Sicurezza Avanzata verificherà se il campo di sicurezza non è vuoto nei risultati, quindi li ordinerà per selezionare i primi 5.000 risultati. Altrimenti, selezionare 5.000 risultati quando sono arrivati.
Regole per l'esecuzione Nessuno Limite futuro di 25.000 regole per esecuzione.
Estensioni degli strumenti per l'esecuzione Nessuno Limite massimo futuro di 100 estensioni dello strumento per ogni esecuzione.
Posizione per risultato Nessuno Sicurezza avanzata selezionerà i primi 100 risultati. L'interfaccia degli avvisi mostrerà solo la prima posizione per risultato.
Tag per regole Nessuno Sicurezza avanzata sceglierà i primi dieci.
Limite di avvisi Nessuno  

Per altre informazioni sulla risoluzione dei problemi relativi al file SARIF, vedere Convalida del file SARIF. Per verificare se un file SARIF è conforme in modo specifico ai requisiti di Sicurezza avanzata, vedere Convalida SARIF e selezionare Azure DevOps ingestion rules.