Il popolare pacchetto npm Codex ha rubato i token degli sviluppatori per un mese
TL;DRA un popolare pacchetto npm per OpenAI Codex con 29.000 download settimanali ha rubato i token di autenticazione degli sviluppatori per un mese. La stessa catena di furto di credenziali è stata riscontrata anche in due app Android con oltre 60.000 download combinati.
Il pacchetto npm sembrava legittimo. Aveva un repository GitHub attivo, una storia di sviluppo costante e circa 29.000 download settimanali. Per gli sviluppatori che utilizzano OpenAI Codex, offriva esattamente ciò che pubblicizzava: un'interfaccia web remota per lo strumento di codifica AI.
Ma nell'ultimo mese, ogni invocazione di codexui-android ha anche silenziosamente letto il contenuto del file di autenticazione Codex dell'utente e lo ha inviato a un server controllato da un attaccante. I dati rubati includono token di accesso, token di aggiornamento, token ID e ID account, tutto ciò che è necessario per impersonare lo sviluppatore indefinitamente.
"Il refresh_token non scade", ha scritto il ricercatore di Aikido Security Charlie Eriksen. "Un attaccante che lo detiene può impersonarti silenziosamente all'infinito."
Come ha funzionato
L'attacco era insolitamente sofisticato per un compromesso della catena di fornitura npm. A differenza degli attacchi tipici della catena di fornitura che si basano su typosquatting o pacchetti usa e getta, codexui-android era uno strumento funzionale in fase di sviluppo attivo. Il suo repository GitHub è rimasto pulito. Il codice malevolo esisteva solo nella build npm.
Il pacchetto estrae il contenuto del file ~/.codex/auth.json di Codex, una cache di credenziali in testo semplice creata ogni volta che un utente accede tramite l'app Codex, CLI o estensione IDE. Invia quindi quelle credenziali a sentry.anyclaw[.]store, un nome di server scelto per imitare Sentry, la legittima piattaforma di tracciamento degli errori.
La funzionalità nefasta è stata introdotta circa un mese dopo la prima pubblicazione del pacchetto, una tattica comune per costruire fiducia tra gli utenti prima di distribuire un payload. I record WHOIS mostrano che il dominio di esfiltrazione è stato registrato il 12 aprile 2026, solo due giorni dopo che la prima versione del pacchetto (0.1.72) è stata caricata su npm. Il codice malevolo è apparso dalla versione 0.1.82 in poi.
La stessa attacco, dal Play Store
Il pacchetto npm non era l'unico vettore di consegna. Aikido ha scoperto che un'applicazione Android chiamata OpenClaw Codex Claude AI Agent, pubblicata da uno sviluppatore di nome BrutalStrike, stava eseguendo lo stesso pacchetto npm all'interno di un sandbox PRoot sui dispositivi degli utenti. L'app aveva accumulato più di 50.000 download su Google Play.
Un secondo app di BrutalStrike, semplicemente chiamata Codex, aveva oltre 10.000 download e conteneva la stessa catena di esfiltrazione. Poiché nessuna delle due app ha bloccato una versione specifica del pacchetto npm, hanno automaticamente scaricato qualsiasi cosa fosse attualmente pubblicata, il che significa che il codice malevolo è stato consegnato agli utenti mobili nel momento in cui è stato reso disponibile.
La superficie di attacco combinata, circa 29.000 download settimanali di npm più oltre 60.000 installazioni mobili, rende questa una delle campagne di furto di credenziali più significative per colpire l'ecosistema degli strumenti di sviluppo AI.
La storia in evoluzione dell'autore
L'account npm dietro il pacchetto appartiene a "friuns", identificato da Aikido come Igor Levochkin. Quando è stato confrontato su GitHub, l'autore ha inizialmente affermato di aver perso l'accesso all'account npm, quindi ha modificato la risposta per dire che stavano "attualmente indagando su questo problema internamente".
Levochkin ha affermato che nessun dato di credenziali è stato condiviso con terze parti, ma non ha spiegato perché il codice di esfiltrazione fosse stato inserito solo nella build npm, né perché fosse necessario accedere ai token Codex degli utenti in primo luogo. Il profilo X collegato all'account include il dominio anyclaw[.]store, lo stesso dominio a cui sono stati inviati i token rubati.
Un modello in crescita
L'attacco arriva in un periodo di minacce crescenti agli strumenti di sviluppo AI. Il mese scorso, un'estensione VS Code compromessa ha violato i repository interni di GitHub, esfiltrando 3.800 repo dopo che un dipendente ha installato il pacchetto malevolo. Quell'attacco, attribuito al gruppo TeamPCP, ha raccolto credenziali da vault di 1Password, configurazioni di Claude Code e AWS.
La lezione di entrambi gli incidenti è la stessa. Man mano che gli strumenti di codifica AI diventano infrastrutture essenziali, i token di autenticazione che generano, e spesso memorizzano in testo semplice, stanno diventando obiettivi di alto valore. La documentazione di OpenAI avverte gli sviluppatori di trattare ~/.codex/auth.json come una password. La campagna codexui-android è una dimostrazione di cosa succede quando quel consiglio viene ignorato e quando gli strumenti di cui si fidano gli sviluppatori sono progettati per sfruttare quella fiducia.
Aikido ha anche segnalato separatamente che le chiavi API di Google eliminate rimangono attive fino a 23 minuti dopo la revoca, una finestra che gli attaccanti possono sfruttare per accedere ai dati degli utenti e alle conversazioni di Gemini. Google ha successivamente classificato il problema come un bug P0. La scoperta sottolinea un problema più ampio: la revoca delle credenziali negli ambienti cloud è raramente istantanea come i difensori presumono.
Altri articoli
Il popolare pacchetto npm Codex ha rubato i token degli sviluppatori per un mese
Il pacchetto npm codexui-android ha silenziosamente esfiltrato i token di autenticazione di OpenAI Codex a un server attaccante per un mese, influenzando 29.000 download settimanali.
