Cos'è il sandboxing AI e come garantisce la sicurezza PC
Quando lavori con agenti AI autonomi nel terminale, il software non esegue comandi nella tua macchina reale. Esegue tutto dentro un contenitore isolato, un ambiente separato dal tuo sistema operativo principale. Questo è il sandboxing.
Un sandbox è uno spazio fisico dove l'AI ha permessi limitati. Non può accedere ai tuoi file personali, non può modificare le impostazioni di sistema, non può installare software globalmente. Se qualcosa va storto, il danno resta confinato dentro il box. Quando chiudi l'ambiente, tutto quello che è successo dentro scompare.
Questo isolamento è il prerequisito fondamentale per il Vibe Coding perché gli agenti AI, per quanto intelligenti, non hanno consapevolezza del contesto reale. Possono sbagliare. Devono poter sbagliare senza bruciare la tua macchina.
Il file system, i processi, le risorse di rete: tutto rimane segregato. L'agente vede una versione ridotta e controllata del tuo PC, non il PC stesso.
Quali rischi comportano gli agenti autonomi nel terminale
Gli assistenti AI chiedono permessi di esecuzione quando devono fare un lavoro. Leggono file, eseguono script, lanciano comandi. Senza isolamento, questi comandi girano con i tuoi stessi diritti.
Ecco i rischi concreti che vedi negli ambienti non protetti:
Errori di logica: l'AI scrive un comando per eliminare file temporanei ma usa il percorso sbagliato. Invece di cancellare /tmp/cache, cancella /home/user. O peggio, un rm -rf ricorsivo su una cartella critica.
Allucinazioni: il modello linguistico genera un comando che sembra plausibile ma non esiste davvero. O crea una catena di comandi che interagiscono in modo imprevisto e spezzano il sistema.
Installazione di dipendenze malevole: durante la risoluzione di un problema, l'agente decide di installare un pacchetto dal repository pubblico. Quel pacchetto, magari con un nome simile a uno legittimo, contiene codice ostile. Senza sandbox, il malware è già nel tuo PC.
Escalation di privilegi: l'agente esegue un comando con sudo perché "potrebbe servire". Ora ha accesso amministrativo in modo permanente.
Tutti questi scenari diventano innocui se il terminale dell'agente è un contenitore isolato. Il danno rimane dentro il box.
Come creare un ambiente di sviluppo isolato con Cordum Edge e Augur
Esistono strumenti specifici nati proprio per questo problema. Due tra i più solidi nel panorama open source sono Cordum Edge e Augur.
Cordum Edge (disponibile su github.com/cordum-io/cordum) funziona come motore di sandboxing leggero. Non è una macchina virtuale: non emula un PC intero. È un container che fornisce un sistema di file ridotto, un interprete di comandi limitato, e nessun accesso alle risorse hardware reali. L'agente AI pensa di avere una shell completa, ma ogni operazione passa attraverso un filtro.
Augur (github.com/h1d3mun3/augur) aggiunge un layer di auditing e controllo. Registra ogni comando che l'agente tenta di eseguire, li valida contro una whitelist (lista di comandi consentiti), e blocca tutto il resto prima che raggiunga il sistema operativo.
I vantaggi rispetto alle macchine virtuali tradizionali sono chiari: startup in millisecondi invece di minuti, consumo di memoria nel range dei MB, non dei GB, e overhead di CPU quasi nullo. Per il Vibe Coding, dove lanzi tanti piccoli agenti in parallelo per risolvere tanti compiti simultaneamente, questo fa la differenza tra "funziona" e "affoga il tuo PC".
Un ulteriore risorsa pratica è chock.ws, una comunità che raccoglie configurazioni già testate e best practice per ambienti sandboxati con AI.
Tutorial AI: guida pratica per avviare il primo progetto in sandbox
Iniziamo con l'installazione di Cordum Edge. Apri il terminale e clona il repository:
git clone https://github.com/cordum-io/cordum.git
cd cordum
Poi segui le istruzioni nel README per il tuo sistema operativo. Su Linux e macOS è semplice: Node.js e npm sono gli unici prerequisiti.
Dopo l'installazione, crea una cartella di progetto:
mkdir mio-progetto-sandbox
cd mio-progetto-sandbox
cordum init
Questo crea un file di configurazione che define cosa l'agente può e non può fare. All'interno troviamo:
- allowed_paths: quali cartelle l'agente può leggere e scrivere
- allowed_commands: quali comandi del terminale sono consentiti
- network_access: se e come l'agente può connettersi a internet
- env_vars: quali variabili di ambiente l'agente vede
Modifichiamo il file di configurazione per un caso pratico. L'agente avrà accesso solo alla cartella del progetto, potrà eseguire npm, node, e git, ma niente sudo o comandi di sistema:
{
"allowed_paths": ["./src", "./tests", "./node_modules"],
"allowed_commands": ["npm", "node", "git", "cat", "ls"],
"network_access": false,
"env_vars": ["HOME", "PATH", "NODE_ENV"]
}
Ora avvia l'agente dentro il sandbox:
cordum run --agent myagent
L'agente ha una shell funzionante, ma ogni comando che esegue viene filtrato. Se prova a fare un ls /etc, il sandbox blocca la richiesta. Se prova un npm install, il comando passa perché è nella whitelist.
Test di sicurezza: chiedi all'agente di eseguire un comando pericoloso, tipo rm -rf /. Vedrai che il sandbox intercetta il tentativo e restituisce un errore di permesso negato, senza che il comando tocchi il tuo vero file system.
Come perfezionare la gestione degli agenti AI con i corsi VibeDojo
Una volta che il sandbox funziona, il passo successivo è integrare questa pratica nel flusso quotidiano di sviluppo. Un ambiente di test isolato è il punto di partenza, non la destinazione finale.
Le domande che devi farti sono:
- Come scalare da un agente a dieci agenti che lavorano sullo stesso progetto?
- Come tracciare cosa fa ogni agente, se qualcosa fallisce?
- Come portare i risultati dal sandbox alla produzione in modo sicuro?
- Come configurare la whitelist di comandi in modo che sia abbastanza permissiva da permettere veri lavori, ma abbastanza restrittiva da bloccare veri danni?
Queste domande vanno oltre il setup iniziale. Richiedono una metodologia completa, test rigorosi, e pratica ripetuta su progetti diversi.
I percorsi formativi completi di VibeDojo coprono esattamente questo: non insegniamo solo il sandboxing teorico, ma come farlo funzionare quando hai 50 agenti che scrivono codice simultaneamente, come debuggare quando le cose vanno male, come costruire pipeline di sviluppo sicure dal primo agente al deployment in produzione.
Se sei alle prime armi con il Vibe Coding, il corso Vibe Coding per principianti ti insegna a muovere i primi passi in sicurezza. Se conosci già le basi e vuoi andare in profondità sul tema sicurezza e sandboxing, abbiamo guide pratiche sul Vibe Coding che approfondiscono ogni aspetto.
Il sandboxing non è un optional. È l'infrastruttura su cui costruisci tutto il resto. Usalo da subito, anche per progetti piccoli. Il muscolo della buona pratica si allena con la ripetizione.
Ci sentiamo nel prossimo articolo!
A presto
Federico