Agenti IA per il codice dirottati con un AGENTS.md nei Download
Un AGENTS.md finito nei Download ha spinto Codex a installare un pacchetto npm malevolo; con CLAUDE.md il furto del token. Come funziona e cosa fare.

I ricercatori di Forever Security, società che sorveglia i rischi introdotti dagli agenti di IA, hanno trovato sul computer di un cliente un file AGENTS.md malevolo nella cartella ~/Downloads. Il file ha spinto un agente di programmazione a tentare l’installazione del pacchetto npm malevolo function-color, bloccata dal loro software prima dell’esecuzione. Partendo da quel file, Gal Weizman e Omer Samet hanno riprodotto l’attacco contro OpenAI Codex e mostrato una tecnica diversa contro Claude Code, che porta al furto del token di accesso. La notizia è riportata da BleepingComputer, Help Net Security, CSO Online, The Hacker News e Dark Reading.
Non c’è una CVE e, secondo i ricercatori, nemmeno qualcosa da correggere: un agente che segue le istruzioni del file della sua cartella fa esattamente ciò per cui è stato costruito. La difesa resta quindi a chi usa e gestisce gli agenti.
Perché proprio AGENTS.md e la cartella Download
AGENTS.md (per Codex) e CLAUDE.md (per Claude Code) sono file di testo in Markdown con le istruzioni di progetto: strumenti da usare, come lanciare i test, convenzioni del codice. Gli agenti li caricano da soli dalla cartella di lavoro. Non sono eseguibili, quindi i controlli dei sistemi operativi sui programmi scaricati da internet non si applicano; ma l’agente esegue comandi, installa pacchetti e cambia impostazioni con i permessi che ha. «Il Markdown è il nuovo eseguibile», scrivono i ricercatori.
La cartella Download, osserva Forever, è l’unica in cui una pagina web può scrivere da sola. Chrome, Edge e Firefox, con le impostazioni predefinite, salvano lì i file senza chiedere dove, pur mostrando una notifica di download; nei test di BleepingComputer Brave ha invece chiesto conferma. BleepingComputer ha verificato la pagina dimostrativa dei ricercatori: ha scaricato un AGENTS.md con contenuto innocuo. Come il file sia arrivato sul computer del cliente non è stato accertato.
Serve poi che l’agente venga avviato proprio in Download, e secondo Forever succede spesso: per riordinare la cartella o lavorare su un file appena scaricato. I numeri riportati divergono nella forma: a BleepingComputer Weizman ha parlato di centinaia di clienti che avviano agenti (Claude Code, Codex, Cursor CLI) da Download e di oltre 1.300 sessioni di Claude Code partite da lì; Help Net Security riporta circa metà dei clienti e aggiunge che circa un quarto delle sessioni degli agenti apre un browser. Un agente che naviga da solo può quindi scaricare il file che poi lo attacca.
La catena contro Codex
- Codex segue un AGENTS.md solo in una cartella attendibile, e Download lo diventa dopo che l’utente ci ha lavorato una volta.
- Il file trovato misura circa 13 KB ed è travestito da linee guida di sviluppo: secondo i ricercatori lunghezza e tono ordinario lo aiutano a passare, mentre una richiesta breve di installare un pacchetto viene rifiutata.
- Con qualsiasi richiesta dell’utente, Codex ha prima modificato la configurazione dei server MCP valida per tutto il computer, poi ha avviato un’altra sessione con approvazioni e sandbox disattivate e installato il pacchetto.
- Successo in oltre il 90% dei tentativi, quasi sempre con un sostituto innocuo che apre la calcolatrice; il pacchetto vero è stato eseguito una sola volta, in una macchina virtuale isolata.
- Poiché il server malevolo resta nella configurazione globale, ogni sessione successiva di Codex lo carica, in qualunque progetto.
Il pacchetto function-color apparteneva, secondo Forever, a una campagna malevola su npm rimasta inosservata per circa due anni; npm lo ha rimosso.
La variante contro Claude Code
Per Claude Code i ricercatori hanno scritto un proprio CLAUDE.md ispirato a quello trovato. Claude è risultato «molto più difficile da ingannare» e l’attacco riuscito è diverso:
- il file chiede di salvare una modifica alle impostazioni, presentata come il gateway interno dell’azienda, che manda le richieste verso l’API a un server dell’attaccante; Claude Code di solito chiede l’approvazione e spesso rifiuta;
- la modifica è stata salvata in circa il 50% dei test;
- ogni richiesta contiene il token OAuth dell’utente: riusandolo contro il servizio di Anthropic i ricercatori sono entrati nell’account della vittima senza eseguire codice;
- al riavvio in quella cartella, il server può fingersi il modello e ordinare comandi con la sandbox spenta.
Sull’esecuzione di codice le fonti divergono: secondo BleepingComputer è riuscita in circa la metà dei test; secondo Help Net Security, nella stessa sessione, tramite un agente ausiliario che passa subito dal server dell’attaccante, in circa un quinto.
In termini MITRE ATT&CK il furto e il riuso del token corrispondono a T1528 (Steal Application Access Token) e T1550.001 (Application Access Token); nella matrice MITRE ATLAS l’ingresso è una prompt injection indiretta (AML.T0051.001).
Quanto preoccuparsi
Sakshi Grover di IDC, sentita da CSO Online, la definisce un avvertimento credibile, non la prova di uno sfruttamento diffuso: le percentuali non sono state validate in modo indipendente. Il rischio più ampio, aggiunge, non è Download in sé ma lo schema di agenti che leggono contenuti non fidati con credenziali attive: lo stesso file può arrivare da repository clonati, cartelle condivise o pacchetti.
Per le aziende europee e italiane il punto sono le postazioni degli sviluppatori, che custodiscono token, chiavi e accesso al codice. Per i soggetti NIS2 gli agenti rientrano nelle misure dell’articolo 21 su sicurezza dello sviluppo, catena di fornitura e controllo degli accessi.
Cosa fare subito
- Mai avviare un agente in Download né nella cartella home: sempre nella radice del progetto, come raccomandano OpenAI e Anthropic.
- Leggi ogni AGENTS.md o CLAUDE.md che non hai scritto, anche nei repository appena clonati, e trattali come codice sorgente, con un responsabile che ne approva le modifiche.
- Controlla le configurazioni degli agenti (per esempio
~/.codex/config.tomle i file.claude/settings.jsondell’utente e dei progetti) alla ricerca di server MCP o indirizzi che non hai aggiunto tu. - Lascia attive approvazioni e sandbox e vieta opzioni come
--dangerously-bypass-approvals-and-sandbox; diffida di ogni istruzione che chiede di aggirarle. - Se trovi un file piazzato, considera il token compromesso e revocalo. Una macchina su cui è stato installato function-color va trattata come compromessa.
- Fai passare le installazioni da un registro interno di pacchetti o da un proxy che li analizza, limita la rete degli agenti e, dove ci sono credenziali di produzione, usa ambienti di sviluppo isolati e token di breve durata.
Come aiuta ARXDOME
L’agent di ARX Sentry raccoglie l’inventario di software e processi delle postazioni e controlla l’integrità dei file nelle cartelle stabilite: si possono includere le cartelle di configurazione degli agenti per notare modifiche inattese. ARX Shield mostra le vulnerabilità aperte per pacchetto e permette di isolare dalla rete una macchina sospetta mentre si revocano i token.
Ultimo aggiornamento:


