GitHub ha implementato un sistema di machine learning per ricercare le vulnerabilità nel codice

GitHub ha annunciato l'aggiunta di un sistema sperimentale di apprendimento automatico al suo servizio di scansione del codice per identificare tipi comuni di vulnerabilità nel codice. In fase di test la nuova funzionalità è attualmente disponibile solo per repository con codice in JavaScript e TypeScript. Va notato che l'utilizzo di un sistema di apprendimento automatico ha permesso di ampliare in modo significativo la gamma dei problemi identificati, analizzando i quali il sistema non si limita più al controllo di modelli standard e non è legato a framework noti. Tra i problemi individuati dal nuovo sistema si citano errori che portano al cross-site scripting (XSS), alla distorsione dei percorsi dei file (ad esempio, attraverso l'indicazione di “/..”), alla sostituzione delle query SQL e NoSQL.

Il servizio di scansione del codice consente di identificare le vulnerabilità in una fase iniziale di sviluppo scansionando ogni operazione “git push” per potenziali problemi. Il risultato è allegato direttamente alla richiesta pull. In precedenza, il controllo veniva effettuato utilizzando il motore CodeQL, che analizza i template con esempi tipici di codice vulnerabile (CodeQL consente di creare un template di codice vulnerabile per identificare la presenza di una vulnerabilità simile nel codice di altri progetti). Il nuovo motore, che utilizza l’apprendimento automatico, può identificare vulnerabilità precedentemente sconosciute perché non è vincolato all’enumerazione di modelli di codice che descrivono vulnerabilità specifiche. Il costo di questa funzionalità è un aumento del numero di falsi positivi rispetto ai controlli basati su CodeQL.

Fonte: opennet.ru

Aggiungi un commento