Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
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
.