La configurazione devcontainer di riferimento e il Dockerfile associato offrono un container di sviluppo preconfigurato che puoi utilizzare così com’è, o personalizzare per le tue esigenze. Questo devcontainer funziona con l’estensione Dev Containers di Visual Studio Code e strumenti simili.

Le misure di sicurezza avanzate del container (isolamento e regole firewall) ti permettono di eseguire claude --dangerously-skip-permissions per bypassare i prompt di autorizzazione per operazioni non presidiate.

Sebbene il devcontainer fornisca protezioni sostanziali, nessun sistema è completamente immune a tutti gli attacchi. Quando eseguito con --dangerously-skip-permissions, i devcontainer non impediscono a un progetto malevolo di esfiltare qualsiasi cosa accessibile nel devcontainer incluse le credenziali di Claude Code. Raccomandiamo di utilizzare i devcontainer solo quando si sviluppa con repository fidati. Mantieni sempre buone pratiche di sicurezza e monitora le attività di Claude.

Caratteristiche principali

  • Node.js pronto per la produzione: Costruito su Node.js 20 con dipendenze di sviluppo essenziali
  • Sicurezza by design: Firewall personalizzato che limita l’accesso di rete solo ai servizi necessari
  • Strumenti developer-friendly: Include git, ZSH con miglioramenti di produttività, fzf e altro
  • Integrazione perfetta con VS Code: Estensioni preconfigurate e impostazioni ottimizzate
  • Persistenza della sessione: Preserva la cronologia dei comandi e le configurazioni tra i riavvii del container
  • Funziona ovunque: Compatibile con ambienti di sviluppo macOS, Windows e Linux

Iniziare in 4 passaggi

  1. Installa VS Code e l’estensione Remote - Containers
  2. Clona il repository dell’implementazione di riferimento Claude Code
  3. Apri il repository in VS Code
  4. Quando richiesto, clicca “Reopen in Container” (o usa Command Palette: Cmd+Shift+P → “Remote-Containers: Reopen in Container”)

Suddivisione della configurazione

La configurazione del devcontainer consiste di tre componenti principali:

  • devcontainer.json: Controlla le impostazioni del container, le estensioni e i mount dei volumi
  • Dockerfile: Definisce l’immagine del container e gli strumenti installati
  • init-firewall.sh: Stabilisce le regole di sicurezza di rete

Caratteristiche di sicurezza

Il container implementa un approccio di sicurezza multi-livello con la sua configurazione firewall:

  • Controllo di accesso preciso: Limita le connessioni in uscita solo ai domini in whitelist (registro npm, GitHub, API Anthropic, ecc.)
  • Connessioni in uscita consentite: Il firewall permette connessioni DNS e SSH in uscita
  • Politica default-deny: Blocca tutti gli altri accessi di rete esterni
  • Verifica all’avvio: Valida le regole del firewall quando il container si inizializza
  • Isolamento: Crea un ambiente di sviluppo sicuro separato dal tuo sistema principale

Opzioni di personalizzazione

La configurazione del devcontainer è progettata per essere adattabile alle tue esigenze:

  • Aggiungi o rimuovi estensioni VS Code basate sul tuo workflow
  • Modifica le allocazioni di risorse per diversi ambienti hardware
  • Regola i permessi di accesso di rete
  • Personalizza le configurazioni della shell e gli strumenti per sviluppatori

Casi d’uso di esempio

Lavoro sicuro per clienti

Usa i devcontainer per isolare diversi progetti cliente, assicurando che codice e credenziali non si mescolino mai tra ambienti.

Onboarding del team

I nuovi membri del team possono ottenere un ambiente di sviluppo completamente configurato in pochi minuti, con tutti gli strumenti e le impostazioni necessarie preinstallate.

Ambienti CI/CD coerenti

Replica la configurazione del tuo devcontainer nelle pipeline CI/CD per assicurare che gli ambienti di sviluppo e produzione corrispondano.

Risorse correlate