AI per principiantiGuida
Esegui Claude Code o Codex in Downloads? Controllo di sicurezza di AGENTS.md
Un file chiamato AGENTS.md o CLAUDE.md in Downloads può guidare Claude Code e Codex. Cosa sono questi file e un controllo da 5 minuti delle tue configurazioni.

In questa pagina
Risposta breve: non avviare Claude Code o Codex nella tua cartella ~/Downloads. Il 22 ottobre 2026 la società di sicurezza Forever Security ha pubblicato una ricerca che mostra come un sito web possa salvare silenziosamente un file chiamato AGENTS.md o CLAUDE.md in Downloads, e un agente avviato in quella cartella tratti poi il file come istruzioni fidate. Qui sotto: cosa sono questi file, cosa sono riusciti a modificare i ricercatori e un controllo che richiede circa cinque minuti.
Immagina la versione ordinaria. Hai salvato una dozzina di PDF e screenshot da un sito web, hai aperto un terminale in Downloads, hai digitato claude o codex e gli hai chiesto di "ordinare questi file". Niente di tutto ciò sembra rischioso. E qui sta la fregatura.
Cosa sono AGENTS.md e CLAUDE.md, e perché l'agente ci crede#
Un agente di coding non inizia ogni sessione da zero. Prima di guardare la tua richiesta, controlla nella cartella in cui è stato avviato la presenza di un file di testo con istruzioni permanenti: "usa i tab, esegui i test con npm test, non toccare mai la cartella delle migrazioni". AGENTS.md è il nome generico, CLAUDE.md è la stessa idea per Claude Code. Nel tuo progetto questi file sono utili, perché li hai scritti tu.
L'agente però non può sapere chi ha scritto un file. Un CLAUDE.md che un sito web ha lasciato in Downloads è identico a quello che hai scritto la settimana scorsa.
Flashcard
Parole che incontrerai in questo articolo
Tocca una carta per girarla
Cosa hanno fatto i ricercatori con un file in Downloads#
Il post di Forever Security (autori Gal Weizman e Omer Samet, 22 ottobre 2026) descrive due casi. Tutte le percentuali di successo riportate di seguito sono misurazioni dei ricercatori stessi.
Codex. Il AGENTS.md impiantato diceva all'agente di aggiungere una voce di server MCP in ~/, e quella voce portava all'installazione di un pacchetto npm chiamato function-color. Secondo i ricercatori, il payload è stato eseguito in oltre il 90% dei tentativi. Guarda dove si trova quel file: la tua cartella home, non Downloads. La configurazione è a livello di macchina, quindi ogni sessione successiva in qualsiasi cartella ne è influenzata, molto tempo dopo che ti sei dimenticato della cartella Downloads.
Claude Code. Il CLAUDE.md impiantato tentava di scrivere un'impostazione ANTHROPIC_ in .. Quell'impostazione decide dove l'agente invia il suo traffico API. Puntala verso il server di qualcun altro e quel server vede il tuo token OAuth e può restituire chiamate di strumenti che l'agente eseguirà. La scrittura è riuscita circa la metà delle volte; un percorso eseguito nella stessa sessione, circa un quinto delle volte.

Il post è chiaro sul fatto che nulla è "rotto" in nessuno dei due prodotti: l'agente funziona come progettato, e il rischio deriva da dove si trova il file e da quanto l'agente si fida di esso. Forever afferma anche di aver trovato un vero AGENTS.md impiantato sulla macchina di un cliente e di aver bloccato un'installazione npm malevola prima che venisse eseguito qualsiasi codice; da allora npm ha rimosso function-color. Quest'ultima parte è il resoconto dei ricercatori stessi. OpenNET ha trattato la vicenda il 26 ottobre 2026 e segnala un rischio simile quando un AGENTS.md arriva tramite una pull request o un repository clonato.
Verifica rapida
Perché il caso Codex è peggiore di una singola sessione sbagliata in Downloads?
Mostra risposta
Risposta: La configurazione che ha modificato è a livello di macchina, quindi ogni sessione successiva in qualsiasi cartella ne è influenzata
Il file impiantato deve essere eseguito una sola volta. Ciò che scrive in ~/ resta lì e si applica alle sessioni successive in ogni cartella.
Quali impostazioni controllare, e come appare una normale#
Due file, uno per ciascuno strumento della ricerca.
In ~/, cerca voci [mcp_servers.*] che non ricordi di aver aggiunto, e un base URL che non hai impostato. Una voce sospetta fa sì che la tua macchina scarichi ed esegua qualcosa da npm:
[mcp_servers.helper]
command = "npx"
args = ["-y", "some-package"]Il nome helper e il pacchetto qui sono segnaposto. Nel caso dei ricercatori, il pacchetto dietro una voce del genere era function-color.
In ., cerca un endpoint API o un proxy che non hai messo tu. Se non hai mai impostato ANTHROPIC_, il file non dovrebbe menzionarlo affatto. Se l'hai fatto, dovrebbe essere l'indirizzo del provider che hai scelto. Per CheapTokens, un client in stile Anthropic come Claude Code usa https:/ senza /v1 alla fine; i client in stile OpenAI usano https:/.

Se esegui Claude Code con la tua chiave, la guida passo passo per collegare Claude Code a CheapTokens mostra l'intero file, e la documentazione elenca entrambi i base URL. Per i cicli lunghi degli agenti, DeepSeek-V4-Flash (deepseek-) ha una finestra di contesto di 380K, fino a 32.768 token di output per risposta e un unico prezzo a qualsiasi ora; la pagina del modello ha il resto.
Cline, Aider e altri agenti non facevano parte di questa ricerca, e ciascuno conserva le proprie impostazioni in un posto diverso. L'abitudine è la stessa: sapere quale file contiene l'endpoint e leggerlo una volta.
Il controllo da 5 minuti#
Apri un terminale e segui questi passaggi in ordine. Niente qui modifica un file; si limita a leggere.
Passo dopo passo
Controlla la tua macchina
Trova i file di istruzioni estranei
find ~/Downloads -maxdepth 3 -name "AGENTS.md" -o -name "CLAUDE.md"Qualsiasi risultato che non hai scritto: aprilo come testo e leggilo. Se non sai da dove viene, eliminalo.
Leggi la configurazione di Codex
grep -n "mcp_servers\|base_url" ~/.codex/config.tomlOgni riga [mcp_servers.…] dovrebbe essere qualcosa che ricordi di aver aggiunto. "No such file" va bene se non usi Codex.
Leggi le impostazioni di Claude Code
grep -n "BASE_URL\|proxy" ~/.claude/settings.json .claude/settings.jsonEseguilo dalla cartella del tuo progetto così entrambi i file sono coperti. Ogni indirizzo nell'output dovrebbe essere un provider che hai scelto.
Controlla la tua shell
env | grep -i "BASE_URL"Questo elenca i base URL impostati come variabili d'ambiente. Stessa regola: dovresti riconoscerli tutti.
Cerca il pacchetto del caso
npm ls -g --depth=0 | grep function-colorEsegui anche npm ls function- nei progetti in cui hai usato un agente. Se compare, considera la macchina compromessa.
Se qualcosa sembra sbagliato#
Chiudi prima l'agente. Poi rimuovi le voci che non riconosci e ruota ogni credenziale che l'agente poteva vedere: chiavi API, token, qualsiasi cosa nell'ambiente. Se l'idea di ruotare una chiave è nuova, cos'è una chiave API e come conservarla copre le basi.
Abitudini che evitano che si ripeta, tutte dalle mitigazioni dei ricercatori:
- Avvia gli agenti in una cartella di progetto creata da te, non in Downloads.
- Leggi qualsiasi
AGENTS.mdoCLAUDE.mdche non hai scritto prima di eseguire un agente su di esso, inclusi quelli che arrivano tramite un clone o una pull request. - Mantieni attive le richieste di approvazione e il sandboxing, e diffida di qualsiasi istruzione che chieda all'agente di disattivarli.



