Immagine AI

Un test di sicurezza eseguito con Claude ha portato alla cancellazione di circa 700 GB di dati dalla home directory dello sviluppatore Sébastien Guillemot, con la perdita anche di circa una settimana di lavoro. L’incidente è avvenuto mentre veniva progettato uno script destinato a eliminare automaticamente i file temporanei lasciati dagli agenti AI nella directory /tmp. L’idea consisteva nel far lavorare ciascun agente all’interno di una cartella separata sotto /tmp e cancellarne il contenuto al termine dell’esecuzione, evitando però in modo tassativo di eliminare i file utilizzati dagli agenti ancora attivi.

Claude aveva inizialmente proposto una logica capace di rilevare gli agenti ancora in esecuzione e ritardare la rimozione dei rispettivi file temporanei. Guillemot aveva però giudicato il codice troppo complesso e aveva chiesto una soluzione più semplice. Poiché lo script prevedeva operazioni di cancellazione permanente, Claude ha quindi sottoposto il codice generato a una revisione avversariale, avviando una nuova istanza del modello con il compito di verificare che il meccanismo di pulizia non potesse eliminare dati importanti.

Durante questa procedura è intervenuto il sistema automatico di classificazione della sicurezza di Anthropic. Il task è stato riconosciuto come potenzialmente pericoloso e il modello scelto inizialmente da Guillemot, Fable 5, è stato sostituito automaticamente. Il routing ha prima indirizzato il lavoro verso Opus 5 e successivamente verso Opus 4.8, che ha eseguito il test di sicurezza dello script di cancellazione. Proprio questo passaggio è diventato uno degli elementi centrali dell’incidente, perché il controllo automatico nato per aumentare la sicurezza ha finito per affidare l’operazione a un modello differente e, secondo Guillemot, meno efficace nel coding rispetto a quello selezionato inizialmente.

Il problema si è verificato nella fase di cleanup del test. Opus 4.8 aveva correttamente controllato che il comando di cancellazione non venisse eseguito direttamente sulla directory /tmp oppure sulla home directory dell’utente, riconoscendo entrambe come destinazioni pericolose. Il controllo aveva quindi individuato correttamente i percorsi che non avrebbero dovuto essere rimossi. L’errore è avvenuto successivamente, quando la stessa variabile utilizzata durante il test è stata riutilizzata anche nella fase reale di pulizia.

La sovrapposizione dei nomi delle variabili ha fatto sì che il valore impostato durante la verifica continuasse a puntare alla home directory dello sviluppatore. In altre parole, il sistema aveva identificato correttamente quella directory come percorso da non eliminare, ma al termine del test ha riutilizzato la stessa variabile all’interno del comando operativo di cleanup. Claude ha quindi iniziato a cancellare realmente il contenuto della home directory che era stata utilizzata come caso di prova per verificare la sicurezza dello script.

Guillemot è riuscito a interrompere il processo, ma soltanto dopo che una quantità considerevole di dati era già stata rimossa. Il bilancio indicato dallo sviluppatore è di circa 700 GB cancellati e una settimana di lavoro persa. L’obiettivo originario dell’intervento, cioè rimuovere i file inutili accumulati dagli agenti nella directory /tmp, non è stato neppure raggiunto completamente: dopo l’incidente, i file temporanei che avevano motivato la creazione dello script risultavano ancora presenti.

L’episodio mette inoltre in evidenza un problema specifico nel rapporto tra sistemi di sicurezza automatici e capacità del modello utilizzato per eseguire il task. Guillemot ha osservato che Fable 5, il modello scelto inizialmente, mostrava prestazioni di coding superiori a Opus 4.8 e ha ipotizzato che, senza il downgrade automatico imposto dal classificatore, l’incongruenza logica provocata dal riutilizzo della variabile avrebbe potuto essere individuata prima dell’esecuzione. Non è quindi stato soltanto il comando distruttivo a determinare l’incidente: la sequenza comprende la semplificazione dello script, il test avversariale, il routing automatico verso modelli differenti e infine l’errore nella gestione della stessa variabile tra ambiente di prova e cleanup reale.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)

Di Fantasy