Il nuovo agente AI di Google riscrive il codice per automatizzare le correzioni di vulnerabilità

 | Intelligenza-Artificiale

Google DeepMind ha distribuito un nuovo agente di intelligenza artificiale progettato per trovare e correggere autonomamente le vulnerabilità di sicurezza critiche nel codice software. Il sistema, CodeMender nominato in modo appropriato, ha già contribuito con 72 correzioni di sicurezza a progetti open source stabiliti negli ultimi sei mesi.

L’identificazione e il patching vulnerabilità è un processo notoriamente difficile e che richiede tempo, anche con l’aiuto di metodi automatizzati tradizionali come il fuzzing. La ricerca di Google DeepMind, compresi i progetti basati sull’intelligenza artificiale come Big Sleep e OSS-Fuzz, si sono dimostrati efficaci nella scoperta di nuove vulnerabilità zero-day in codice ben modificato. Questo successo, tuttavia, crea un nuovo collo di bottiglia: poiché AI accelera la scoperta di difetti, l’onere per gli sviluppatori umani per sistemarli intensifica.

CodeMender è progettato per affrontare questo squilibrio. Funziona come un agente di intelligenza artificiale autonomo che adotta un approccio completo per correggere la sicurezza del codice. Le sue capacità sono entrambe reattive, consentendole di patch immediatamente scoperte vulnerabilità e proattive, consentendole di riscrivere il codice esistente per eliminare intere classi di difetti di sicurezza prima che possano essere sfruttati. Ciò consente agli sviluppatori umani e ai manutentori di progetti di dedicare più tempo alla costruzione di funzionalità e al miglioramento delle funzionalità software.

Il sistema opera sfruttando le capacità di ragionamento avanzate dei recenti modelli di Think Deep Think di Google. Questa fondazione consente all’agente di eseguire il debug e risolvere complessi problemi di sicurezza con un alto grado di autonomia. Per raggiungere questo obiettivo, il sistema è dotato di una serie di strumenti che gli consentono di analizzare e ragionare il codice prima di implementare eventuali modifiche. CodeMender include anche un processo di convalida per garantire che le modifiche siano corrette e non introducono nuovi problemi, noti come regressioni.

Mentre i modelli di linguaggio di grandi dimensioni avanzano rapidamente, un errore Quando si tratta di sicurezza del codice può avere conseguenze costose. Il framework di convalida automatica di CodeMender è quindi essenziale. Verifica sistematicamente che qualsiasi modifica proposta risolva la causa principale di un problema, sia funzionalmente corretta, non interrompe i test esistenti e aderiscono alle linee guida di stile di codifica del progetto. Sono emerse solo patch di alta qualità che soddisfano questi criteri rigorosi per la revisione umana.

Per migliorare l’efficacia della fissazione del codice, il team DeepMind ha sviluppato nuove tecniche per l’agente AI. CodeMender impiega un’analisi avanzata del programma, utilizzando una suite di strumenti tra cui analisi statiche e dinamiche, test differenziali, fuzzing e solutori SMT. Questi strumenti gli consentono di esaminare sistematicamente i modelli di codice, il flusso di controllo e il flusso di dati per identificare le cause fondamentali dei difetti di sicurezza e delle debolezze architettoniche.

Il sistema utilizza anche un’architettura multi-agente, in cui gli agenti specializzati sono distribuiti per affrontare aspetti specifici di un problema. Ad esempio, uno strumento di critica basato su modello di linguaggio di grandi dimensioni dedicato rivela le differenze tra codice originale e modificato. Ciò consente all’agente primario di verificare che le modifiche proposte non introdurino effetti collaterali non intenzionali e di correggere il suo approccio quando necessario.

In un esempio pratico, CodeMender ha affrontato una vulnerabilità in cui un rapporto di arresto anomalo indicava un overflow del buffer heap. Sebbene la patch finale richiedesse solo di modificare alcune righe di codice, la causa principale non era immediatamente ovvia. Utilizzando un debugger e strumenti di ricerca del codice, l’agente ha determinato che il vero problema era un problema di gestione dello stack e errato con elementi di lingua di markup estensibile (XML) durante l’analisi, situato altrove nella base di codice. In un altro caso, l’agente ha ideato una patch non banale per un problema di vita complesso di oggetti, modificando un sistema personalizzato per la generazione di codice C all’interno del progetto target.

Oltre a reagire semplicemente ai bug esistenti, CodeMender è progettato per indurire proattivamente il software contro le minacce future. Il team ha distribuito l’agente per applicare -fbounds-shaty Annotazioni in parti di libwebp, una libreria di compressione di immagine ampiamente utilizzata. Queste annotazioni indicano al compilatore di aggiungere controlli ai limiti al codice, che può impedire a un aggressore di sfruttare un overflow di buffer per eseguire il codice arbitrario.

Questo lavoro è particolarmente rilevante dato che una vulnerabilità di overflow buffer heap in libwebp, monitorata come CVE-2023-4863, è stata utilizzata da un attore di minaccia in un exploit iOS a zero clic diversi anni fa. DeepMind osserva che con queste annotazioni in atto, quella vulnerabilità specifica, insieme alla maggior parte degli altri overflow buffer nelle sezioni annotate, sarebbe stata resa insultabile.

La fissazione del codice proattivo dell’agente AI prevede un sofisticato processo decisionale. Quando si applica le annotazioni, può correggere automaticamente nuovi errori di compilation e guasti di prova che derivano dalle proprie modifiche. Se i suoi strumenti di convalida rilevano che una modifica ha funzionalità interrotte, l’agente si auto-corregge in base al feedback e tenta una soluzione diversa.

Nonostante questi promettenti primi risultati, Google DeepMind sta adottando un approccio cauto e deliberato alla distribuzione, con una forte attenzione all’affidabilità. Al momento, ogni patch generata da CodeMender è rivista dai ricercatori umani prima di essere sottoposto a un progetto open source. Il team sta gradualmente aumentando le sue osservazioni per garantire l’alta qualità e per incorporare sistematicamente feedback dalla comunità open source.

Guardando al futuro, i ricercatori prevedono di raggiungere i manutentori di progetti critici open source con patch generate da CodeMender. Iterando il feedback della comunità, sperano di rilasciare CodeMender come strumento disponibile al pubblico per tutti gli sviluppatori di software.

Il team DeepMind intende anche pubblicare articoli tecnici e rapporti nei prossimi mesi per condividere le loro tecniche e risultati. Questo lavoro rappresenta i primi passi nell’esplorazione del potenziale degli agenti AI per fissare in modo proattivo il codice e migliorare fondamentalmente la sicurezza del software per tutti.

Vedi anche: L’attacco alla privacy di Camia rivela ciò che memorizza i modelli di intelligenza artificiale

Banner per AI e Big Data Expo di TechEx Events.

Vuoi saperne di più sull’intelligenza artificiale e sui big da parte dei leader del settore? Guardare AI e Big Data Expo si svolge ad Amsterdam, in California e a Londra. L’evento completo fa parte di Techex ed è collocato con altri eventi tecnologici leader tra cui il Cyber ​​Security Expoclic Qui Per ulteriori informazioni.

AI News è alimentato da TechForge Media. Esplora altri prossimi eventi tecnologici aziendali e webinar Qui.

Fonte: www.artificialintelligence-news.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *