Un agente che esegue codice e comandi è, tecnicamente, esecuzione di codice non fidato – perché tra prompt injection e allucinazioni, non controlli davvero cosa deciderà di fare. Il sandboxing applica la risposta classica: un recinto dove anche l'azione sbagliata non fa danni.
Gli strati pratici:
- filesystem: l'agente lavora in una directory dedicata o in un container – mai con il tuo home a portata di
rm - rete: egress chiuso o su allowlist – un agente iniettato che non può chiamare fuori non può esfiltrare
- credenziali: minime e a scadenza, mai i segreti veri nel suo ambiente (aidlp sorveglia cosa finisce nei prompt)
- risorse e tempo: limiti che spengono il loop impazzito
Le versioni robuste usano container o microVM usa-e-getta per sessione; per il codice del progetto, un worktree isolato che si può buttare. Poi, sopra il recinto, i permessi sulle azioni: il sandbox limita i danni, i permessi le intenzioni.