Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

GitHub Code Scanning: identificare le vulnerabilità nel codice durante lo sviluppo

GitHub Code Scanning permette di identificare potenziali vulnerabilità di sicurezza direttamente nel codice, prima che questo arrivi in produzione.
GitHub Code Scanning: identificare le vulnerabilità nel codice durante lo sviluppo
GitHub Code Scanning permette di identificare potenziali vulnerabilità di sicurezza direttamente nel codice, prima che questo arrivi in produzione.
Link copiato negli appunti

Chiunque abbia a che fare con lo sviluppo di software, dovrebbe rendersi facilmente conto di quanto sia difficile evitare del tutto l'introduzione (involontaria) di problemi di sicurezza. Spesso, infatti, si posticipa l'analisi di sicurezza ad un secondo momento, rischiando addirittura di rilasciare in produzione porzioni di codice che rendono vulnerabile un'intera applicazione.

Per risolvere (almeno in parte) questo tipo di problemi, GitHub ha recentemente introdotto un utile strumento di analisi del codice, che sfrutta una serie di regole per identificare possibili falle di sicurezza. Si tratta della funzionalità di Code Scanning.

GitHub Code Scanning: cos'è e come funziona

Code Scanning è integrato all'interno di GitHub Actions, ma può essere utilizzato anche all'interno di altri ambienti di CI/CD, con una certa flessibilità. Come accennato poc'anzi, questo strumenti effettua la scansione del codice ogni volta che viene effettuato il push di uno o più commit, oppure quando vengono generate nuove merge request. I risultati della scansione, che si basano su un insieme di regole di sicurezza predefinite (ma anche personalizzabili), possono poi essere valutati in fase di code review, direttamente dallo sviluppatore.

Figura 1. I risultati del Code Scanning di GitHub sono utili in fase di code review (click per ingrandire)I risultati del Code Scanning di GitHub sono utili in fase di code review

È lecito aspettarsi che questo tipo di procedura non risolva completamente il problema dell'analisi di sicurezza, ma è altrettanto chiaro come ciò permetta di evitare quantomeno gli errori più grossolani, peraltro affidando questo tipo di controllo direttamente allo sviluppatore.

Com'è fatto Code Scanning

Code Scanning è basato sul motore di analisi di CodeQL, e sono disponibili oltre 2000 query rese disponibili dalla community che vi ruota intorno. È comunque possibile anche personalizzare queste regole, per affinare il tipo di analisi in base alle specifiche esigenze.

Costruito sullo standard SARIF, Code Scanning può essere quindi esteso in modo abbastanza agevole, nonché integrato anche con altri engine di terze parti.

Code Scanning all'opera

Alcuni dei numeri registrati da GitHub sono abbastanza significativi, ed aiutano a capire quanto sia importante l'uso di un tool come Code Scanning. Dal primo rilascio in beta (a Maggio 2020), l'adozione di questo strumento ha portato a scansionare più di 12.000 repository, identificando un totale di circa 20.000 problemi di sicurezza (tra cui anche remote code execution, SQL injection e cross-site scripting). Tra tutti questi problemi, il 72% è stato fixato proprio grazie all'analisi automatizzata di Code Scanning.

È quindi facile convincersi dell'importanza di adottare strumenti di questo tipo nello sviluppo quotidiano. Chiunque fosse interessato a scoprire come abilitarlo all'interno del proprio repository GitHub, può fare riferimento a questa pagina di documentazione.

Ti consigliamo anche