Negli ultimi anni, uno dei pericoli più subdoli nel mondo della sicurezza informatica non arriva da exploit spettacolari o ransomware devastanti, ma da qualcosa di molto più silenzioso: il codice fidato che improvvisamente smette di esserlo. Gli attacchi alla supply chain del software — cioè la compromissione di librerie, pacchetti o strumenti usati quotidianamente dagli sviluppatori — rappresentano oggi una delle minacce più sofisticate e difficili da individuare.
Il principio è semplice e inquietante: un aggressore modifica un componente open source o una dipendenza legittima, inserendo al suo interno una logica malevola nascosta. Niente crash, niente segnali evidenti. Tutto continua a funzionare come previsto, finché, in determinate condizioni, quel codice “dormiente” non si risveglia. È successo più volte, basti ricordare casi come la compromissione di librerie NPM o pacchetti Python utilizzati da migliaia di progetti nel mondo.
A questo tipo di minaccia prova a rispondere Lexo, un progetto di ricerca pubblicato su arXiv che propone un’idea decisamente fuori dagli schemi: usare i modelli linguistici di grandi dimensioni (LLM) — gli stessi alla base di ChatGPT e simili — per rigenerare da zero il software sospetto, mantenendone le funzionalità ma eliminando ogni possibile comportamento malevolo.
Una nuova filosofia di difesa
Tradizionalmente, quando un componente viene considerato potenzialmente infetto, gli esperti cercano di individuare e rimuovere la parte di codice compromessa. È un lavoro complesso, che richiede analisi statiche, monitoraggio del comportamento, reverse engineering e una buona dose di intuito umano. Lexo propone un cambio di paradigma radicale: invece di cercare “l’ago nel pagliaio”, perché non rigenerare direttamente il pagliaio?
Il sistema analizza il comportamento del componente sospetto — osservando come risponde a una serie di input e output — e crea una sorta di “descrizione funzionale” del suo operato. A quel punto, chiede a un modello linguistico di scrivere un nuovo codice che faccia esattamente la stessa cosa, ma in modo indipendente, senza copiare il codice originale e quindi, si spera, senza ereditare eventuali logiche dannose. È come riscrivere un libro seguendo solo la trama, ma senza usare le stesse parole dell’autore originale.
Il risultato è un software rigenerato, che dovrebbe comportarsi allo stesso modo, ma con un DNA completamente nuovo.
L’idea può sembrare fantascientifica, ma funziona sorprendentemente bene. I ricercatori di Lexo hanno testato il metodo su oltre cento componenti software, inclusi alcuni che contenevano comportamenti malevoli nascosti. In molti casi, la versione rigenerata ha mantenuto le stesse funzionalità ma ha eliminato le parti sospette, senza nemmeno sapere quali fossero.
Il segreto sta nella logica del sistema: invece di affidarsi a un solo modello linguistico, Lexo coordina più LLM contemporaneamente, confrontando le soluzioni generate e selezionando quella che rispetta meglio la specifica funzionale. Poi applica ulteriori controlli per verificare che non siano presenti anomalie, errori sintattici o elementi potenzialmente pericolosi. È un processo che ricorda la revisione del codice in un team di sviluppo, ma automatizzato e potenziato da intelligenze artificiali.
Naturalmente, non è una bacchetta magica. Se le informazioni di partenza — cioè la descrizione del comportamento “atteso” — sono incomplete o poco rappresentative, anche il codice rigenerato potrebbe comportarsi in modo imprevisto. E in sistemi molto complessi, dove il comportamento dipende da centinaia di condizioni diverse, creare una rappresentazione fedele non è banale. Ma come concetto, la rigenerazione di software “pulito” è una delle proposte più affascinanti emerse recentemente nel campo della sicurezza.
Ciò che rende Lexo interessante non è solo la sua efficacia, ma la filosofia di fondo: spostare la difesa dal riconoscimento della minaccia alla rigenerazione dell’ambiente sicuro.
Nell’ecosistema moderno del software, dove ogni applicazione si basa su una miriade di dipendenze e microservizi, è quasi impossibile verificare manualmente la fiducia di ogni singolo componente. Lexo offre un modo per “ripulire” automaticamente il codice, un po’ come un laboratorio di quarantena che rigenera versioni sane di campioni sospetti.
In un contesto in cui l’intelligenza artificiale viene spesso vista come un rischio per la sicurezza — basti pensare ai deepfake, ai prompt injection o ai modelli usati per generare malware — è incoraggiante vedere un progetto che la utilizza per costruire difese attive e creative.
Lexo dimostra che l’AI può essere non solo parte del problema, ma anche parte della soluzione.
Siamo ancora agli inizi. Lexo, per ora, è un prototipo di ricerca. Ma il principio che introduce apre scenari interessanti: immaginare pipeline di sviluppo in cui ogni componente venga automaticamente verificato, rigenerato e certificato da un sistema AI prima di essere integrato in produzione.
Un giorno potremmo avere CI/CD in grado di non solo testare, ma rigenerare automaticamente il codice sospetto, garantendo un livello di sicurezza oggi impensabile.
Naturalmente, resta da capire quanto sia sostenibile un approccio del genere su larga scala, e quanto possiamo fidarci delle rigenerazioni automatiche. Ma la direzione è chiara: il confine tra difesa e generazione si sta assottigliando, e l’intelligenza artificiale sta diventando un alleato sempre più importante anche nella cyber-security.
Commenti
Posta un commento