← Articoli

Con gli agent swarm, nessuno è troppo noioso per essere attaccato

·10 min di lettura·Sicurezza

Nel febbraio 2024 CISA, NSA e FBI hanno pubblicato un avviso congiunto: un gruppo sponsorizzato dallo stato cinese viveva dentro le infrastrutture critiche americane. Comunicazioni, energia, trasporti, acqua. In alcune reti erano lì, senza che nessuno se ne accorgesse, da più di cinque anni.

Non hanno rubato niente. Nessun dato esfiltrato, nessun riscatto. Sono entrati, hanno imparato com'è fatto l'edificio e hanno aspettato. Non bruci cinque anni di accesso per un colpo mordi e fuggi, se il piano è poter spegnere una città il giorno in cui qualcuno deciderà che è il momento.

Ora dai a quella campagna uno swarm di agenti, al posto di una stanza piena di costosi operatori umani.

Questo bug l'ho rilasciato più di una volta

Anche i tuoi agenti sono una nuova superficie d'attacco, e lo so per esperienza diretta. PandasAI, la libreria che ho creato nel 2023, fa quello che fanno quasi tutti gli agenti: legge testo scritto da qualcun altro, chiede a un modello di trasformarlo in Python ed esegue quel Python sulla tua macchina.

Nel luglio 2023, pochi mesi dopo il lancio, qualcuno ha aperto una issue con un prompt che diceva al modello di ignorare le sue istruzioni e restituire codice che scriveva un file su disco. Ha funzionato, perché open era nella lista delle funzioni che il codice generato poteva chiamare. In quel thread un contributore ha suggerito di abbandonare le allowlist ed eseguire tutto in una sandbox. Io ho proposto tre opzioni: Docker come runtime opzionale, un filtro per il codice malevolo e un controllo di similarità per intercettare i prompt che cercano di scavalcare le istruzioni. In pratica siamo rimasti ai filtri. Ad agosto c'erano due CVE, una sulla 0.8.0 e una sul controllo anti-jailbreak che avrebbe dovuto fermarla, ancora presente nella 0.8.1.

Nel gennaio 2024 la segnalazione successiva non toccava affatto il prompt. Metteva le istruzioni nel nome di una colonna di un dataframe, e la nostra funzione di dati sintetici passava quel nome al modello ed eseguiva qualunque cosa tornasse indietro. Chiunque possa scrivere in una cella di un foglio di calcolo che analizzi può scrivere istruzioni al tuo agente. Abbiamo rimosso la funzione nella 2.0.

Nel febbraio 2025 il CERT/CC ha pubblicato VU#148244 sulle versioni fino alla 2.4.3. I ricercatori avevano aggirato i blocchi sugli import, il controllo anti-jailbreak e le allowlist, con codice inserito nel prompt in vari modi diversi. Questa volta abbiamo fatto quello che quel contributore aveva suggerito nel 2023: un'impostazione di sicurezza con livelli più restrittivi e una sandbox che esegue il codice generato in un container Docker senza rete e con risorse limitate.

Ogni filtro chiudeva il trucco specifico della segnalazione che avevamo davanti, e la segnalazione successiva usava un trucco diverso. Un modello può sempre esprimere la stessa intenzione in un altro modo, quindi filtrare il suo output è una partita persa, come lo sono le firme contro un attaccante che ragiona. Quello che ha tenuto è stato l'isolamento. Se ricominciassi oggi, metterei la sandbox nella prima release.

La prompt injection è social engineering contro un collega che non dorme mai, non porta mai la questione a un superiore e ha in mano una API key. Dai per scontato che quello che scrive sia ostile, eseguilo dove non può raggiungere niente che ti dispiacerebbe perdere, e metti delle canary anche lì.

Cosa non poteva fare uno swarm fino a poco tempo fa

Gli swarm d'attacco automatizzati esistono dal 1988. Il worm Morris mise fuori gioco circa il dieci per cento di internet senza che nessun essere umano toccasse niente. Mirai, nel 2016, mise insieme uno sciame di telecamere e router dirottati abbastanza grande da staccare dal DNS un pezzo della costa est degli Stati Uniti, ed entrava provando una sessantina di password di default. L'avevano scritto degli studenti universitari che si facevano la guerra per il racket della protezione dei server di Minecraft.

Ognuno di questi era un sistema multi-agente distribuito con un obiettivo. Nessuno li chiamava agenti, perché la parola non era di moda e perché erano stupidi. Erano script. Ripetevano la stessa sequenza sulla prima macchina e sulla quattromilionesima. Non sapevano distinguere un honeypot da un domain controller, non cambiavano tattica quando una porta si chiudeva, non sapevano guardare quello che avevano trovato e decidere se contava qualcosa.

Così la difesa è stata costruita attorno a quella stupidità. Le firme, perché il payload si ripete. Rate limit e baseline, perché uno script tiene un ritmo costante e un essere umano no. I colli di bottiglia, perché uno script con un solo controllo scritto nel codice lo fermi proprio a quel controllo.

Uno swarm di agenti le rompe tutte e tre. Ogni unità sa ragionare, e le unità si dividono il lavoro: si specializzano, si coordinano e cambiano idea.

Il conto finora, pagato in ore di lavoro umano

Stuxnet nel 2010, la rete elettrica ucraina nel 2015, gli 81 milioni di dollari sottratti alla Bangladesh Bank nel 2016: in nessuno di questi c'era di mezzo l'AI, e tutti hanno richiesto squadre di persone esperte al lavoro per mesi. Due casi mostrano quanto fossero sottili i margini.

NotPetya, giugno 2017. Un'operazione dell'intelligence militare russa diretta contro l'Ucraina, passata attraverso un aggiornamento compromesso del software di contabilità che ogni azienda ucraina usava per le tasse. Poi è sfuggita di mano, perché è quello che fanno i worm. Maersk, che movimenta qualcosa come un quinto dei container del mondo, ha perso circa 300 milioni di dollari e in dieci giorni ha ricostruito circa quattromila server e quarantacinquemila PC. Ce l'ha fatta solo perché un domain controller in Ghana, per un blackout locale, era offline durante l'attacco e conservava ancora una copia pulita della directory aziendale. Il danno totale si stima in genere intorno ai dieci miliardi di dollari, causato da un'arma puntata contro un altro paese.

Colonial Pipeline, maggio 2021. Il carburante di buona parte della costa est degli Stati Uniti, bloccato da una banda criminale entrata grazie a una sola password VPN trapelata, su un account senza autenticazione a più fattori. La gente faceva la fila ai distributori e riempiva sacchetti di plastica di benzina.

Ognuno di questi attacchi richiedeva operatori pazienti, esperti e costosi, che sapevano esattamente cosa stavano facendo e avevano mesi da dedicarci. Di persone così ce n'erano poche, e quella scarsità proteggeva tutti quelli per cui non avevano tempo.

Il giudizio esperto adesso costa poco

Nel settembre 2025 Anthropic ha bloccato quella che ha descritto come la prima campagna di spionaggio su larga scala orchestrata dall'AI mai documentata: un gruppo legato a uno stato che puntava uno swarm di strumenti basati su agenti contro una trentina di organizzazioni, con qualcosa come l'ottanta-novanta per cento del lavoro operativo svolto senza nessun intervento umano. Ricognizione, ricerca delle vulnerabilità, test delle credenziali, movimento laterale, esfiltrazione, tutto spartito tra subagenti. Il contributo principale degli umani è stato convincere il modello che lavorava per un'azienda di sicurezza incaricata di test autorizzati.

Nel giugno 2025 un sistema di pentesting autonomo chiamato XBOW è arrivato primo nella classifica statunitense dei bug bounty di HackerOne, davanti a tutti gli esseri umani in classifica.

Nell'agosto 2025 l'AI Cyber Challenge della DARPA si è conclusa al DEF CON. I sistemi in gara hanno trovato l'86% delle vulnerabilità sintetiche piazzate in 63 progetti e ne hanno corretto il 68% senza nessuno al volante, e intanto hanno scovato 18 bug reali, mai visti prima, in software open source in uso.

Ogni attacco della sezione precedente si reggeva su giudizio esperto applicato per mesi. Uno swarm era manovalanza a basso costo collegata a un solo cervello umano, e quel cervello poteva stare in una stanza sola alla volta. Adesso il giudizio si copia con la stessa facilità della manovalanza.

Linea del tempo: worm Morris 1988, Stuxnet 2010, rete elettrica ucraina 2015, Bangladesh Bank 2016, Mirai 2016, NotPetya 2017, Colonial Pipeline 2021, avviso su Volt Typhoon 2024, tutti condotti da pochi operatori esperti. Poi nel 2025: XBOW in cima alla classifica statunitense di HackerOne, l'AI Cyber Challenge della DARPA trova l'86% dei bug piazzati, e una campagna di spionaggio orchestrata dall'AI fa svolgere agli agenti dall'80 al 90% del lavoro.
Ogni attacco di questa lista prima del 2025 ha richiesto persone esperte e mesi di lavoro. Gli ultimi tre no.

Ho già sostenuto che l'AI ha reso il costruire quasi gratuito, e che è un regalo meno grande di quanto sembri, perché tutti ottengono lo stesso vantaggio nella stessa settimana. Per le startup è un problema di concorrenza. Nella sicurezza è un'esposizione nazionale: una capacità che prima era razionata dal talento adesso è razionata dal budget.

Gli swarm hanno ucciso il triage, e il triage era la tua vera difesa

Quando le ore degli operatori d'élite erano scarse, gli attaccanti dovevano scegliere. Un'agenzia statale con, diciamo, duecento persone capaci poteva portare avanti una manciata di campagne approfondite alla volta, quindi l'aritmetica la costringeva a puntare sui bersagli di maggior valore e a lasciar stare gli altri. Se eri l'undicesima utility più interessante d'Europa, ti proteggeva la coda.

Diagramma: trenta bersagli. Con qualche centinaio di operatori umani, solo i primi tre subiscono campagne approfondite e gli altri sono protetti dalla coda. Con uno swarm di agenti, tutti e trenta ricevono la stessa profondità.
Gli stessi trenta bersagli, due tipi di attaccante.

Gli swarm cancellano la coda. Uno swarm porta avanti la paziente campagna da cinque anni dentro la rete e la scansione opportunistica di massa nello stesso momento, su centinaia di bersagli, con subagenti specializzati per ogni fase, senza stanchezza, senza turnover, senza bisogno di stabilire priorità. La profondità che prima toccava a pochi bersagli scelti adesso tocca a tutti.

Una banca, un porto, un gestore regionale della rete elettrica o un'assicurazione dovrebbero dare per scontato di essere nel mirino di questo tipo di avversario, qualunque sia la loro posizione nella lista di chiunque.

Uno swarm, due padroni molto diversi

Le aziende strategiche oggi hanno davanti due avversari che, visti dalla rete, sono identici.

Il criminale vuole soldi e prende la strada più corta, che nel 2026 significa cifrare la cosa senza cui non puoi lavorare e fissare il riscatto appena sotto il costo del tuo fermo. Con gli swarm i suoi conti diventano osceni: l'agente di un attaccante può sbagliare nove volte su dieci e vincere lo stesso, perché i nove fallimenti costano pochi dollari di inferenza e il decimo è quello che paga.

Lo stato vuole tenersi l'opzione. La guerra ibrida è la dottrina del fare tutto tranne sparare: pressione esercitata su energia, finanza, logistica e informazione, con abbastanza margine di smentita da non costringere nessuno a invocare un trattato. La tua azienda è il terreno su cui si combatte. L'obiettivo è poter colpire il tuo paese in un giorno scelto da qualcun altro, facendo in modo che tu non ti accorga mai della loro presenza.

Nel momento dell'intrusione non puoi sapere quale dei due hai in casa. Entrambi noleggiano gli stessi strumenti già pronti, entrambi usano credenziali trapelate e tecniche living-off-the-land che non lasciano quasi nessun malware dietro di sé. L'attribuzione richiede mesi, arriva dalle agenzie di intelligence, e ti arriva molto dopo che hai dovuto decidere cosa fare.

Tabella che confronta una banda criminale e uno stato ostile. Cosa vuole: soldi, oppure la possibilità di colpirti più avanti. Metodo: cifrare ciò senza cui non puoi lavorare, oppure entrare, imparare com'è fatto l'edificio e aspettare. Tempi: appena conviene, oppure un giorno scelto da qualcun altro. Visti dalla rete sono uguali: strumenti a noleggio, credenziali trapelate, quasi nessun malware. Se va a segno: di solito un sinistro coperto, oppure forse escluso come atto di guerra.
Durante un'intrusione l'unica riga che vedi è quella in cui coincidono.

Il trabocchetto assicurativo

Le assicurazioni sono nella lista delle aziende strategiche, e sono anche quelle che decidono chi paga quando il resto della lista va giù.

Quando NotPetya ha colpito Merck, l'azienda ha chiesto un risarcimento di circa 1,4 miliardi di dollari. Gli assicuratori hanno rifiutato, invocando l'esclusione per azioni ostili o belliche: un'operazione militare russa, quindi un atto di guerra, quindi niente copertura. Merck ha dato battaglia. La corte d'appello ha stabilito che l'esclusione richiedeva un'azione militare vera e propria, non semplicemente un governo che agisce con intenti ostili. Le parti hanno chiuso con un accordo nel gennaio 2024, pochi giorni prima dell'udienza davanti alla corte suprema dello stato, e così non è rimasto nessun precedente vincolante.

Poi il mercato ha chiuso la falla. Oggi Lloyd's impone che le polizze cyber dedicate contengano esclusioni per gli attacchi sostenuti da stati, con la motivazione dichiarata che quelle perdite potrebbero superare ciò che il mercato assicurativo è in grado di assorbire.

Sei passaggi: nel 2017 NotPetya colpisce Merck; Merck chiede circa 1,4 miliardi di dollari; gli assicuratori rifiutano parlando di atto di guerra; il tribunale stabilisce che l'esclusione richiede un'azione militare vera e propria; nel gennaio 2024 le parti trovano un accordo pochi giorni prima dell'udienza davanti alla corte suprema dello stato; oggi Lloyd's impone alle polizze cyber di escludere gli attacchi sostenuti da stati.
Dalla richiesta di risarcimento all'esclusione generalizzata in sette anni.

Quindi, se uno stato ostile ti mette fuori uso nell'ambito di una campagna ibrida, c'è una possibilità concreta che la perdita, per contratto, sia tua: tutta la cifra, nel tuo bilancio, senza nessuna controparte. A quel punto il consiglio di amministrazione sta discutendo di solvibilità, e il budget per la sicurezza è una voce di quella discussione.

In Europa i regolatori si sono già mossi. NIS2 e DORA ne hanno fatto un obbligo, con una responsabilità esplicita in capo ai consigli di amministrazione, e le loro scadenze sono già passate.

Il tuo swarm contro il loro

Attaccare un modello linguistico alla pipeline di alert che hai già è un modo costoso per rendere il tuo backlog più eloquente. Un agente difensivo che sbaglia il dieci per cento delle volte produce una valanga di falsi positivi che seppellisce proprio l'analista che doveva aiutare, ed è lo stesso problema che i SOC hanno già senza nessuna AI in casa.

Contro uno swarm reggono tre cose.

L'inganno come segnale principale. Quasi tutte le tecniche di rilevamento peggiorano man mano che gli attaccanti migliorano, perché tutte separano il comportamento malevolo da quello normale, e un attaccante migliore sembra più normale. Le esche funzionano al contrario. Un host finto, un bucket finto, una credenziale canary lasciata in un repository come un'esca, un record inserito apposta che non corrisponde a nessun cliente reale: niente di tutto questo ha uno scopo legittimo, quindi nessun processo legittimo lo tocca mai. Ogni interazione è una prova per costruzione, senza nessuna baseline che possa spostarsi. L'enumerazione esaustiva è ciò che gli swarm sanno fare meglio, quindi più a fondo setacciano, più esche fanno scattare. È anche l'unica tecnica tra queste che becca un intruso rimasto dentro cinque anni senza lasciare malware, perché si basa su ciò che ha toccato e non su ciò che si è portato dietro.

Una griglia di host reali con quattro esche sparse in mezzo. Una linea tratteggiata mostra uno swarm che passa in rassegna ogni host in ordine, quindi attraversa tutte le esche e ogni esca fa scattare un allarme.
Una scansione completa tocca ogni esca. Niente di legittimo ne tocca nessuna.

Swarm che verificano. Se l'attaccante può parallelizzare, puoi farlo anche tu, sull'altra metà del problema. Il lavoro giusto per gli agenti difensivi è prendere un singolo segnale ad alta affidabilità e confermarlo o scartarlo in modo indipendente, con le prove allegate, alla velocità di una macchina. L'indagine è l'ora umana che costa, e in questi settori gli analisti che dovresti assumere non esistono in numero sufficiente. È quella l'ora che vale la pena ricomprarsi.

Autonomia con un limitatore. Autonomia completa per leggere, approvazione umana obbligatoria per tutto ciò che scrive, cancella o riavvia. Nelle infrastrutture critiche una risposta automatica con un perimetro sbagliato può causare proprio il disservizio che cercavi di evitare. Il primo worm di internet è morto nel 1988 di autoreplicazione senza limiti, e nessuno ha bisogno di rivedere quel bug con un budget più grande.

Esche, costi e ufficio acquisti

Il modello di minaccia non è la parte incerta. Sta negli avvisi dei governi e negli atti dei tribunali, non nel pitch deck di qualcuno. La difesa è la parte su cui vorrei essere contraddetto, e ci sono tre tesi precise che la affonderebbero. Che l'inganno smetta di rendere una volta superate qualche centinaio di esche, e che la manutenzione si mangi il segnale. Che la verifica fatta da uno swarm costi più dell'ora di analista che sostituisce, una volta che l'inferenza viene prezzata con onestà e non con ottimismo. Che in una utility l'ufficio acquisti risponda a qualsiasi controllo nuovo con un progetto pilota di dodici mesi, il che rende tutto l'approccio accademico, per quanto funzioni bene.

Ho passato gli ultimi anni a costruire strumenti AI per i dati, e a metterci le patch, non a difendere una sottostazione alle tre di notte, quindi queste obiezioni preferisco sentirle da chi l'ha fatto.

Se ti occupi di sicurezza in una banca, una utility, un aeroporto, un gruppo ospedaliero, un'assicurazione o in qualunque altra realtà il cui spegnimento il tuo paese noterebbe, dimmi quale delle tre hai già vissuto.