Blog
AI-Powered C2npm Supply ChainRedC2Offensive AI

RedC2 4.0: il framework C2 con AI nascosto nelle tue dipendenze npm

Trend Micro ha trovato 14 pacchetti npm trojanizzati che rilasciano RedC2 4.0 — un framework C2 da 99$ il cui Red Agent, un LLM, traduce l'italiano in comandi beacon. Runbook di remediation.

Zero Hunt Research··8 min di lettura

La parte interessante della campagna RedC2 4.0 non sono i quattordici pacchetti npm malevoli, né l'impianto Linux che rilasciano, e nemmeno il fatto che esfiltri chiavi SSH e credenziali del browser. È una funzione chiamata Red Agent: un livello basato su LLM dentro il framework di command-and-control che prende l'intento dell'operatore in linguaggio naturale — "estrai le credenziali", "trova i database" — e lo traduce in una catena ordinata di comandi beacon. Un tempo la tradecraft era la barriera d'ingresso. Ora costa 99,99$ su un forum, e il framework scrive i comandi al posto tuo.

Il 20 agosto 2026 TrendAI (la divisione di ricerca di Trend Micro) ha pubblicato la sua analisi di un insieme di pacchetti npm trojanizzati che veicolano un impianto Linux con AI chiamato RedC2 4.0, seguita il giorno dopo dalla copertura di The Hacker News. Il ricercatore Aliakbar Zahravi ha ricondotto i pacchetti a un framework C2 commerciale pubblicizzato su Hack Forums dal 2025. È così che appare, nel mondo reale, la commoditizzazione dell'AI offensiva: non una demo da laboratorio, ma un prodotto con un listino.

La consegna: basta un solo import npm transitivo

I quattordici pacchetti si spacciano per utility di calendario e tracciamento streak — streak-metrics-math, kit-map-vim, streak-map-cache e undici gemelli quasi identici. Non sono gusci vuoti. Ognuno ri-esporta le vere funzioni di gestione delle date che pubblicizza, quindi funziona esattamente come lo sviluppatore si aspetta. Ed è proprio questo il punto: un pacchetto che fa il suo lavoro non attira attenzione.

Sotto la superficie, un binario incluso è mascherato da "acceleratore matematico nativo", con nomi che cambiano da pacchetto a pacchetto — math-core.bin, math-calc.bin, calc-math.dat, calc-cache.bin, calc.bin, calc-mapping.bin. Quando il modulo viene caricato, individua quel binario, lo rende eseguibile e lo avvia come processo in background scollegato.

Notate ciò che non serve: nessun hook postinstall, nessuna funzione esportata da chiamare. Dall'analisi di TrendAI:

Un singolo import in un punto qualsiasi del grafo delle dipendenze, anche transitivo, è sufficiente a eseguire il payload.

Quella frase è l'intero modello di minaccia. Non devi fare npm install streak-metrics-math. Ti basta installare qualsiasi cosa, ovunque nell'albero, che prima o poi lo trascini dentro — una dipendenza di quart'ordine di un build tool di cui non hai mai sentito parlare. Il raggio d'azione è l'intero grafo, e le policy che bloccano postinstall (npm install --ignore-scripts, ormai il default in molte pipeline CI irrigidite) qui non servono a nulla, perché non c'è alcuno script di installazione da bloccare. Il payload parte al momento del require().

RedShell: un impianto evasion-first con la lista della spesa

Il payload Linux, RedShell, è un beacon completo. TrendAI ne documenta le capacità:

  • Ricognizionesysinfo, whoami, ps, netstat, ifconfig
  • Furto di credenziali — chiavi private SSH e archivi credenziali del browser
  • Discovery — enumerazione dei database sull'host
  • Esfiltrazione — trasferimento file e staging in blocco verso l'esterno
  • Esecuzione fileless — ELF via memfd, shellcode via mmap (niente tocca il disco)
  • Pivoting — proxy SOCKS5, port forwarding TCP, tunneling cross-network
  • Persistenza — voci cron @reboot, modifiche a ~/.bashrc, servizi systemd a livello utente, autostart XDG, daemonizzazione double-fork

Le varianti Windows e macOS aggiungono UAC bypass, manomissione di AV/EDR, movimento laterale via WMI/SMB ed esecuzione JXA su macOS. L'annuncio del framework sul forum lo descrive con due parole: "built for evasion". Non è marketing. Esecuzione fileless, manomissione degli strumenti di endpoint e un beacon che parla TLS significano che l'endpoint è il posto peggiore dove cercare di intercettarlo. Per progettazione, gli artefatti su cui si basano AV ed EDR o non vengono mai scritti su disco o vengono rimossi attivamente.

Resta una superficie da cui l'impianto non può nascondersi: la rete.

Il C2 che deve per forza parlare sul filo

Un impianto costruito per eludere l'endpoint deve comunque raggiungere il proprio controller, e il pattern di traffico di RedShell è il punto in cui smette di essere invisibile. Gli IOC di TrendAI mettono a nudo il canale:

Canale Porta Scopo
Canale comandi TLS 8792 Check-in del beacon e consegna comandi
Download file 8888 Ingresso second-stage / tool
Esfiltrazione 8060 Staging in blocco dei dati verso l'esterno

Il C2 primario è hardcoded su 217.60.77.63, con api.ipify.org usato per scoprire l'IP esterno e litterbox.catbox.moe come file host pubblico per lo staging. Le tecniche MITRE ATT&CK mappate si leggono come una checklist di network detection: T1071 (protocollo application-layer), T1105 (ingress tool transfer), T1570 (lateral tool transfer), T1041 (esfiltrazione su C2) e T1021 (remote services — SSH/SMB/WMI).

Un beacon che fa check-in su una porta TLS fissa verso un ASN mai visto, apre un tunnel SOCKS5 e poi avvia un trasferimento in uscita prolungato su una porta diversa produce una firma comportamentale che non ha nulla a che vedere con l'hash del binario. Non puoi cavartela con il polimorfismo di fronte a "questo host, che storicamente scarica solo pacchetti, ora mantiene una sessione cifrata a lunga durata verso un IP che nessuno nell'ambiente ha mai contattato, e sta spingendo volume verso l'esterno sulla porta 8060".

Perché "il framework scrive i comandi" cambia i conti

RedC2 non è il primo C2 di massa — cloni di Cobalt Strike e fork di Mythic si affittano da anni. La novità è il livello Red Agent, esposto tramite un'interfaccia /ra, che azzera il divario di competenze. Storicamente, ciò che limitava un operatore di basso livello non era l'accesso agli strumenti, ma sapere cosa eseguire e in che ordine una volta ottenuta la shell. Red Agent elimina questo ostacolo. "Estrai le credenziali e trova i database" diventa una catena di comandi multi-fase eseguibile senza che l'operatore comprenda una singola tecnica sottostante.

È la stessa linea di tendenza segnalata dai ricercatori per tutto l'anno: l'offensiva assistita da LLM sta passando dalle demo di capacità agli strumenti di produzione. Il canale di consegna npm peggiora le cose, perché la superficie supply-chain è già a volumi record. Secondo una stima di settore, i pacchetti npm malevoli cumulativi hanno superato 1,2 milioni nel 2026 — circa un +75% su base annua — con oltre il 99% del malware open-source che atterra proprio su npm. Un C2 economico, guidato dall'AI, che cavalca il canale di distribuzione malware più affollato del software non è un caso limite: è l'incidente mediano del 2027, arrivato in anticipo.

Remediation

Qui non c'è alcun CVE e nessuna patch — è una campagna malware, quindi il runbook è fatto di detection, eradicazione e hardening, non di "aggiorna alla versione X". Fonda tutto ciò che segue sul set di IOC di TrendAI.

1. Sono colpito? — controlla il grafo delle dipendenze, non solo quelle dirette.

# Uno qualsiasi dei 14 pacchetti noti, diretto O transitivo:
npm ls streak-metrics-math kit-map-vim streak-map-cache streak-map-kit \
       map-streak-kit streak-cache-map streak-calc-metrics streak-calc-math \
       streak-math-abz streak-metricsaz streak-math-metrics streak-metricazbd \
       streak-metricsazb streak-kit-map 2>/dev/null

# Cerca il binario rilasciato per nome su ogni build host / laptop Linux:
find / -type f \( -name 'math-core.bin' -o -name 'math-calc.bin' \
  -o -name 'calc-math.dat' -o -name 'calc-cache.bin' -o -name 'calc.bin' \
  -o -name 'calc-mapping.bin' \) 2>/dev/null

# Conferma tramite hash:
# SHA-256 4537B1189CE419F1A595CF47216C03F80E9170CE80DAD8D9227A1E52F9CB3466

2. Non puoi ricostruire tutto adesso? — controlli compensativi.

  • Blocca l'egress verso 217.60.77.63 e verso le porte 8792/8888/8060 sul firewall; genera un alert su qualsiasi host le apra.
  • Tratta le connessioni in uscita verso litterbox.catbox.moe da server o CI runner come un incidente, non come rumore.
  • Applica --ignore-scripts in CI sapendo che qui è insufficiente — RedShell parte al momento dell'import, quindi abbinalo a un egress-deny di default sui build runner.

3. Caccia alla compromissione (mappata su ATT&CK).

  • T1071 / T1041 — sessioni TLS a lunga durata verso ASN sconosciuti, e volume in uscita prolungato da host che storicamente solo ricevono.
  • T1547 — nuove voci cron @reboot, aggiunte inattese a ~/.bashrc, unit systemd utente sconosciute, nuovi file autostart XDG .desktop.
  • T1105 / T1570 — listener SOCKS5 e port-forward che non hai creato; ss -tlnp per proxy locali inattesi.
  • T1021 — attività SSH/SMB/WMI che parte da un build host che non ha alcun motivo di fare movimento laterale.

4. Eradica e verifica.

  1. Isola l'host dalla rete prima di terminare il processo (così l'operatore non può reagire).
  2. Termina il daemon scollegato e rimuovi ogni artefatto di persistenza del punto 3.
  3. Ruota ciò che potrebbe aver preso — chiavi private SSH, credenziali salvate nel browser, ogni segreto leggibile dall'identità di build compromessa, e i token cloud emessi su quel runner.
  4. Ricostruisci da un'immagine pulita. Un impianto fileless lascia poco su disco; non fidarti di un host "ripulito".
  5. Ri-verifica l'egress: nessun beacon deve ristabilirsi verso le porte C2 dopo la remediation.

Dove si colloca Zero Hunt

La proprietà distintiva di RedC2 è che è progettato per essere silenzioso sull'endpoint — esecuzione fileless, manomissione dell'EDR, un beacon che si mostra solo sul filo. È esattamente il caso per cui è stata costruita l'Analisi del Traffico con AI di Zero Hunt. Il nostro modello proprietario di deep learning esegue quattro inference head paralleli — traffico sospetto, classificazione malware, identificazione del tipo di attacco e fingerprinting applicativo — addestrati su miliardi di sequenze PCAP e in esecuzione localmente sulla GPU dell'appliance a oltre 2,7 Gbit/s. Il check-in TLS su porta fissa di un beacon RedShell verso un ASN mai visto, il suo tunnel SOCKS5 e il burst di esfiltrazione sulla porta 8060 sono firme comportamentali che il modello segnala mentre la sessione è viva — senza hash, senza firma, senza attendere il digest SIEM del mattino dopo. Contro un impianto progettato per battere l'endpoint, la rete è la superficie di detection, ed è osservata in tempo reale.

La seconda metà del problema è offensiva: il Red Agent di RedC2 è una versione di bassa lega esattamente della tecnica che Zero Hunt esegue a qualità di produzione. Il nostro swarm di 10 agenti AI genera catene di exploit per-target da un LLM locale — mai prese da un repository pubblico — e ogni skill viene retro-testata nell'AI Gym prima di toccare l'ambiente di un cliente. Puntato sul tuo stesso patrimonio, quel motore fa emergere il percorso di consegna al momento del require() via import transitivo, l'egress esposto dei build runner e il raggio d'azione delle credenziali prima che un framework da 99$ e il suo operatore AI li trovino al posto tuo. Le campagne continue e change-triggered ripartono nel momento in cui atterra una nuova dipendenza, e ogni finding è firmato ECDSA per la catena di custodia. Quando l'AI offensiva diventa una commodity, l'unica risposta duratura è un'AI difensiva arrivata prima — sul tuo hardware, senza che alcun dato lasci l'edificio.