Una CVE pubblicata lunedì descrive il guardiano dei comandi distruttivi nella Continue CLI. In modalità headless e in modalità auto, la policy predefinita concede al tool Bash il permesso di allow. L’unico blocco rigido è un test sui percorsi pericolosi che corrisponde a /, /*, ~, ~/*, /usr, /etc, /bin, /sbin e ai relativi prefissi.
Ciò che non è nell’elenco
Una rimozione forzata ricorsiva di /home, /root, /var, /opt o /srv non viene disabilitata. Peggio ancora, la riga di comando viene analizzata con shell-quote, che riduce $HOME a un token vuoto — quindi rm -rf $HOME fallisce anch’esso il test sui percorsi pericolosi, e poi la shell espande di nuovo la variabile quando il comando viene effettivamente avviato. Il parser e la shell non concordano sul significato della stringa, e il controllo si basa sulla risposta del parser. Separatamente, find con -delete è classificato ad alto rischio anziché essere disabilitato, e shred, wipefs, truncate e pkexec non vengono gestiti affatto.
Ciò che la cornice convenzionale sbaglia
Tre cose. Primo, il consueto schema delle AI-CVE è "già risolto prima che se ne parlasse" — qui è l’opposto. L’intervallo interessato è indicato come "through 1.5.47", e 1.5.47 è la release pubblicata attuale. Non esiste una versione corretta. Secondo, i punteggi 8.3 e 7.4 HIGH sono autoassegnati dal CNA che ha segnalato il problema e contrassegnati come Secondary; NVD non ha pubblicato alcun punteggio primario. Chi scrive "NVD valuta questo High" sbaglia. Terzo, il vettore è condizionale, non un exploit remoto in un colpo solo: la stringa CVSS riporta AC:H e AT:P, il che significa che l’agente deve essere in esecuzione unattended e ingerire testo controllato dall’attaccante. La formulazione del record è che "an indirect prompt injection in that content can cause an unattended run to destroy the invoking user's data." Non ci sono prove di sfruttamento nel mondo reale — si tratta di un’analisi della denylist, non di un rapporto su un incidente.
Perché la tempistica è la notizia
Il problema su GitHub è stato aperto il 19 luglio, con un titolo quasi identico a quello della CVE. È ancora aperto, senza risposta visibile del maintainer, 36 giorni dopo. La modalità auto e la modalità headless sono il modo in cui i coding agent vengono inseriti nei CI, e questo è una dimostrazione concreta del fatto che l’approccio basato su blocklist soccombe all’espansione delle variabili.
La lezione generale
Le denylist di stringhe pericolose non sono un confine di sicurezza quando una shell riceve poi quella stringa. Qualsiasi harness di agent che limiti Bash in questo modo ha lo stesso problema strutturale.
