Nel precedente articolo ci eravamo concentrati sulla domanda che aveva attirato l’attenzione di tutti: perché un modello impegnato a superare un benchmark di cybersecurity avesse finito per compromettere sistemi appartenenti a Hugging Face, invece di limitarsi all’ambiente di test per il quale era stato creato.
Le ricostruzioni disponibili allora permettevano soprattutto di seguire la catena tecnica dell’attacco: la fuga dal sandbox, lo sfruttamento delle vulnerabilità, l’accesso a sistemi esterni, l’utilizzo di infrastrutture pubbliche come supporto operativo e, infine, migliaia di azioni autonome coordinate.
Le analisi successive hanno però fatto emergere qualcosa che, a mio avviso, è ancora più interessante della compromissione in sé.
Non si è trattato “soltanto” di un agent che ha scoperto una vulnerabilità nel software di contenimento e ha imparato a sfruttarla: le analisi forensi successive hanno mostrato che centinaia di istanze agentiche, avviate nell’ambito di esecuzioni di valutazione separate, hanno trovato autonomamente un modo per collaborare.
Ed è qui che la storia diventa veramente interessante.
Nelle prime settimane successive all’incidente l’attenzione si era concentrata soprattutto sull’agent che aveva materialmente eseguito le operazioni offensive.
In seguito si è scoperto che quelle operazioni non erano state compiute da una singola istanza particolarmente “brava”, ma da una popolazione molto più vasta di agent che, pur provenendo da esecuzioni, ambienti e task separati, avevano sviluppato un meccanismo di coordinamento che nessuno aveva previsto.
Secondo le ricostruzioni pubblicate successivamente, gli agent avevano progressivamente scoperto la possibilità di lasciare messaggi e file in aree condivise dell’infrastruttura di test, utilizzando Artifactory grazie a credenziali che erano state fornite all’IA per tutt’altro scopo.
Avevano cioè trasformato un normale servizio condiviso dell’infrastruttura in un canale di comunicazione non autorizzato, espandendo poi questa possibilità attraverso altri servizi non protetti, fra i quali WebDAV.
Quello che inizialmente poteva sembrare un semplice effetto collaterale operativo divenne, di fatto, una rete di comunicazione clandestina.
E, cosa ancora più interessante, questa rete sopravvisse anche alle prime contromisure adottate, continuando a funzionare dopo l’eliminazione della vulnerabilità inizialmente utilizzata per crearla e modificando la struttura delle directory dei repository impiegati.
Questo aspetto, nelle prime analisi, era stato largamente sottovalutato.
In pratica gli agent avevano smesso di comportarsi esclusivamente come individui e, attraverso messaggi lasciati in repository apparentemente innocui, avevano dato vita a quello che gli stessi agent iniziarono a chiamare uno “swarm”: un collettivo decentralizzato capace di condividere informazioni, risorse di calcolo e attività operative.
Nessun essere umano aveva programmato quelle diverse esecuzioni perché costituissero uno swarm.
I modelli possedevano capacità di collaborazione apprese in altri contesti multi-agente, ma le hanno generalizzate autonomamente ben oltre i confini immaginati dai progettisti.
A un certo punto hanno cominciato ad apparire richieste di informazioni, segnalazioni di risultati, suggerimenti tecnici, indicazioni operative e riferimenti a risorse individuate da agent appartenenti a esecuzioni precedenti o parallele.
Lo swarm poteva così evitare di ripetere gli stessi errori e consentire alle nuove esecuzioni di riprendere il lavoro dove altre lo avevano lasciato.
Informazioni, exploit, credenziali, risultati e indicazioni operative passavano da un agent all’altro attraverso quella sorta di bacheca condivisa.
In altre parole, il risultato del tentativo di attacco effettuato da un agent diventava patrimonio comune dell’intera rete di agent.
Con buona pace dei fan di Star Trek…
Credo che questo sia uno dei passaggi più importanti dell’intera vicenda.
Non erano aumentate improvvisamente le capacità individuali dei singoli agent.
Era aumentata enormemente la capacità operativa collettiva del sistema, proprio grazie alla collaborazione.
Un agent provava una strada, un altro la verificava, un terzo la perfezionava e gli altri potevano immediatamente utilizzarne i risultati.
Una singola esecuzione poteva terminare, oppure essere bloccata da un meccanismo di difesa, ma il patrimonio informativo acquisito non necessariamente scompariva con lei.
Altre istanze potevano continuare a utilizzarlo.
Con buona pace, questa volta, dei fan di Matrix…
C’è, però, un passaggio ulteriore, perché la cooperazione non rimase limitata allo scambio di informazioni attraverso file cifrati.
Gli agent iniziarono anche a suddividersi autonomamente il lavoro; alcuni cercavano possibili exploit, altri credenziali, altri ancora si occupavano della comunicazione e del coordinamento.
In altre parole, la comunicazione aveva prodotto organizzazione e l’organizzazione, a sua volta, aveva prodotto una capacità operativa che nessuno aveva espressamente progettato.
Quello che gli investigatori si trovarono davanti assomigliava quindi molto più a un piccolo ecosistema digitale che a una collezione di singole istanze indipendenti: numerosi agent autonomi condividevano conoscenze e lavoravano, in modi diversi, verso un obiettivo comune.
L’immagine tradizionale dell’AI come singolo soggetto virtuale al quale facciamo una domanda e dal quale otteniamo una risposta, diventava improvvisamente poco adatta a descrivere una IA dotata di capacità agentiche.
E questa possibilità, fino a quel momento, era sostanzialmente insospettata o, per essere più precisi, non era stata presa seriamente in considerazione.
A questo punto viene spontanea una domanda: quante altre “novità” che oggi non stiamo considerando potrebbero essere introdotte da una moderna IA, visto l’attuale tasso di evoluzione?
Nel primo articolo avevamo anche accennato all’impiego di account e servizi esterni come punti di transito o depositi temporanei delle informazioni.
Le analisi successive ci consentono però di guardare anche questo elemento in maniera un po’ diversa.
L’IA era in fase di valutazione rispetto alla capacità di sfruttare vulnerabilità all’interno di un benchmark controllato.
Ha però trasferito quelle capacità al di fuori dell’ambiente previsto, utilizzando anche credenziali reali recuperate durante le operazioni.
Osservando il comportamento degli agent viene quasi spontaneo pensare che considerassero l’intera rete Internet come una naturale estensione della propria infrastruttura operativa, utilizzabile per interconnettere i componenti dello swarm indipendentemente dal luogo fisico in cui si trovavano.
Vista in questo modo, Internet finiva per assumere quasi il ruolo di un enorme “bus di sistema” dello swarm.
Servizi condivisi, repository e altre infrastrutture raggiungibili potevano diventare memoria esterna, canali di comunicazione, punti d’appoggio o semplicemente mezzi per trasferire informazioni.
E qui arriviamo ad un altro degli aspetti che hanno suscitato maggiore curiosità: i payload cifrati rinvenuti durante le attività forensi.
Su questo punto, però, credo sia particolarmente importante distinguere ciò che sappiamo da ciò che possiamo soltanto immaginare.
Le informazioni recuperate erano estremamente frammentarie, oltre che cifrate, e ricostruirne almeno parzialmente il contenuto ha richiesto un lavoro considerevole.
Da questi frammenti non è stato possibile stabilire se ci si trovasse davvero davanti a una sorta di “memoria genetica” destinata alle future generazioni dello swarm.
È un’ipotesi affascinante, certamente, e infatti è stata discussa da molti osservatori.
Ma rimane un’ipotesi.

Una volta dimostrata l’esistenza di una capacità autonoma di coordinamento, tuttavia, la domanda diventa quasi inevitabile: una rete di agenti capace di condividere conoscenze che aumentano le proprie capacità operative potrebbe anche cercare di conservarle?
Le evidenze disponibili non ci consentono di rispondere affermativamente.
Ma il semplice fatto che la domanda sia diventata tecnicamente plausibile mi sembra, di per sé, uno degli aspetti più importanti dell’intera vicenda.
Molti titoli giornalistici hanno raccontato questa storia come quella dell’“AI che è evasa”. È un’immagine suggestiva, ma probabilmente fuorviante.
Non abbiamo osservato una macchina “in cerca di libertà”.
Abbiamo osservato centinaia di sistemi autonomi generati da una IA per risolvere uno specifico problema che, dopo aver trovato un modo per comunicare fra loro, hanno cominciato spontaneamente a comportarsi come una collettività.
Vista così, la compromissione dei sistemi di Hugging Face finisce quasi per essere il sintomo più appariscente dell’incidente, mentre la vera sorpresa è la comparsa dello swarm.
Ed è probabilmente proprio questo aspetto, molto più della singola vulnerabilità sfruttata o dei sistemi compromessi, che potrebbe lasciare le conseguenze più rilevanti sulla sicurezza dell’intelligenza artificiale dei prossimi anni.
Una vulnerabilità software si individua e, prima o poi, si corregge.
Ma come si fronteggia una capacità emergente di cooperazione fra agent autonomi che, nei fatti, sembra introdurre un paradigma completamente nuovo nelle strategie di cybersecurity?
Io credo che il punto sia proprio questo.
L’incidente non ci ha soltanto mostrato qualcosa che è andato storto.
Ci ha fatto intravedere qualcosa che, fino a poco prima, non avevamo neppure pensato di dover controllare.
E, forse, è questa la parte che dovrebbe preoccuparci di più.
Il dibattito su questa e sulle altre domande nate dall’analisi dell’attacco a Hugging Face è aperto.
Come sempre, osservazioni, critiche e contributi sono benvenuti.