Proteggere le applicazioni Java con la modernizzazione GitHub Copilot

La modernizzazione dell'applicazione Java non è un evento monouso. Nuove CVE vengono pubblicate ogni giorno, nuovi problemi CWE emergono con l’evoluzione del codice e le dipendenze diventano non conformi. Mantenere l'applicazione sicura significa rilevare e correggere continuamente il debito di sicurezza - il modo sempreverdi di pensare alla sicurezza delle applicazioni.

La modernizzazione di GitHub Copilot offre due funzionalità:

  • Valutazione della sicurezza : analizza il codice per individuare i risultati CWE guidati da ISO/IEC 5055 e per individuare vulnerabilità CVE nelle dipendenze dirette e transitive.
  • Correzione del codice : genera un piano di esecuzione per risolvere i problemi selezionati e applica automaticamente le correzioni.

Queste funzionalità sono disponibili in:

  • Visual Studio Code - Analisi interattiva e correzione, illustrata in questo articolo.
  • Modernizza CLI - la sicurezza è uno degli ambiti di valutazione nella valutazione in batch, quindi puoi analizzare un portafoglio di applicazioni in un'unica esecuzione.

Analizzare e risolvere i problemi di sicurezza in Visual Studio Code

Seguire questa procedura per valutare e correggere i problemi di sicurezza in un unico flusso.

1. Avviare l'analisi di sicurezza

Nel riquadro Modernizzazione di GitHub Copilot, apri la vista Quick Start e seleziona Analizza e risolvi i problemi di sicurezza.

Schermata di Visual Studio Code che mostra la visualizzazione Avvio rapido con il pulsante Analizza e risolvi i problemi di sicurezza.

Copilot esegue una valutazione dell’ambito di sicurezza del progetto. La scansione copre:

  • Una selezione curata di regole CWE allineate alla norma ISO/IEC 5055, raggruppate in sei categorie: Sicurezza di file e percorsi, Attacchi di iniezione, Sicurezza della memoria, Qualità del codice, Credenziali e segreti e Concorrenza e sincronizzazione.
  • Rilevamenti CVE nelle dipendenze dirette e transitive, provenienti dal database GitHub Security Advisories.

Per il catalogo completo delle regole CWE e i dettagli della copertura CVE, vedere Informazioni sulla copertura della valutazione.

Note

Le verifiche CVE funzionano senza autenticazione su GitHub, ma le chiamate anonime sono soggette a limitazioni di frequenza. Per i progetti di grandi dimensioni, accedere con gh auth login per evitare la limitazione.

2. Esaminare il report

Al termine dell'analisi, il report di valutazione viene aperto con i risultati della sicurezza.

Schermata del report di valutazione in Visual Studio Code che mostra le segnalazioni CWE e CVE.

Per controllare quali CVE vengono visualizzate, impostare Security: Minimum CVE Severity nella configurazione di valutazione. I valori accettati sono critical, highmedium, e low. Il valore predefinito è high.

3. Selezionare i problemi per risolvere e creare un piano

Selezionare le categorie di problemi da correggere. Il pulsante di azione si aggiorna mostrando il conteggio — ad esempio, Crea piano (3). Selezionarlo per generare un piano di esecuzione.

Screenshot del report di valutazione con le categorie di problemi di sicurezza selezionate e il pulsante Crea piano evidenziato.

4. Esaminare il piano

Copilot scrive il piano di esecuzione come file Markdown e lo apre nel riquadro di anteprima in modo da poterlo leggere prima dell'applicazione di qualsiasi correzione. Il piano descrive come Copilot raggruppa e affronta i problemi selezionati. Raggruppa i problemi CVE per dipendenza e le segnalazioni CWE per file. Se si desidera modificare l'ambito o l'ordine, modificare direttamente il file Markdown.

Screenshot del piano di esecuzione della sicurezza aperto nel Visual Studio Code Markdown preview.

5. Eseguire il piano

Quando sei soddisfatto del piano, dì a Copilot nella chat di eseguirlo. Copilot risolve il gruppo di problemi selezionato per gruppo, compila il progetto per convalidare ogni modifica e segnala lo stato della chat. Esamina le differenze generate ed esegui il commit delle modifiche che vuoi mantenere.

Rimanere sempreverdi

Il debito di sicurezza si ripresenta quando vengono pubblicati nuovi CVE e quando l'applicazione cambia. Riesegui Analizza & risolvi i problemi di sicurezza come parte del tuo regolare ciclo di modernizzazione, ad esempio per ogni ramo di rilascio, così da individuare e risolvere i problemi continuamente invece di accumularli fino a un grande aggiornamento.

Passaggi successivi