GitHub ha lanciato un sistema di apprendimento automatico per trovare le vulnerabilità nel codice

Logo GitHub

Svelato GitHub diversi giorni fa l'aggiunta di un sistema di apprendimento automatico sperimental al servizio di scansione del codice per identificare i tipi comuni di vulnerabilità Nel codice. Con questo, la tecnologia di analisi del codice basata su CodeQL di GitHub è stata rinnovata e ora utilizza il machine learning (ML) per trovare potenziali vulnerabilità di sicurezza nel codice.

Ed è quel GitHub ha acquisito la tecnologia per CodeQL nell'ambito dell'acquisizione di Semmie. CodeQL viene utilizzato dai team di ricerca sulla sicurezza per eseguire l'analisi semantica del codice e GitHub lo ha reso open source.

Con questi modelli, CodeQL può identificare flussi di dati utente più non attendibili e quindi più potenziali vulnerabilità di sicurezza.

Si osserva che l'utilizzo di un sistema di machine learning ha consentito di ampliare notevolmente il ventaglio delle problematiche individuate, nella cui analisi il sistema non si limita ormai alla verifica di pattern tipici e non è legato a framework noti.

Tra i problemi individuati dal nuovo sistema si citano errori che portano al cross-site scripting (XSS), distorsione dei percorsi dei file (ad esempio attraverso l'indicazione "/.."), sostituzione di query SQL e NoSQL.

La scansione del codice può ora trovare più potenziali vulnerabilità della sicurezza sfruttando un nuovo modello di deep learning. Questa funzionalità sperimentale è disponibile in versione beta pubblica per i repository JavaScript e TypeScript su GitHub.com.

Il nuovo strumento di GitHub fue rilasciato come beta pubblica gratuita Per tutti gli utenti, la funzione utilizza il machine learning e il deep learning per scansionare le basi di codice e identificare le vulnerabilità di sicurezza comuni prima della spedizione di un prodotto.

La funzionalità sperimentale è attualmente disponibile per tutti gli utenti della piattaforma, inclusi gli utenti di GitHub Enterprise come funzionalità di sicurezza avanzata di GitHub, e può essere utilizzata per progetti scritti in JavaScript o TypeScript.

Con la rapida evoluzione dell'ecosistema open source, c'è una coda lunga sempre crescente di librerie che vengono utilizzate meno frequentemente. Utilizziamo esempi di query CodeQL create manualmente per addestrare modelli di deep learning per riconoscere le librerie open source e le librerie closed source sviluppate internamente.

Lo strumento è progettato per cercare le quattro vulnerabilità più comuni che interessano i progetti scritti in queste due lingue: cross-site scripting (XSS), route injection, NoSQL injection e SQL injection.

Il servizio di scansione del codice ti consente di rilevare le vulnerabilità in una fase iniziale di sviluppo scansionando ogni operazione git push per potenziali problemi.

Il risultato viene allegato direttamente alla richiesta pull. In precedenza il controllo veniva effettuato utilizzando il motore CodeQL, che analizza pattern con esempi tipici di codice vulnerabile (CodeQL permette di generare un template di codice vulnerabile per rilevare la presenza di una vulnerabilità simile nel codice di altri progetti).

Con le nuove funzionalità di analisi, la scansione del codice può generare ancora più avvisi per quattro modelli di vulnerabilità comuni: Cross-Site Scripting (XSS), Path Injection, NoSQL Injection e SQL Injection. Insieme, questi quattro tipi di vulnerabilità rappresentano molte delle vulnerabilità recenti (CVE) nell'ecosistema JavaScript/TypeScript e migliorare la capacità della scansione del codice di rilevare tali vulnerabilità all'inizio del processo di sviluppo è la chiave per aiutare gli sviluppatori a scrivere codice più sicuro.

Il nuovo motore di apprendimento automatico può identificare vulnerabilità precedentemente sconosciute perché non è legato all'iterazione di schemi di codice che descrivono vulnerabilità specifiche. Il prezzo di tale opportunità è un aumento del numero di falsi positivi rispetto ai controlli basati su CodeQL.

Infine per chi è interessato a saperne di più, puoi controllare i dettagli nel seguente link

È anche importante ricordare che nella fase di test, la nuova funzionalità è attualmente disponibile solo per i repository con codice JavaScript e TypeScript.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.