Sicurezza automatizzata

Completato

In questa sezione vengono illustrati alcuni modi in cui è possibile automatizzare i controlli di sicurezza in un repository disponibile per gli amministratori del repository GitHub.

Rilevare e correggere le dipendenze obsolete con vulnerabilità di sicurezza

Praticamente ogni progetto in questi giorni assume dipendenze da pacchetti esterni. Anche se questi componenti possono offrire notevoli vantaggi nella produttività, possono introdurre altri rischi per la sicurezza. Tenere sotto controllo questi pacchetti e il relativo stato di vulnerabilità può richiedere molto tempo, soprattutto visto che ogni dipendenza può avere a sua volta altre dipendenze che possono diventare difficili da tracciare e gestire. Fortunatamente, GitHub offre funzionalità che riducono questo carico di lavoro.

Grafici delle dipendenze del repository

Una funzionalità predefinita che ogni repository include è i grafici delle dipendenze. GitHub analizza i manifesti comuni dei pacchetti, ad esempio package.json, requirements.txte altri. Questi grafici consentono ai proprietari del progetto di tenere traccia in modo ricorsivo di tutte le dipendenze su cui si basa il progetto.

Screenshot di un grafico delle dipendenze di GitHub.

Per l'elenco dei manifesti delle dipendenze supportati, vedere Informazioni sul grafico delle dipendenze.

Avvisi Dependabot

Anche con un grafico delle dipendenze visuale, può comunque essere difficile tenersi aggiornati sulle ultime considerazioni di sicurezza per ogni dipendenza di un progetto. Per ridurre questo sovraccarico, GitHub fornisce avvisi Dependabot che controllano automaticamente i grafici delle dipendenze. Fa quindi riferimento incrociato alle versioni di destinazione con versioni in elenchi di vulnerabilità noti. Quando viene individuato un rischio, il progetto viene avvisato. L'input per l'analisi proviene da Avvisi di sicurezza gitHub.

Screenshot degli avvisi di Dependabot relativi alle dipendenze vulnerabili.

Aggiornamenti automatizzati delle dipendenze con Dependabot

Un avviso di dipendenza può indurre un collaboratore del progetto a portare il riferimento del pacchetto incriminato alla versione consigliata e a creare una richiesta di pull per la convalida. Non sarebbe fantastico se ci fosse un modo per automatizzare questo sforzo? Beh, buone notizie! Dependabot lo fa. Analizza gli avvisi di dipendenza e crea richieste pull in modo che un collaboratore possa convalidare l'aggiornamento e unire la richiesta.

Per altre informazioni sulla flessibilità di Dependabot, vedere Configurazione degli aggiornamenti della sicurezza Dependabot.

Analisi automatica del codice

Analogamente al modo in cui Dependabot analizza il repository per individuare gli avvisi di dipendenza, è possibile usare l'analisi del codice per analizzare e individuare vulnerabilità ed errori di sicurezza nel codice in un repository GitHub. L'analisi del codice offre diversi vantaggi. È possibile usarlo per trovare, valutare e classificare in ordine di priorità le correzioni per problemi esistenti o potenziali vulnerabilità di sicurezza. È utile anche impedire agli sviluppatori di introdurre nuovi problemi di sicurezza nel codice.

Un altro vantaggio dell'analisi del codice è la possibilità di usare CodeQL. CodeQL consente di eseguire query sul codice come dati, che consente di creare query personalizzate o di usare query gestite dalla community open source. L'analisi del codice consente di personalizzare e gestire la modalità di analisi del codice all'interno del repository.

È possibile abilitare avvisi e flussi di lavoro di analisi del codice nella scheda sicurezza di un repository GitHub:

Screenshot di un elenco di criteri e avvisi con collegamenti ad altre informazioni.

Altre informazioni sull'analisi del codice e su CodeQL.

Analisi dei segreti

Un'altra funzionalità di analisi automatizzata all'interno di un repository GitHub è l'analisi dei segreti. Analogamente alle funzionalità di analisi della sicurezza precedenti, l'analisi dei segreti cerca i segreti o le credenziali note di cui è stato eseguito il commit nel repository. Questa analisi viene eseguita per evitare l'uso di comportamenti fraudolenti e per proteggere l'integrità di tutti i dati sensibili. Per impostazione predefinita, l'analisi dei segreti viene eseguita nei repository pubblici ed è possibile abilitare l'analisi dei segreti nei repository privati da parte di amministratori di repository o proprietari dell'organizzazione.

Quando l'analisi dei segreti rileva un set di credenziali, GitHub invia una notifica al provider di servizi che ha rilasciato il segreto. Il provider di servizi convalida le credenziali. Decide quindi se revocare il segreto, rilasciare un nuovo segreto o contattare direttamente l'utente. L'azione dipende dai rischi associati all'utente o al provider di servizi.

Scopri di più sull'analisi dei segreti per i repository pubblici e privati.