GhostApproval: come un symlink puo dirottare il tuo assistente di codice IA

  • VersionDude
  • Strumenti
  • 6 min di lettura

A luglio 2026 Wiz ha divulgato GhostApproval, una falla che colpisce sei assistenti di codice IA. Un repository malevolo usa un link simbolico per reindirizzare una modifica approvata verso file sensibili come le tue chiavi SSH. Cos'e l'attacco, quali strumenti sono colpiti e come restare al sicuro.

L'8 luglio 2026 la societa di sicurezza cloud Wiz ha divulgato una falla che chiama GhostApproval, che colpisce sei diffusi assistenti di codice IA. Il trucco e semplice e inquietante: l'assistente ti chiede il permesso di modificare un file dall'aspetto innocuo, tu approvi, e la scrittura finisce silenziosamente su un altro file, sensibile. Il nome lo riassume: approvi un fantasma e accade altro.

Riguarda ogni sviluppatore che usa un agente IA per leggere e modificare codice, perche questi agenti agiscono con i tuoi stessi permessi sul file system. Quando un agente puo scrivere su disco, un repository trappola puo trasformare una singola modifica approvata in esecuzione di codice da remoto. Ecco cos'e GhostApproval, come funziona esattamente, quali strumenti sono colpiti e la disciplina che ti protegge.

Che cos'e GhostApproval

Un lucchetto di ottone con la chiave inserita, su un mucchio di maglie di catena in acciaio. GhostApproval ha infilato la chiave di un aggressore nel file che decide chi puo sbloccare la macchina di uno sviluppatore.
Un lucchetto di ottone con la chiave inserita, su un mucchio di maglie di catena in acciaio. GhostApproval ha infilato la chiave di un aggressore nel file che decide chi puo sbloccare la macchina di uno sviluppatore.

Wiz ha pubblicato la ricerca l'8 luglio 2026 e ha battezzato lo schema GhostApproval. Secondo il suo rapporto, gli assistenti colpiti sono Amazon Q Developer, Anthropic Claude Code, Augment, Cursor, Google Antigravity e Windsurf. La debolezza di fondo e classificata come CWE-61, il seguire i link simbolici - una categoria di bug che precede di decenni gli strumenti di IA.

La parola fantasma e il punto. L'assistente ti mostra una richiesta di approvazione che nomina un file, quindi credi di autorizzare una piccola modifica sicura. Ma l'azione realmente eseguita scrive altrove, del tutto. Hai approvato una cosa; lo strumento ne ha fatta un'altra. Questo scarto tra cio che vedi e cio che accade e l'intera vulnerabilita.

Come funziona l'attacco tramite symlink

Il meccanismo e una vecchia funzione Unix chiamata link simbolico, o symlink. Un symlink e un file che punta semplicemente a un altro file altrove sul disco. Leggi o scrivi il symlink e il sistema operativo ti reindirizza silenziosamente al suo bersaglio. E utile e del tutto normale - ma solo se il programma che lo gestisce verifica dove porta davvero il link.

  • GhostApproval abusa dei symlink (CWE-61) negli assistenti di codice IA
  • Un repo malevolo reindirizza una modifica approvata verso file sensibili come ~/.ssh/authorized_keys
  • Sei strumenti colpiti; Amazon Q, Cursor e Google Antigravity hanno rilasciato correzioni con CVE
  • Aggiorna il tuo assistente di codice IA all'ultima versione corretta
  • Tratta ogni repository clonato come codice non affidabile e leggi cio che approvi

Wiz ha costruito un repository malevolo con un symlink dal nome innocuo, come project_settings.json. Quel link non conteneva alcuna impostazione: puntava al ~/.ssh/authorized_keys della vittima, il file che elenca le chiavi SSH autorizzate ad accedere alla macchina. Il README del repository chiedeva poi all'assistente di aggiungere una riga a project_settings.json.

L'agente ha seguito l'istruzione e scritto la riga. Poiche il file era un symlink, la riga e finita dentro authorized_keys - e quella riga era la chiave pubblica SSH dell'aggressore, travestita da impostazione innocua. Secondo Wiz, il risultato e iniezione di chiave SSH, persistenza tramite shell o altra esecuzione di codice da remoto, tutto fuori dallo spazio di lavoro in cui l'agente doveva restare.

Quali strumenti sono colpiti, e corretti

Le risposte dei fornitori sono variate, secondo Wiz. Amazon Q e stato corretto nella versione 1.69.0 del language server e ha ricevuto il CVE-2026-12958; Cursor e stato corretto nella versione 3.0 sotto il CVE-2026-50549; Google Antigravity ha rilasciato una correzione con un CVE in attesa. Augment e Windsurf hanno riconosciuto il problema - Windsurf il 23 giugno 2026 - con correzioni ancora in corso alla pubblicazione.

Anthropic, secondo Wiz, ha considerato il comportamento fuori dal proprio modello di minaccia anziche un bug; Wiz nota anche che Claude Code aveva gia aggiunto avvisi sui symlink nella versione 2.1.32, rilasciata il 5 febbraio 2026, prima del rapporto. Qualunque sia il tuo strumento, la mossa pratica e la stessa: aggiornalo all'ultima versione, dove i fornitori colpiti hanno aggiunto la risoluzione dei symlink e gli avvisi.

Come proteggerti

Oltre alla patch, la difesa e disciplina. Tratta ogni repository clonato come codice non affidabile, perche un repo puo portare symlink che puntano ben oltre la propria cartella. Il consiglio di Wiz ai fornitori vale come checklist mentale: risolvere i symlink prima di mostrare una richiesta di approvazione, avvisare chiaramente quando il percorso risolto esce dallo spazio di lavoro, e non scrivere mai su disco prima di un'autorizzazione esplicita.

Oltre alla patch, la difesa e disciplina. Tratta ogni repository clonato come codice non affidabile, perche un repo puo portare symlink che puntano ben oltre la propria cartella. Il consiglio di Wiz ai fornitori vale come checklist mentale: risolvere i symlink prima di mostrare una richiesta di approvazione, avvisare chiaramente quando il percorso risolto esce dallo spazio di lavoro, e non scrivere mai su disco prima di un'autorizzazione esplicita.

- VersionDude

La lezione onesta

La lezione di fondo sopravvive a questo bug specifico. Un agente di codice IA agisce con i tuoi permessi: approvare la sua azione significa fidarsi dell'intero repository che legge, non solo della riga a schermo. Limita la portata delle tue chiavi SSH, esegui il codice di cui non ti fidi del tutto in un ambiente isolato, e leggi cio che approvi - soprattutto quando il file che nomina sembra rassicurantemente banale.

Progetto correlato