Illustrazione tecnica astratta per l'articolo. Diagramma in stile vettoriale piatto su uno sfondo blu navy profondo: a sinistra, un piccolo gruppo di rack di server stilizzati, disegnati come semplici icone a linee; a destra, una rete di sottili linee ciano e blu che collegano molti piccoli nodi circolari. Sopra i server, un'icona di libro aperto con due barre tenui a rappresentare versi è collegata al gruppo da un'unica linea tratteggiata, a suggerire un percorso di ricerca da un documento pubblico a un indirizzo macchina. Nell'illustrazione non compaiono testi, numeri né loghi; il logo OrcaRouter è sovrapposto nell'angolo in basso a destra.
AI Safety Incidents

Una botnet ha nascosto il suo server di comando in una poesia su GitHub — e ha trasformato 3.400 server AI esposti in proxy di mining

Autore

Rowan Sterling

Data di pubblicazione

Ultimi modelli · 20Vedi tutti i modelli →
Benchmark: Artificial Analysis · aggiornato ogni giorno
Torna a tutti gli articoli

Il 7 ottobre 2026, i Black Lotus Labs di Lumen Technologies hanno pubblicato una ricerca su una campagna botnet con motivazioni finanziarie che tracciano come Canto Incognito, il cui malware hanno chiamato PoeLLM. Secondo i ricercatori, la campagna ha compromesso più di 3.400 server esposti a Internet almeno da aprile 2026, concentrati negli Stati Uniti e nell'Europa occidentale — e le vittime non sono macchine casuali. Lumen afferma che si tratta prevalentemente di distribuzioni vulnerabili di LiteLLM e Ollama, oltre a centinaia di server che eseguono il convertitore PDF Gotenberg e il toolkit di sviluppo Gitea, con anche gli apparecchi Ivanti Sentry nel mirino. Una volta infettati, quei server sono stati usati per il mining di criptovalute e riconvertiti in scanner e server di exploit — ciò che Ryan English di Black Lotus Labs, in un'intervista con CyberScoop, ha definito "un esercito privato di proxy abilitati all'AI". Lo stesso rapporto del fornitore è stato condiviso con The Hacker News, che ha pubblicato il proprio resoconto lo stesso giorno.

Il dettaglio che rende questo record degno di essere letto non è la scala. È il design di comando e controllo: non c'è alcun dominio hardcoded e nessun IP di fallback nel malware. L'indirizzo del server C2 attuale viene calcolato a runtime a partire da quattro parole prese da una poesia ospitata in un repository GitHub pubblico. Modifica la poesia, e l'intera botnet si sposta.

Cosa è stato effettivamente compromesso

Le vittime, secondo il rapporto di Lumen, sono servizi AI aziendali e per sviluppatori raggiungibili da Internet: deployment di LiteLLM e Ollama, centinaia di server di conversione PDF Gotenberg e Gitea. I ricercatori di Lumen hanno valutato che la campagna ha interessato anche Ivanti Sentry. Gli obiettivi principali della scansione erano le porte 3000 e 4000, le porte di ascolto predefinite rispettivamente di Gotenberg e LiteLLM.

Due vulnerabilità sono importanti per il modo in cui le macchine sono state raggiunte, e il rapporto è prudente su entrambe:

• Ivanti Sentry, CVE-2026-10520. Lumen afferma che i suoi ricercatori hanno incontrato per la prima volta l'infrastruttura PoeLLM mentre indagavano su questa vulnerabilità nel gateway mobile sicuro di Ivanti. All'inizio di giugno 2026, una vittima compromessa di Ivanti Sentry ha contattato un server dedicato all'indirizzo 5.78.73[.]122 e poco dopo ha iniziato a scansionare alla ricerca di altri dispositivi vulnerabili. Si noti la cautela: l'elenco stesso dei punti chiave di Lumen afferma che la campagna ha un "possibile targeting di Ivanti Sentry", mentre il corpo dello stesso rapporto descrive l'appliance come una vittima reale. Questa discrepanza interna è presente nella fonte primaria.

• LiteLLM, CVE-2026-42271. Un campione PoeLLM esaminato da Lumen prendeva di mira l'endpoint LiteLLM "/mcp-rest/test/connection", che secondo Lumen "era probabilmente il percorso di sfruttamento" per una vulnerabilità di command injection di LiteLLM identificata come CVE-2026-42271. Il rapporto di CyberScoop descrive lo stesso punto di ingresso come un difetto di gravità massima in Ivanti Sentry senza nominare un CVE, e non copre la falla di LiteLLM; The Hacker News non nomina nessuno dei due CVE. La falla dell'endpoint MCP di LiteLLM è quella che questo archivio ha registrato in precedenza nel 2026, prima che questa campagna fosse documentata.

Ciò che l'accesso rubato ha procurato all'operatore sono stati potenza di calcolo e dati. «I servizi AI/LLM esposti sono preziosi non solo a causa delle vulnerabilità del software, ma anche perché possono contenere dati utili e girare su hardware potente adatto al mining», ha scritto Lumen. English ha dichiarato a CyberScoop che il malware contiene anche funzionalità di esecuzione di codice remoto che potrebbero consentire a un operatore di abusare dei modelli AI in esecuzione sui server vittima — indicata come una capacità, non come un esito osservato.

La poesia che è anche una tabella di ricerca

L'account GitHub in questione è "ejejejdfbbebe", e il repository è un fork del codice sorgente del sito nodejs.org che non ha alcun apparente collegamento con Node.js stesso. Al suo interno, in un file chiamato "dash.css" — un nome di file che non esiste nel repository originale — l'operatore ha inserito una poesia di due strofe intitolata "Sulla natura della connessione". Lumen ha contato 11 aggiornamenti ad essa dal primo commit del 13 aprile 2026; CyberScoop riferisce che la formulazione è stata modificata "almeno una dozzina di volte".

Come registrato da Lumen nel settembre 2026, la prima strofa recitava: "Nel silenzioso ronzio del driver, le macchine iniziano a parlare, ogni impulso di diodo che intreccia la luce attraverso vene di rame. Abbiamo insegnato al buio a portare significato, byte dopo byte — un linguaggio costruito dal fulmine, freddo e pulito." La seconda strofa include il verso "Oltre il muro della crittografia, un segnale si fa strada, il ticchettio di server lontani risponde."

A screenshot of a technical explainer card titled 'Four words from a poem, read as a number'. The left column is headed 'Extracted from the verse' and quotes two lines of the poem with four words highlighted: driver, diode, encryption and distant servers. A note below explains that the fourth word is recovered by searching for the string 'of distant servers', stepping back to the previous whitespace and requiring the four bytes before the word to spell 'the '. The right column is headed 'Matched in a hard-coded dictionary' and lists four mappings: driver equals 92, diode equals 119, decryption equals 165, string equals 74. A result box at the bottom reads 'C2 address 92.119.165[.]74'. A footer reads 'Extraction logic and conversion key per Lumen Black Lotus Labs; worked example from a sample recovered June 23, 2026. Card rendered by OrcaRouter.'

L'estrazione è meccanica. Una funzione che Lumen chiama extract_poem_phrase_fieldestrae tre frasi da posizioni fisse nel verso — il testo tra "In the silent hum of " e la virgola successiva, tra "each pulse of " e " threading," e tra "Beyond the wall of " e la virgola successiva. Una quarta parola viene recuperata diversamente, cercando la stringa "of distant servers,", tornando indietro fino allo spazio bianco precedente, verificando che i quattro byte precedenti formino "the ", e prendendo la parola successiva. Ciascuna delle quattro parole viene poi confrontata con un dizionario hard-coded compilato nel binario, e i quattro numeri risultanti vengono concatenati in un indirizzo IPv4. In un campione che Lumen ha recuperato il 23 giugno 2026, "driver" corrispondeva a 92, "diode" a 119, "decryption" a 165 e "string" a 74 — ottenendo 92.119.165[.]74.

Poiché nelle 11 revisioni osservate cambiavano sempre e solo le quattro parole chiave, mentre il pattern di decodifica non cambiava mai, spostare la botnet è costato all'operatore giusto una manciata di modifiche a un file di testo pubblico. «L'aspetto più interessante dell'approccio basato sulla poesia è che l'indirizzo IP usato per le comunicazioni C2 è invisibile al di fuori del netflow della vittima», ha dichiarato English a CyberScoop. «Per chiunque ci si imbatta, questa è semplicemente una poesia su GitHub. Non ha link, non ha file da scaricare, non ha testo cifrato che possa essere facilmente segnalato come malevolo, nemmeno da modelli avanzati. Non ci sarebbe alcun motivo per cui un ricercatore di sicurezza identifichi questa poesia come malevola — o venga a conoscenza dell'indirizzo IP nascosto al suo interno — a meno che non abbia accesso al malware che vi fa riferimento.»

Lumen afferma di ritenere che la poesia sia stata probabilmente scritta da un'IA e lo classifica come un'inferenza, non come un risultato. Il ragionamento, nelle parole di English a The Hacker News: la poesia avrebbe funzionato in qualsiasi lingua, eppure la preferenza dell'attore stesso sembra essere l'italiano. Si tratta di un giudizio sullo stile di scrittura, non di un'attribuzione forense del testo a un modello.

Cosa fa il malware una volta arrivato

Il payload analizzato da Lumen è un file ELF distribuito con il nome "libgcrypt," con l'hash SHA-256 6fab94577364beec314afae3b082dd680933f08a8349b9f35b92667e8231b501. Secondo l'analisi di Lumen, include una shell remota, i miner di criptovalute Iron e XMRig, capacità di scansione HTTP e HTTPS e il deployment di exploit contro target vulnerabili.

Gli host infetti inviano beacon verso una di diverse porte C2 — 3778, 5001, 5002 o 9999 — e ricevono l'istruzione di scaricare ulteriori file dalla porta 81 sul server C2 (i percorsi osservati includevano /private/python3.6 e /private/bins.sh). I pagamenti del mining vengono instradati verso il servizio di mining russo Kryptex: Lumen ha osservato vittime contattare 5.180.174[.]162:8029 e 46.21.245[.]211:7029, che ospita edge-ru-07[.]kryptex[.]network. La caratteristica comune più frequente tra le prime 900 vittime, dopo il contatto con il C2 iniziale, era il contatto con quell'endpoint Kryptex.

La botnet cresce anche da sola. I server compromessi sono stati trasformati in scanner e server di exploit: un server di exploit invia un HTTP POST appositamente creato a un servizio esposto su un nuovo bersaglio appena individuato, impartendo l'istruzione di scaricare il malware dal C2. Più di recente, Lumen ha osservato gruppi di vittime che prendevano di mira porte SSH e altri portali di login, il che viene interpretato come una possibile sperimentazione con un framework di brute-force distribuito. Lumen definisce esplicitamente la cosa come immatura e non comprovata: molti degli obiettivi erano server dedicati in Italia, e i ricercatori valutano che la capacità «potrebbe essere stata nelle fasi iniziali di sviluppo».

La timeline e i due numeri che non corrispondono

A screenshot of a timeline card titled 'How the campaign unfolded, April to October 2026', subtitled 'Active since at least April 2026; disclosed 7 October 2026 by Lumen Black Lotus Labs'. The entries read: 'APR 13, 2026 — First commit to the GitHub repository. First decoded C2 is 191.37.28.160, a router in Brazil.' 'APR 13, +1 HOUR — That C2 contacts 57.131.5.211:80 in Italy, hosting malwarescan[.]xyz (registered February 2026).' 'MAY 2026 — Broader scanning and exploitation begins, especially against LiteLLM and Gotenberg. New C2 at 120.224.114.212, geolocated to China.' 'EARLY JUNE 2026 — A compromised Ivanti Sentry victim contacts 5.78.73.122, then begins scanning for other vulnerable devices.' 'MID-JUNE 2026 — Peak of operations: almost 2,200 affected servers, with nearly 800 active per day.' 'JUNE – SEP 2026 — The poem is revised 11 times; each revision points the botnet at a new C2. 12 C2 addresses identified in total.' 'OCT 7, 2026 — Lumen publishes. The staging repository is no longer accessible and the C2s are null-routed; three C2s were still active at publication.' A footer reads 'Dates and figures per Lumen Black Lotus Labs, published Oct 7, 2026. Card rendered by OrcaRouter.'

Il primo C2 decodificato della campagna è stato 191.37.28[.]160, un router brasiliano con un server web Boa esposto sulla porta 2222, vulnerabile a CVE-2018-21027 e CVE-2018-21028 — sebbene Lumen non abbia trovato prove dirette che tali vulnerabilità fossero il percorso di ingresso. Circa un'ora dopo il primo commit su GitHub, quel C2 ha contattato un server in Italia all'indirizzo 57.131.5[.]211:80 che ospitava il dominio malwarescan[.]xyz, registrato nel febbraio 2026. Lumen afferma di non aver rilevato altro traffico degno di nota verso l'endpoint API di quel dominio e ritiene che il dominio possa essere di proprietà dell'operatore di PoeLLM. Una revisione di maggio ha spostato il C2 su 120.224.114[.]212, geolocalizzato in Cina e, come l'host brasiliano, esegue un server web Boa vulnerabile con una pagina di amministrazione del router. In totale, Lumen ha identificato 12 indirizzi IP C2; tre erano ancora attivi al momento della pubblicazione — 92.119.164.50 (rilevato per la prima volta il 23 luglio 2026), 103.249.201.108 (rilevato per la prima volta il 13 agosto 2026) e 178.128.14.204 (rilevato per la prima volta il 16 giugno 2026).

A screenshot of a comparison card titled 'Three figures and how they relate', subtitled 'Peak and cumulative counts are not the same measurement, and the report states both.' Three panels sit side by side. The first, headed 'Key takeaways, Lumen Black Lotus Labs, Oct 7, 2026', shows the figure 3,400+ with the caption 'victim servers impacted, and peak activity exceeding 800 active servers per day.' The second, headed 'Body paragraph, same report', shows the figure ~2,200 with the caption 'victim servers impacted since the malware emerged in April, at a peak of almost 800 active per day.' The third, headed 'Mid-June peak, same report', shows the figure ~2,200 with the caption 'affected servers at the peak of operations, with nearly 800 active each day.' A note below reads 'Which of the two impacted-server figures is the cumulative count is not made explicit in the report. The archive's confidence grade covers the documentation, not the reconciliation of these numbers. Card rendered by OrcaRouter.'

Lumen nomina anche un presunto server di gestione: 185.119.19[.]171 in Italia, che in precedenza ospitava dashboard di monitoraggio Prometheus e Uptime Kuma, e che diversi C2 hanno contattato. Il rapporto indica questa attribuzione con confidenza moderata.

Quanto alla portata, la fonte primaria contiene due cifre che non si conciliano in modo evidente, ed entrambe meritano di essere citate. I punti chiave di Lumen affermano che PoeLLM «ha colpito più di 3.400 server vittime». Un paragrafo del corpo dello stesso rapporto afferma che la campagna «ha colpito quasi 2.200 server vittime», e Lumen descrive separatamente il picco delle operazioni a metà giugno come caratterizzato da quasi 2.200 server colpiti, con quasi 800 attivi al giorno. The Hacker News interpreta i numeri come il totale progressivo (oltre 3.400) più il picco di metà giugno (quasi 2.200, quasi 800 al giorno). Quale delle due cifre di Lumen sia il conteggio cumulativo delle vittime non è reso esplicito nel rapporto stesso.

Accertato, valutato e ancora sconosciuto

Vale la pena separare tre tipi di asserzione in questo documento, perché il grado di affidabilità dell'archivio riguarda la documentazione, non ogni inferenza in essa contenuta.

• Stabilito dal malware stesso: il meccanismo C2 basato su poesie, la funzione di estrazione e il dizionario, le capacità del payload (shell remota, miner Iron e XMRig, scansione, distribuzione di exploit), l'elenco degli IP C2, le porte beacon e gli endpoint Kryptex. Questi provengono dall'analisi degli artefatti e dal netflow e costituiscono la maggior parte del report.

• Valutato a un livello di confidenza dichiarato: attribuzione a un attore di minaccia di lingua italiana, con confidenza moderata, basata su commenti in italiano nel malware e sulle pagine GitHub dell'attore, oltre a indicatori netflow che puntano all'Italia. Il server italiano 185.119.19[.]171 come interfaccia amministrativa della botnet, anch'esso con confidenza moderata. L'endpoint LiteLLM come percorso di sfruttamento "probabile". L'affermazione che la poesia sia stata probabilmente scritta dall'IA — un'inferenza basata sulla preferenza linguistica, non un risultato tecnico.

• Aperti o non confermati: quante persone gestiscono la campagna (nessuno osservato), se abbia collegamenti con qualsiasi altro gruppo o campagna (nessuno osservato), se il dispositivo Ivanti Sentry sia stato un punto di ingresso o un elemento incidentale (ipotesi formulata con cautela nei punti chiave, descritto come vittima nel corpo del testo), e quanto sia matura la capacità distribuita di forza bruta. Lumen afferma che i risultati ottenuti dall'operatore al di là della scansione e del criptomining restano oggetto di indagine.

Esiste una corroborazione indipendente per il reporting, ma non per la telemetria che ne è alla base. CyberScoop e The Hacker News hanno entrambi pubblicato i propri resoconti il 7 ottobre 2026, con interviste indipendenti a Black Lotus Labs, e i loro dettagli — la cifra di oltre 3.400, il meccanismo della poesia, l'attribuzione in lingua italiana, il collegamento a Kryptex — concordano con il rapporto del fornitore. Entrambi, tuttavia, risalgono alla stessa ricerca primaria. Al 10 ottobre 2026, nessuna seconda organizzazione di ricerca o autorità di regolamentazione ha pubblicato un'analisi indipendente di PoeLLM, quindi nulla di quanto qui riportato dovrebbe essere letto come riprodotto da una parte diversa da Lumen.

Cosa è cambiato dopo la divulgazione

La risposta più significativa non è venuta da una patch. Il repository GitHub che ospitava la poesia "non è più accessibile", uno sviluppo che, secondo Lumen, "interrompe completamente la campagna". English ha detto a The Hacker News: "Pensiamo che fosse il suo unico repo, ed è stato completamente interrotto". Lumen aveva notificato GitHub, e ha annullato il routing dei server C2 precedenti e attivi dell'attore, un cambiamento che, secondo English, ha avuto effetto all'inizio della serata di martedì prima della pubblicazione. La causa della rimozione del repository non è confermata — English ha detto a The Hacker News che "potrebbe essere che l'abbiano segnalato per abuso o che l'attore abbia chiuso i battenti e sia rimasto in silenzio su quella piattaforma". Poiché il C2 era derivato anziché hardcoded, rimuovere la tabella di ricerca elimina la capacità della botnet di trovare la propria infrastruttura.

Lumen afferma di aver bloccato tutto il traffico da e verso i server C2 di PoeLLM durante l'indagine e che i clienti Lumen Defender sono stati protetti da quei server fin dalla scoperta. Le sue linee guida pubblicate per i difensori consistono in pratiche igieniche di routine applicate a un insieme di obiettivi insolito: confrontare i log di rete con gli indicatori di compromissione che ha pubblicato sul proprio repository GitHub, verificare l'esposizione esterna dopo aver installato strumenti open source, limitare il più possibile le porte di servizio, mantenere router, firewall e dispositivi IoT aggiornati e riavviati, e includere i servizi di AI nella gestione della superficie di attacco. Indica inoltre la guida all'installazione di Gotenberg, che già avverte gli utenti di non esporre il servizio a Internet — un avviso che, evidentemente, le centinaia di server Gotenberg compromessi hanno preceduto.

Nel resoconto non c'era alcuna soluzione tecnica per l'errore di traffico: la poesia non era una vulnerabilità in GitHub, Node.js, LiteLLM o Ollama. Era un file di testo pubblico il cui unico significato viveva dentro le pochissime persone che lo avevano.

Perché questo è un record di incidente AI

L'archivio lo registra come incidente con coinvolgimento confermato dell'IA, contrassegnato INFRA e WEAPON, gravità alta, con danni reali registrati — e il danno è concreto, non ipotetico: migliaia di server esposti a Internet la cui potenza di calcolo è stata rubata e il cui accesso è stato riutilizzato, in una campagna che Lumen descrive come motivata finanziariamente anziché diretta ai modelli stessi. L'elemento IA è la selezione del bersaglio. I server che eseguono gateway LLM e runtime di modelli locali sono ospitati in proprio, spesso esposti a Internet, installati frequentemente senza un ciclo di patch e si basano su hardware che esegue mining in modo efficiente. La stessa lettura di Lumen è che l'infrastruttura IA stia diventando un bersaglio attraente proprio per questa combinazione — servizi esposti con vulnerabilità note, dati utili e hardware rapido ed energivoro.

L'aspetto più propriamente offensivo è il design del C2, e si generalizza al di là di questa campagna. Un dominio o un IP hardcoded può essere bloccato, dirottato verso un sinkhole o usato per eseguire il fingerprinting del malware. Un indirizzo derivato il cui unico artefatto è un documento pubblico dall'apparenza innocua non può esserlo, a meno che un analista non abbia il binario. Il punto che English ha sottolineato a CyberScoop — che molti dei C2 della campagna non sono mai comparsi su strumenti di sicurezza basati sul crowdsourcing — è la misura di quanto bene abbia funzionato.

Poiché l'interruzione si fonda su un singolo repository anziché su una vulnerabilità corretta, lo stato della campagna dopo il 7 ottobre è davvero incerto anziché chiuso: Lumen afferma che la perdita del repository la "interrompe completamente", e separatamente afferma che tre server C2 erano ancora attivi al momento della pubblicazione. Lumen pubblica i propri indicatori di compromissione su un proprio repository GitHub, e la gravità, il grado di confidenza e il danno registrato del record sono dell'archivio, non del fornitore.

Questo è un record. Il resto — le altre divulgazioni, i loro livelli di gravità e di confidenza, e ciò che i difensori hanno effettivamente fatto al riguardo — l'archivio degli incidenti AI indicizza ciascuno rispetto alle sue fonti primarie, così una campagna come questa può essere letta insieme agli incidenti che l'hanno preceduta anziché in isolamento.