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.
Correzione automatica di Copilot è una funzionalità basata sull'intelligenza artificiale di GitHub Advanced Security per Azure DevOps che genera suggerimenti di correzione per gli avvisi di analisi del codice. Quando CodeQL identifica una vulnerabilità o un errore di codifica, è possibile generare una correzione per l'avviso direttamente dalla scheda Sicurezza avanzata. Copilot prefisso automatico usa l'agente di codifica Copilot per produrre la correzione e aprire una richiesta pull con la modifica proposta, in modo da poter esaminare, modificare e unire il codice tramite il normale flusso di lavoro delle richieste pull.
Annotazioni
Questa funzionalità è in anteprima pubblica limitata. Non tutti gli utenti che effettuano l'iscrizione all'anteprima ricevono l'accesso.
È necessario che sia abilitato GitHub Advanced Security for Azure DevOps oppure, se si usa la modalità autonoma, GitHub Code Security for Azure DevOps, insieme all'analisi del codice configurata per il repository.
GitHub Advanced Security per Azure DevOps funziona con Azure Repos. Per utilizzare GitHub Advanced Security con i repository di GitHub, vedere GitHub Advanced Security.
Prerequisiti
| Categoria | Requirements |
|---|---|
| Autorizzazioni | - Per visualizzare un riepilogo di tutti gli avvisi per un repository: collaboratore autorizzazioni per il repository. - Per ignorare gli avvisi in Sicurezza avanzata: autorizzazioni amministratore di progetto. - Per gestire le autorizzazioni in Sicurezza avanzata: membro del gruppo Amministratori della raccolta di progetti o con l'autorizzazione Sicurezza avanzata: gestire le impostazioni impostata su Consenti. |
Per altre informazioni sulle autorizzazioni di sicurezza avanzata, vedere Gestire le autorizzazioni di sicurezza avanzata.
- Analisi del codice configurata per il tuo repository, utilizzando la configurazione predefinita o quella avanzata.
- Almeno un avviso di analisi del codice CodeQL.
Informazioni sulla correzione automatica di Copilot
Copilot Autofix combina la potenza di analisi di CodeQL con il modello linguistico di grandi dimensioni che alimenta l'agente di programmazione Copilot. Quando generi una correzione per un avviso supportato di code scanning, Copilot Autofix analizza l'avviso e il codice circostante e quindi apre una pull request che contiene:
- Modifica del codice suggerita che risolve la vulnerabilità sottostante.
- Descrizione dell'avviso da correggere, inclusi l'ID avviso, la gravità e un riepilogo della modifica.
Poiché la correzione suggerita considera il contesto più ampio della codebase, la modifica può estendersi più della singola riga in cui è stato generato l'avviso e può includere modifiche ad altri file, se necessario.
Importante
I suggerimenti di Autofix di Copilot sono generati da un modello di intelligenza artificiale e non sono garantiti come corretti, completi o sicuri. Esaminare sempre attentamente la richiesta pull, verificare che venga risolto l'avviso senza introdurre nuovi problemi e testare le modifiche prima di unirle.
Lingue disponibili
Copilot Autofix supporta gli stessi linguaggi che CodeQL analizza per la scansione del codice, tra cui C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby e Swift. Per l'elenco corrente dei linguaggi supportati da CodeQL, vedere Supporto di linguaggio e query.
Abilita l'autocorrezione di Copilot
Abilita Copilot Autofix per ogni repository nelle impostazioni di sicurezza del codice.
- Accedere all'organizzazione di Azure DevOps (
https://dev.azure.com/{yourorganization}). - Selezionare Project settings>Repositories e quindi selezionare il repository da configurare.
- Nella sezione Sicurezza avanzata aprire il pannello Funzionalità di sicurezza del codice .
- Selezionare la casella di controllo Autofix per gli avvisi di analisi del codice per creare correzioni automatiche per gli avvisi di analisi del codice generati dall'agente di codifica Copilot.
- Selezionare Applica per salvare le modifiche.
CodeQL deve essere già in esecuzione e generare avvisi per il repository. Per altre informazioni, vedere Impostare l'analisi del codice e Configurare GitHub funzionalità di sicurezza avanzata.
Genera una soluzione per un avviso
Dopo aver abilitato Copilot Autofix, è possibile generare una correzione da qualsiasi avviso di scansione del codice supportato.
- Selezionare Repos>Advanced Security.
- Selezionare la scheda Analisi codice e quindi selezionare un avviso per aprire la visualizzazione dettagli.
- Esaminare la posizione, la descrizione e la raccomandazione dell'avviso per comprendere la ricerca.
- Selezionare Genera correzione.
Copilot Autofix genera la correzione e apre una pull request da un branch denominato copilot-autofix/.... Dopo che la correzione è stata generata, la pull request compare sotto Richieste pull correlate nella vista dei dettagli dell’avviso.
Esaminare e unire la correzione
La pull request aperta da Copilot Autofix si comporta come qualsiasi altra pull request di Azure Repos. La sua descrizione riassume l'avviso a cui si riferisce la correzione.
- Apri la pull request dalla sezione Pull request correlate dell'avviso, oppure da Repos>Pull requests.
- Esaminare la modifica proposta nella scheda File in tutti i file interessati.
- Modificare la modifica se è necessario corrispondere allo stile di codice, alle convenzioni di denominazione o ai requisiti del progetto.
- Approva e completa la pull request seguendo il normale flusso di revisione.
Al termine dell'unione della richiesta pull e al completamento dell'analisi del codice successivo, l'avviso viene chiuso automaticamente se la correzione rimuove la vulnerabilità sottostante.
Tip
Una correzione generata è un punto di partenza, non una risposta finale. Considerare la richiesta pull come qualsiasi altra modifica: esaminarla, testarla e richiedere revisori aggiuntivi in base alle esigenze prima dell'unione.
Quando una correzione non è disponibile
Copilot Autofix non può generare una correzione per ogni avviso. Una correzione potrebbe non essere disponibile quando:
- Il tipo di avviso non è attualmente supportato da Copilot Autofix.
- Copilot determina che l'avviso è un falso positivo.
- Una query personalizzata o uno strumento di terze parti, anziché CodeQL, genera l'avviso.
Quando una correzione non è disponibile, usare le sezioni Raccomandazione e Esempio dell'avviso per correggerlo o ignorare manualmente l'avviso. Per ulteriori informazioni, consulta i dettagli dell'avviso .