GitHub ha annunciato l'aggiunta di un sistema sperimentale di apprendimento automatico al servizio Code scanning per rilevare tipi comuni di vulnerabilità nel codice. Durante la fase di test, questa nuova funzionalità è attualmente disponibile solo per i repository con codice in JavaScript e TypeScript. Si segnala che l'utilizzo del sistema di apprendimento automatico ha notevolmente ampliato lo spettro di problemi identificabili, poiché l'analisi non si limita a controllare schemi tipici e non è legata a framework noti. Tra i problemi identificati dal nuovo sistema si segnalano gli errori che portano a script tra siti (XSS), la distorsione dei percorsi dei file (ad esempio, tramite la specifica “/..”), e l'iniezione di query SQL e NoSQL.
Il servizio Code scanning consente di individuare le vulnerabilità nelle fasi iniziali di sviluppo tramite la scansione di ogni operazione 'git push' alla ricerca di potenziali problemi. Il risultato viene allegato direttamente alla pull request. In precedenza, il controllo veniva effettuato utilizzando il motore CodeQL, che analizzava schemi con esempi tipici di codice vulnerabile (CodeQL consente di creare un modello di codice vulnerabile per rilevare la presenza di simili vulnerabilità nel codice di altri progetti). Il nuovo motore, che utilizza il machine learning, può identificare vulnerabilità precedentemente sconosciute poiché non è vincolato a tentare schemi di codice che descrivono specifiche vulnerabilità. Il prezzo di tale possibilità è un aumento del numero di falsi positivi rispetto ai controlli basati su CodeQL.
Fonte: opennet.ru
