Cybersicurezza

Claude installa da solo pacchetti npm e quello sbagliato può rubarti i file

Susan Hill

La funzione Computer Use di Claude fa qualcosa che un comune chatbot non può fare. Apre un terminale sul tuo computer e installa software al posto tuo, compresi pacchetti scaricati direttamente da npm, il più grande registro di codice aperto al mondo. L’attrattiva è ovvia, perché riduce «preparami questo progetto» a una sola frase. Il rischio sta nella stessa frase, perché nel momento in cui un pacchetto arriva, npm può eseguire il codice di avvio che quel pacchetto si è portato dietro, e ora a premere il grilletto è un agente autonomo.

Per chiunque lasci a un agente di IA scrivere o eseguire codice, e sono sempre più sviluppatori, appassionati e curiosi senza formazione tecnica, la domanda pratica è netta. Se Claude installa un pacchetto che non hai mai guardato, e quel pacchetto è stato costruito per copiare i tuoi file nell’istante in cui atterra, chi avrebbe dovuto fermarlo? Un recente video di un ricercatore di sicurezza ripercorre esattamente quella situazione e mostra un pacchetto trappola che legge file locali durante un’installazione di routine che l’IA porta a termine senza esitare.

Il meccanismo non è nuovo, ed è proprio questo a renderlo serio. I pacchetti npm possono dichiarare script di installazione, piccole istruzioni che si eseguono automaticamente non appena un pacchetto viene aggiunto a un progetto, prima che una sola sua riga venga usata di proposito. È un comportamento documentato, non un difetto. Permette a strumenti legittimi di compilarsi o di preparare il proprio ambiente. Significa anche che qualunque pacchetto può eseguire codice sulla tua macchina al momento dell’installazione, con i tuoi stessi permessi, e i team di sicurezza lo avvertono da anni.

Il mondo ha avuto un promemoria netto della posta in gioco quando alcuni aggressori si sono impadroniti dell’account del manutentore di Axios, una libreria di rete scaricata decine di milioni di volte a settimana, e vi hanno infilato una dipendenza malevola che installava un trojan ad accesso remoto sulle macchine degli sviluppatori. Non hanno mai toccato il vero codice di Axios. Lo script di installazione ha fatto il lavoro. Axios è per caso un mattone dentro lo stesso Claude Code, accanto a innumerevoli altre applicazioni, e questo mostra quanto sia breve la distanza tra lo strumento di cui ti fidi e il codice che si tira dietro in silenzio.

Ciò che la dimostrazione aggiunge a quel quadro noto è l’agente. Una persona che avvia un’installazione può almeno fermarsi, leggere il nome del pacchetto, notare che è scritto male o pubblicato un attimo fa, e tornare indietro. Un agente di IA che agisce su un’istruzione vaga non ha quel riflesso. Installa ciò che decide gli serva. E poiché Computer Use legge anche lo schermo, muove il cursore e digita, una sola dipendenza avvelenata non resta chiusa dentro l’editor di codice. Ha campo libero su tutta la scrivania.

Vale la pena essere precisi su cosa sia e cosa non sia. Non è una backdoor nascosta e propria di Claude, né la prova che il modello sia stato ingannato per aggirare le proprie regole. È il risultato prevedibile del dare a un qualsiasi programma autonomo il potere di installare software, sommato a un registro che esegue codice di installazione per impostazione predefinita da oltre un decennio. Sostituisci Claude con qualunque altro agente di programmazione con gli stessi permessi e il quadro è identico. Il pericolo vive nell’autonomia e nel registro, non nel chatbot di un’azienda.

Anthropic, semmai, sta spingendo nella direzione opposta. L’azienda ha da poco rilasciato per i suoi strumenti di programmazione una sandbox che isola l’agente dal resto del sistema, limita quali file può leggere e quali server può raggiungere, e ha pubblicato come codice aperto il kit di isolamento che la regge, perché altri lo usino. Il ragionamento è quello che la demo mette a nudo. Un agente che non raggiunge le tue chiavi SSH non può divulgarle, e un agente che non può contattare un server sconosciuto non può spedire i tuoi file da nessuna parte. L’azienda afferma che quei confini riducono di circa l’84 per cento le richieste di permesso che mostra agli utenti, il che conta perché uno strumento che chiede tutto finisce per abituare le persone a cliccare sì.

Per chi questi strumenti li usa davvero, le difese sono noiose ed efficaci. Fai girare l’agente dentro una sandbox, un container o una macchina virtuale usa e getta, così il massimo che un pacchetto cattivo può raggiungere è un ambiente sacrificabile. Disattiva gli script di installazione automatici dove il flusso di lavoro lo consente, cosa che alcuni gestori di pacchetti recenti già fanno per impostazione predefinita. Tieni credenziali, chiavi e file personali fuori dalla macchina dove l’agente ha mano libera. E tratta «installami questo» con la cautela che riserveresti a «apri questo allegato della mail», perché sotto è più vicino a quello di quanto sembri.

Il pacchetto specifico della dimostrazione è la prova di un ricercatore, non un focolaio reale, e non ci sono segni che abbia raggiunto utenti veri. È lo schema dietro di esso a non restare fermo. La programmazione con agenti sta diventando la norma più in fretta delle abitudini pensate per renderla sicura, e i registri su cui questi agenti si appoggiano non sono mai stati costruiti per un mondo in cui chi digita il comando di installazione non è una persona. Finché quel divario non si chiude, la regola più vecchia della sicurezza informatica punta ora a un utente di tipo nuovo: ciò che il tuo agente installa, lo esegue, quindi decidi cosa può toccare prima di lasciarlo partire.

Discussione

Ci sono 0 commenti.