Analisi del codice e CodeQL

Completato

In base allo strumento che si vuole utilizzare per l'analisi e alla modalità di generazione degli avvisi, esistono alcune opzioni per configurare l'analisi del codice nel repository. I tre modi principali sono:

  • Usare la configurazione predefinita per impostare rapidamente l'analisi CodeQL per il codice nel repository. La configurazione predefinita sceglie automaticamente i linguaggi da analizzare, il gruppo di query da eseguire e gli eventi che attivano le analisi. Se lo si preferisce, è possibile selezionare manualmente il gruppo di query da eseguire e i linguaggi da analizzare. Dopo aver abilitato CodeQL, GitHub Actions eseguirà l flussi di lavoro per analizzare il codice. Per altre informazioni, vedere "Impostazione della configurazione predefinita per l'analisi del codice".
  • Usare la configurazione avanzata per aggiungere il flusso di lavoro di CodeQL nel repository. Viene generato un file del flusso di lavoro personalizzabile che usa github/codeql-action per eseguire l'interfaccia della riga di comando di CodeQL. Per altre informazioni, vedere "Impostazione della configurazione avanzata per l'analisi del codice".
  • Eseguire CodeQL CLI direttamente in un sistema di integrazione continua esterno e caricare i risultati in GitHub. Per altre informazioni, vedere "Uso dell'analisi del codice con il sistema CI esistente".[2]

In precedenza sono stati illustrati i passaggi per usare le configurazioni predefinite. Si apprenderà ora come configurare l'analisi del codice con la configurazione avanzata, nonché come eseguire la configurazione in blocco di un flusso di lavoro di analisi del codice per più repository.

Analisi del codice con GitHub Actions e CodeQL

Per configurare l'analisi del codice con la configurazione avanzata, eseguire le operazioni seguenti:

  1. Passare alla scheda Settings del repository.
  2. Nel pannello a sinistra passare a Code security and analysis, fare clic sull'elenco a discesa setup e selezionare Advanced. Potrebbe essere necessario abilitare GitHub Advanced Security prima di abilitare l'analisi del codice.
  3. Verrà visualizzata una nuova pagina con un file del flusso di lavoro generato. Per impostazione predefinita, il file è denominato codeql.yml. Si tratta di un file del flusso di lavoro configurabile di cui è necessario eseguire il commit nel repository per iniziare a eseguire l'analisi del codice.
  4. Per personalizzare il modo in cui l'analisi del codice analizza il codice, modificare il flusso di lavoro. È in genere possibile eseguire il commit del flusso di lavoro di analisi di CodeQL senza apportare modifiche.
  5. Usare il pulsante Commit changes... nell'angolo in alto a destra e digitare un messaggio di commit nella casella popup.
  6. Scegliere se si vuole eseguire il commit direttamente nel ramo predefinito oppure creare un nuovo ramo e avviare una richiesta pull.
  7. Fare clic su Commit changes.

Nel flusso di lavoro di analisi di CodeQL predefinito l'analisi del codice è configurata per analizzare il codice ogni volta che si esegue il push di una modifica nel ramo predefinito o in qualsiasi ramo protetto oppure quando si genera una richiesta pull nel ramo predefinito. Di conseguenza, l'analisi del codice inizierà ora.

I trigger on:pull_request e on:push per l'analisi del codice risultano utili per finalità diverse.

Configurazione in blocco dell'analisi del codice

È possibile configurare l'analisi del codice in molti repository contemporaneamente usando uno script. Se si vuole usare uno script per generare richieste pull che aggiungono un flusso di lavoro di GitHub Actions a più repository, fare riferimento al repository jhutchings1/Create-ActionsPRs[3] per un esempio relativo a PowerShell oppure nickliffen/ghas-enablement[4] per un esempio relativo a NodeJS.