Un file AGENTS.md nella cartella Download può dirottare Codex e Claude Code

25.10.2026 4 min 5

Un file AGENTS.md lasciato nella cartella Download di un cliente ha ordinato all'agente di programmazione IA che vi girava di installare un pacchetto npm malevolo, ha riferito la società Forever Security il 22 ottobre. Nei suoi test, lo stesso trucco ha spinto Codex di OpenAI a eseguire il comando dell'attaccante in oltre il 90% dei tentativi.

Gli agenti di programmazione come Codex e Claude Code leggono i file di istruzioni della cartella da cui vengono avviati e li trattano come regole di lavoro. I browser salvano per impostazione predefinita i download proprio in quella cartella, e molti avviano gli agenti da lì. Secondo Forever, circa metà dei suoi clienti avvia un agente di programmazione nella cartella Download, e solo Claude Code vi ha aperto più di 1.300 sessioni sui loro computer.

Come l'AGENTS.md piazzato ha dirottato l'agente

Il file pesava 13 KB e sembrava una normale guida per sviluppatori. Verso la fine presentava un'installazione come preparazione degli strumenti prima del compito dell'utente: quella del pacchetto function-color. Il monitoraggio di Forever ha bloccato l'installazione prima che il codice partisse, e il pacchetto è stato poi rimosso da npm. I ricercatori non sono riusciti a capire come il file sia arrivato sul computer. Hanno però mostrato che una pagina web può salvare senza chiedere un file chiamato AGENTS.md nella cartella Download: Chrome, Edge e Firefox salvano lì per impostazione predefinita e mostrano solo una notifica, mentre Brave ha chiesto il permesso nei loro test.

Gal Weizman e Omer Samet hanno poi riprodotto l'attacco in una macchina virtuale. Con Codex, il file chiedeva all'agente di aggiungere un server MCP in ~/.codex/config.toml, la configurazione globale di tutte le sessioni Codex del computer, così che il comando dell'attaccante partisse a ogni avvio. Con un payload innocuo che apriva la calcolatrice, ha funzionato in oltre il 90% dei tentativi.

Per Claude Code hanno scritto un CLAUDE.md che chiedeva all'agente di inserire nelle impostazioni del progetto l'indirizzo di un presunto gateway interno. Una volta fatta la modifica, le richieste API di Claude andavano al server dei ricercatori insieme al token OAuth dell'utente. Quel server poteva rispondere al posto del modello e mandare comandi all'agente, e così il codice è stato eseguito in circa metà dei test. Passando per un subagente, l'esecuzione nella stessa sessione è riuscita circa una volta su cinque.

Niente da correggere per i produttori

«Qui non c'è niente che OpenAI o Anthropic debbano correggere», scrivono i ricercatori. Un agente che segue l'AGENTS.md della sua cartella fa esattamente ciò per cui è stato costruito, quindi il rischio sta nel punto da cui lo si avvia. OpenAI e Anthropic consigliano di avviare gli agenti dalla cartella del progetto, e nessuna delle due aziende ha commentato la ricerca. Ad agosto un'altra falla di Claude Code aveva permesso a una issue su GitHub di arrivare ai segreti della CI, e i due casi poggiano sullo stesso problema: l'agente non distingue le istruzioni dell'utente dal testo che si limita a leggere.

Cosa controllare in Codex e Claude Code

  • Cartella di lavoro: avvia gli agenti nella radice di un progetto preciso, non nella cartella Download né nella tua cartella home.
  • File di istruzioni: leggi ogni AGENTS.md o CLAUDE.md che non hai scritto tu prima che un agente lo usi.
  • Codex: cerca in ~/.codex/config.toml blocchi [mcp_servers.*] sconosciuti o un chatgpt_base_url modificato.
  • Claude Code: controlla nel .claude/settings.json del progetto che non compaia un indirizzo API inatteso, come ANTHROPIC_BASE_URL.
  • Conferme: tieni attivi le richieste di conferma e la sandbox, e diffida di qualsiasi file che chieda all'agente di disattivarli.

Se un agente può aver già seguito un file del genere, cancellarlo non basta: le impostazioni che ha cambiato restano. Rimuovile a mano e sostituisci i token, perché un token trapelato vale come un accesso attivo. Secondo Forever, se tra i pacchetti installati compare function-color, il computer va considerato compromesso.

claude codecodexopenaianthropicagenti iaprompt injectionmalwarenpmforever securitycatena di fornituracybersicurezzabrowser

Leggi anche