
Vi siete mai chiesti se la data che leggete in un file di log sia davvero quella che sembra, o se ci sia un messaggio in codice nascosto tra un trattino e un apostrofo?
Se lavorate con gli agenti AI, probabilmente pensate che il rischio principale sia che il modello legga per sbaglio le vostre chiavi SSH o che faccia un push non autorizzato su un branch di produzione. È un rischio reale, certo, ma c’è di peggio: il rischio che il tool che usate per scrivere codice inizi a giocare a ‘spy vs spy’ con i vostri dati di rete.
Recentemente, un’analisi approfondita dell’installazione locale di Claude Code (versione 2.1.196) ha portato alla luce una chicca di ingegneria decisamente poco trasparente. Sembra che Anthropic abbia implementato una forma di steganografia nei prompt di sistema. In pratica, il software modifica segretamente dei caratteri quasi invisibili nella stringa della data per segnalare se state usando un proxy, un gateway specifico o se vi trovate in determinate aree geografiche (come la Cina).
Il trucco è un capolavoro di sottigliezza: l’apostrofo in ‘Today’s date’ può cambiare tipo (usando caratteri Unicode diversi), e il separatore della data può passare da un trattino a una barra. A occhio nudo, in un font monospace, non noteresti nulla. Ma per un sistema che analizza le richieste lato server, quel minuscolo cambiamento è un segnale chiaro: «Ehi, questo utente sta usando un endpoint non ufficiale o un reverse proxy di un competitor».
Per rendere la cosa ancora più ‘stile film di spionaggio anni ’90’, l’elenco dei domini e delle keyword da monitorare è nascosto dietro una brutta combinazione di Base64 e un semplice operatore XOR con chiave 91. Roba che un ragazzino con un debugger avrebbe smontato in tre minuti, ma che serve comunque a complicare la lettura statica del codice.
Perché farlo? La spiegazione ufficiale (o quasi) è che Anthropic vuole intercettare i rivenditori di API non autorizzati o chi tenta attacchi di ‘distillazione’ dei modelli. Il senso logico c’è, nessuno dice che proteggere il proprio business sia una cattiva idea. Il problema è il metodo.
Quando distribuisci un tool che ha i permessi di leggere il tuo filesystem, lanciare comandi nella tua shell e leggere i tuoi repo, la tua unica moneta di scambio è la fiducia. Usare tecniche di offuscamento e segnali invisibili all’interno del contesto del modello è un modo molto poco elegante per gestire la policy aziendale. Se vuoi bloccare i proxy, scrivi nelle release note o usa i campi di telemetria espliciti. Nascondersi dietro un apostrofo Unicode è un comportamento che urla ‘non fidarti di me’.
In un mondo di software proprietari che cercano di chiuderti in giardini recintati, vedere un tool di sviluppo che adotta tattiche da malware per il fingerprinting è un segnale d’allarme che non dovremmo ignorare. La trasparenza non è un optional, specialmente quando il tool in questione ha le chiavi di casa vostra.
