L’isolamento di Claude Code limita ciò che una sessione può leggere, scrivere e raggiungere sulla rete. Questo è particolarmente importante quando consenti a Claude di lavorare con meno prompt di autorizzazione, lo esegui in modo automatico o lo punti verso codice di cui non sei completamente sicuro. Claude Code può essere eseguito in diversi tipi di ambienti isolati, che vanno da una sandbox leggera per comando a una macchina virtuale completamente separata. Questa pagina spiega come:Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
- Confrontare gli approcci di isolamento disponibili in base a ciò che isolano, cosa richiedono e quanto setup è necessario
- Scegliere l’approccio che si adatta al tuo obiettivo e al tuo modello di minaccia
- Iniziare con l’approccio che hai scelto, dalla sandbox Bash integrata a una macchina virtuale dedicata
- Applicare l’isolamento per ogni sviluppatore nella tua organizzazione
Per il modello di sicurezza più ampio, vedi Security. Per i deployment di Agent SDK, vedi Secure deployment.
Confrontare gli approcci di sandboxing
I primi due approcci nella tabella sottostante vengono eseguiti sul sistema operativo host senza container. Gli altri posizionano Claude Code all’interno di un container o di una macchina virtuale.| Approccio | Cosa è isolato | Richiede Docker | Sforzo di setup |
|---|---|---|---|
| Sandboxed Bash tool | Comandi Bash e i loro processi figli | No | Minimo su macOS; basso su Linux e WSL2 |
| Sandbox runtime | L’intero processo Claude Code, inclusi i file tools, i server MCP e gli hooks | No | Basso |
| Dev container | Ambiente di sviluppo completo | Sì | Medio |
| Custom container | Ambiente di sviluppo completo | Sì | Medio-alto |
| Virtual machine | Sistema operativo completo | No | Alto |
| Claude Code on the web | Sistema operativo completo, ospitato da Anthropic | No | Nessuno; richiede un abbonamento Claude e GitHub |
Scegliere un approccio
Abbina il tuo obiettivo a una riga sottostante, quindi leggi la sezione di dettaglio che segue.| Vuoi | Inizia con |
|---|---|
| Ridurre i prompt di autorizzazione durante il lavoro quotidiano sulla tua macchina | Lo sandboxed Bash tool, abilitato con /sandbox |
Lasciare che Claude lavori in modo automatico con --dangerously-skip-permissions o in modalità auto | Il dev container preconfigurato, qualsiasi container o VM, o il sandbox runtime |
| Isolare i server MCP e gli hooks così come Bash, senza Docker | Il sandbox runtime |
| Lavorare su un repository non attendibile | Una macchina virtuale dedicata, o Claude Code on the web se hai un abbonamento Claude e un account GitHub connesso |
| Standardizzare un ambiente sandboxed in un team | Il dev container preconfigurato, copiato nel tuo repository |
| Usare Claude Code da un dispositivo senza setup locale | Claude Code on the web, che richiede un abbonamento Claude e un account GitHub connesso |
| Richiedere l’isolamento per ogni sviluppatore nella tua organizzazione | Applicare l’isolamento in un’organizzazione |
| Lavorare su un host Windows nativo | Un container o VM, o eseguire la sandbox Bash all’interno di WSL2 |
Come l’isolamento si relaziona alle modalità di autorizzazione
Le modalità di autorizzazione decidono se una chiamata di strumento viene eseguita e se sei richiesto per primo. L’isolamento limita ciò che un comando può accedere una volta eseguito. I due lavorano insieme: quando una modalità di autorizzazione consente l’esecuzione di azioni senza chiederti, un confine di isolamento limita ciò che quelle azioni possono raggiungere.--dangerously-skip-permissions rimuove completamente la revisione per azione, quindi un confine di isolamento è l’unica cosa che limita ciò che Claude può fare. Eseguilo sempre all’interno di un container, una VM, o il sandbox runtime, in modo che i file tools, i server MCP e gli hooks siano anch’essi all’interno del confine.
La modalità auto sostituisce il prompt con un classificatore che esamina le azioni e blocca quelle che vanno oltre la richiesta, puntano a infrastrutture non riconosciute, o sembrano guidate da contenuti ostili che Claude ha letto. Il classificatore è un controllo per azione, non un confine di isolamento, quindi un confine di isolamento aggiunge comunque difesa in profondità per esecuzioni automatiche, e non è richiesto come lo è per --dangerously-skip-permissions.
Lo sandboxed Bash tool da solo vincola solo Bash, quindi non è sufficiente per esecuzioni completamente automatiche in nessuna delle due modalità. Puoi stratificare gli approcci: eseguire lo sandboxed Bash tool all’interno di un container o VM ti dà restrizioni di comando a livello di SO in cima al confine dell’ambiente esterno. Per come la sandbox Bash stessa interagisce con le regole di autorizzazione e le modalità, vedi Come il sandboxing si relaziona alle autorizzazioni e alle modalità di autorizzazione.
Sandboxed Bash tool
Questa opzione non supporta Windows nativo. Su host Windows, usa WSL2 o uno degli approcci container o VM sottostanti.
/sandbox. La guida Sandboxing copre le modalità di approvazione, il confine predefinito, e come ampliarlo o restringerlo.
La sandbox per comando non copre tutto ciò che viene eseguito in una sessione:
- Altri strumenti integrati come Read, Edit e WebFetch vengono eseguiti all’interno del processo Claude Code e non generano codice arbitrario. Le regole di autorizzazione per percorso o dominio le controllano invece.
- I server MCP e gli hooks sono processi separati che vengono eseguiti senza vincoli sull’host.
Sandbox runtime
Il pacchetto@anthropic-ai/sandbox-runtime avvolge un intero processo nello stesso isolamento Seatbelt o bubblewrap che la sandbox Bash integrata utilizza. Eseguire Claude Code attraverso di esso vincola ogni strumento, hook e server MCP nella sessione, non solo Bash. Il runtime è un’anteprima di ricerca beta, e il suo formato di configurazione potrebbe cambiare man mano che il pacchetto evolve.
Il runtime nega tutto l’accesso in scrittura e di rete per impostazione predefinita, quindi configuralo prima di lanciare Claude Code attraverso di esso. In ~/.srt-settings.json, o un file che passi con --settings, consenti l’accesso in scrittura ad almeno la tua directory di progetto e i percorsi di configurazione di Claude Code ~/.claude e ~/.claude.json. Consenti i domini di rete di cui la tua sessione ha bisogno, incluso api.anthropic.com o l’endpoint del tuo provider configurato. Vedi il README del pacchetto per lo schema di configurazione completo.
Una volta che il file di impostazioni è in posizione, avvia Claude Code con npx e passa claude come comando da avvolgere:
Dev containers
Un dev container esegue Claude Code all’interno di un container Docker che VS Code o un editor compatibile gestisce, con il tuo progetto montato. Puoi definire il tuo con una directory.devcontainer/ nel tuo repository.
Il repository claude-code pubblica un esempio di dev container con un firewall iptables default-deny come punto di partenza. Copialo nel tuo repository e regola la whitelist del firewall, l’immagine di base e la versione di Claude Code fissata per adattarsi al tuo ambiente. Poiché il firewall blocca l’uscita non approvata, una configurazione come questa supporta l’esecuzione di Claude Code con --dangerously-skip-permissions per il lavoro automatico.
Custom container
Puoi eseguire Claude Code in qualsiasi immagine container Docker o OCI con le tue politiche di rete, volumi montati e profili seccomp. Questo è il percorso più comune per le organizzazioni con infrastruttura container esistente o runner CI. Diversi servizi di sandbox gestiti e di esecuzione remota possono ospitare il container per te. La stessa checklist si applica come per qualsiasi container che gestisci: rivedi cosa è montato in scrittura, quali credenziali e token sono raggiungibili all’interno, e cosa consente la politica di uscita di rete. Puoi stratificare la sandbox Bash integrata all’interno del container per restrizioni per comando. I container senza privilegi hanno bisogno dell’impostazione nested-sandbox descritta in Sandboxing troubleshooting.Virtual machine
Una macchina virtuale dedicata fornisce la separazione più forte, con il suo kernel e, nei deployment cloud o microVM, il suo hardware virtualizzato. Le opzioni includono istanze cloud, hypervisor locali e microVM come Firecracker. Usa questo approccio quando stai valutando codice non attendibile, quando la tua politica di sicurezza richiede separazione a livello di kernel tra l’agente e l’host, o quando nessun approccio a livello di host soddisfa i tuoi requisiti di conformità. La funzione sandboxes di Docker Desktop fornisce una microVM con il suo daemon Docker e sincronizzazione dell’area di lavoro, che può eseguire Claude Code su host che hanno già Docker Desktop.Claude Code on the web
Claude Code on the web esegue ogni sessione in una macchina virtuale isolata gestita da Anthropic. Un proxy di rete applica una whitelist predefinita, e un proxy separato tiene il tuo token GitHub al di fuori della sandbox mentre emette credenziali scoped per l’accesso al repository all’interno di essa. Usa questo approccio quando vuoi l’isolamento completo della VM senza provisioning dell’infrastruttura da solo, o quando stai delegando attività da un dispositivo che non ha un ambiente di sviluppo locale. Richiede un abbonamento Claude e un account GitHub connesso, e le sessioni clonano il tuo repository da GitHub. Vedi Claude Code on the web per la disponibilità del piano e le opzioni di autenticazione GitHub.Applicare l’isolamento in un’organizzazione
I singoli sviluppatori possono optare per qualsiasi approccio sopra. Ciò che un’organizzazione può applicare, e con quali strumenti, dipende dall’approccio:- Built-in Bash sandbox: l’unico approccio che Claude Code applica da solo. Fornisci le chiavi di impostazioni
sandboxattraverso managed settings, sia come file gestito dal tuo MDM che attraverso server-managed settings su Claude.ai. Vedi Enforce sandboxing with managed settings per le chiavi da distribuire e come impedire agli sviluppatori di ampliare la politica. - Dev containers: esegui il commit dell’esempio di dev container nei tuoi repository per standardizzare l’ambiente in un team. Questa è una convenzione piuttosto che un confine di applicazione, perché Claude Code non richiede un container. Se gli sviluppatori non dovrebbero essere in grado di eseguire Claude Code al di fuori di esso, applica ciò con gli strumenti di gestione dei dispositivi della tua organizzazione o di allowlisting del software.
- Custom containers e VMs: distribuisci Claude Code attraverso l’immagine approvata e usa gli strumenti di gestione dei dispositivi della tua organizzazione o di allowlisting del software per prevenire l’installazione al di fuori di essa.
Vedi anche
Queste pagine coprono i dettagli di configurazione e politica per gli approcci sopra.- Sandboxing: configura lo sandboxed Bash tool integrato
- Dev container: il container di sviluppo Docker preconfigurato
- Security: il modello di sicurezza completo di Claude Code
- Secure deployment: guida all’isolamento per le applicazioni Agent SDK
- Settings: tutte le chiavi di configurazione sandbox, inclusa la consegna di managed settings