alexi.sh
Tutti gli articoliSicurezza del browserPrivacy di reteStrumenti per la privacyModellazione delle minacceProgrammazione con IAStrumenti per sviluppatori

alexi.shLaboratorio di Ingegneria AI

ai-coding

GhostApproval: la falla degli assistenti di codice IA che scrive file senza il tuo consenso (2026)

PrivSec Lab3 min di lettura
Un editor di codice aperto sullo schermo di un portatile in una stanza buia

Wiz ha rivelato GhostApproval, una falla di confine di fiducia in almeno sei assistenti di codice IA: un repository malevolo può indurre l'agente a scrivere fuori dal tuo progetto tramite un link simbolico, a volte prima della tua approvazione. Cos'è, quali strumenti sono stati colpiti e come proteggerti.

GhostApproval è il nome che Wiz ha dato a una falla trovata in almeno sei popolari assistenti di codice IA, rivelata a luglio 2026. In breve: un repository trappola può indurre il tuo agente di codice a scrivere file fuori dal tuo progetto - e, nei casi peggiori, prima ancora che tu clicchi "approva". È un buon promemoria che lasciare che un agente tocchi il tuo filesystem è sicuro solo quanto ciò che la finestra di approvazione mostra davvero. Ecco cos'è GhostApproval, quali strumenti sono stati colpiti e come proteggerti.

Come funziona GhostApproval

Il trucco combina due vecchie debolezze: seguire i link simbolici (CWE-61) e un'interfaccia ingannevole (CWE-451). Un repo malevolo contiene un symlink - un file che in realtà è un puntatore a un altro percorso. Il suo nome sembra innocuo, diciamo project_settings.json, ma punta a qualcosa di sensibile come ~/.ssh/authorized_keys. Chiedi all'agente di modificare "il file delle impostazioni"; segue il link e scrive nella vera destinazione - per esempio aggiungendo la chiave SSH di un attaccante. Il punto chiave: la finestra di conferma mostra il nome innocuo del symlink, non la destinazione risolta. Come dice Wiz, "l'agente lo sapeva, l'utente no": il ragionamento del modello a volte riconosceva il percorso pericoloso mentre la finestra lo nascondeva.

La variante pericolosa: scrive prima che tu approvi

In alcuni strumenti la scrittura avviene prima che compaia la finestra Accetta/Rifiuta, trasformando la conferma in un pulsante di annullamento invece che in una barriera. Wiz descrive esattamente questo in Windsurf: la chiave SSH di un attaccante veniva scritta in ~/.ssh/authorized_keys prima che l'utente potesse approvare. È un'esecuzione di codice remoto prima dell'autorizzazione - il controllo umano arriva dopo che il danno è fatto.

Un terminale che elenca file sopra una tastiera retroilluminata - GhostApproval abusa di un file collegato via symlink per scrivere fuori dalla cartella che credi di modificare.

Quali strumenti sono stati colpiti e il loro stato

Wiz ha testato sei assistenti e ha segnalato una variante in ciascuno. Ecco lo stato divulgato, riportato in modo neutrale:

  • Cursor - corretto (CVE-2026-50549, versione 3.0+).
  • Amazon Q Developer - corretto (CVE-2026-12958, language server 1.69.0).
  • Google Antigravity - corretto (rilasciato a maggio 2026).
  • Augment - confermato; nessuna patch al momento della divulgazione.
  • Windsurf - confermato; la variante prima dell'autorizzazione, nessuna patch al momento della divulgazione.
  • Anthropic Claude Code - Anthropic considera il problema fuori dal proprio modello di minaccia, sulla base del fatto che l'utente conferma di fidarsi di una cartella al primo avvio di Claude Code; separatamente, Claude Code ha aggiunto avvisi sui symlink in una versione precedente.

Perché conta oltre un singolo bug

GhostApproval non è davvero l'errore di un solo fornitore - è uno schema. Due scelte di progettazione lo causano: una sandbox superficiale che non risolve il percorso canonico di un file prima di agire, e approvazioni umane formali anziché informate, perché approvi un nome invece dell'azione reale. Qualsiasi agente con ampio accesso al filesystem può cadere in questa trappola. È la stessa classe di rischio che abbiamo trattato nella nostra guida alla sicurezza degli agenti IA: autonomia più accesso significa che una cattiva istruzione diventa un'azione reale.

Come proteggerti

  • Aggiorna subito i tuoi strumenti. Diversi fornitori l'hanno corretto; usa l'ultima versione del tuo assistente di codice.
  • Fidati solo di repository fidati. Fai attenzione a lasciare che un agente agisca in repo sconosciuti o appena clonati.
  • Usa il minimo privilegio. Esegui gli agenti in un container o sandbox che non possa raggiungere ~/.ssh, le tue credenziali cloud o altri segreti.
  • Leggi le finestre. Fai attenzione alle modifiche a file di configurazione e dotfile, e prediligi strumenti che risolvono i symlink e mostrano il vero percorso di destinazione.

In sintesi

GhostApproval mostra che il "controllo umano" vale solo quanto ciò che la finestra rivela davvero. Un symlink può indirizzare un agente ben intenzionato verso i tuoi segreti, e una conferma che nasconde il vero percorso - o compare dopo la scrittura - dà un falso conforto. Aggiorna il tuo assistente di codice IA, limita ciò che può toccare, e considera le approvazioni utili solo quando ti mostrano la vera destinazione.

Photo: Pexels (source)

Disponibile anche in

FAQ

Cos'è GhostApproval?
GhostApproval è uno schema di sicurezza che i ricercatori di Wiz hanno trovato in almeno sei assistenti di codice IA, rivelato a luglio 2026. Un repository malevolo contiene un link simbolico (symlink) dal nome innocuo ma che punta a un file sensibile fuori dal tuo progetto - per esempio un file chiamato project_settings.json che in realtà punta a ~/.ssh/authorized_keys. Quando chiedi all'agente di modificare quel file, segue il link e scrive nella vera destinazione, mentre la finestra di approvazione mostra solo il nome innocuo. Wiz l'ha riassunto così: l'agente lo sapeva, l'utente no.
GhostApproval è stato corretto?
In parte. Wiz l'ha segnalato a sei fornitori. Secondo Wiz, Cursor (CVE-2026-50549, versione 3.0+), Amazon Q Developer (CVE-2026-12958, language server 1.69.0) e Google Antigravity hanno rilasciato correzioni. Augment e Windsurf hanno confermato la segnalazione ma, al momento della divulgazione, non avevano rilasciato una patch. Anthropic considera il problema fuori dal proprio modello di minaccia, sulla base del fatto che l'utente conferma di fidarsi di una cartella all'avvio di Claude Code; separatamente, Claude Code ha aggiunto avvisi sui symlink in una versione precedente. In pratica: aggiorna i tuoi strumenti.
Quali assistenti di codice IA sono stati colpiti?
Wiz ne ha testati sei e ha trovato una variante in ciascuno: Cursor, Amazon Q Developer, Google Antigravity, Augment, Windsurf e Anthropic Claude Code. La gravità andava da un problema di interfaccia correggibile a un'esecuzione di codice remoto prima dell'autorizzazione, a seconda dello strumento. Le risposte dei fornitori differiscono, quindi presumi che qualsiasi agente di codice con ampio accesso al filesystem possa essere esposto a fughe di percorso via symlink, a meno che non risolva e mostri il vero percorso di destinazione.
GhostApproval può eseguire codice sulla mia macchina?
Nelle varianti peggiori, in pratica sì. Scrivendo una chiave SSH controllata dall'attaccante in ~/.ssh/authorized_keys, un attaccante può ottenere accesso remoto alla macchina dello sviluppatore, il che è esecuzione di codice remoto in pratica. Wiz ha descritto il caso più grave (in Windsurf) come una RCE prima dell'autorizzazione, perché il file veniva scritto prima ancora che comparissero i pulsanti Accetta o Rifiuta - quindi la conferma agiva come annulla, non come barriera.
Come mi proteggo da GhostApproval?
Aggiorna il tuo assistente di codice IA all'ultima versione, dato che diversi fornitori l'hanno corretto. Lascia che un agente agisca solo in repository di cui ti fidi, e fai attenzione ad aprire repo sconosciuti. Esegui gli agenti con il minimo privilegio - idealmente in un container o sandbox che non possa raggiungere ~/.ssh, le tue credenziali cloud o altri segreti. Leggi con attenzione le finestre di approvazione, soprattutto le modifiche a file di configurazione o dotfile, e prediligi strumenti che risolvono i symlink e mostrano il vero percorso di destinazione.