Torna agli aggiornamenti
New releaseJul 21, 2026

sandbox-runtime v0.0.66

Uno strumento di sandboxing leggero per imporre restrizioni su filesystem e rete a processi arbitrari a livello del sistema operativo, senza richiedere un contenitore.

Condividi

Anthropic Sandbox Runtime (srt)

Uno strumento di sandboxing leggero per applicare restrizioni sul filesystem e sulla rete a processi arbitrari a livello di sistema operativo, senza richiedere un container.

srt utilizza primitive di sandboxing native del sistema operativo (sandbox-exec su macOS, bubblewrap su Linux) e filtraggio di rete basato su proxy. Può essere utilizzato per confinare il comportamento di agenti, server MCP locali, comandi bash e processi arbitrari.

Anteprima di Ricerca Beta

Il Sandbox Runtime è un'anteprima di ricerca sviluppata per Claude Code per consentire agenti AI più sicuri. Viene resa disponibile come anteprima open source precoce per aiutare l'ecosistema più ampio a costruire sistemi agentici più sicuri. Trattandosi di un'anteprima di ricerca precoce, le API e i formati di configurazione potrebbero evolversi. Accogliamo con favore feedback e contributi per rendere gli agenti AI più sicuri per impostazione predefinita!

Installazione```bash

npm install -g @anthropic-ai/sandbox-runtime

## Utilizzo di base```bash
# Network restrictions
$ srt "curl anthropic.com"
Running: curl anthropic.com
<html>...</html>  # Request succeeds

$ srt "curl example.com"
Running: curl example.com
Connection blocked by network allowlist  # Request blocked

# Filesystem restrictions
$ srt "cat README.md"
Running: cat README.md
# Anthropic Sandb...  # Current directory access allowed

$ srt "cat ~/.ssh/id_rsa"
Running: cat ~/.ssh/id_rsa
cat: /Users/ollie/.ssh/id_rsa: Operation not permitted  # Specific file blocked

Panoramica

Questo pacchetto fornisce un'implementazione sandbox autonoma che può essere utilizzata sia come strumento CLI che come libreria. È progettato con una filosofia secure-by-default (sicuro per impostazione predefinita) adattata ai casi d'uso comuni degli sviluppatori: i processi partono con accesso minimo e si aprono esplicitamente solo i varchi necessari.

Capacità principali:

  • Restrizioni di rete: Controlla quali host/domini possono essere accessibili tramite HTTP/HTTPS e altri protocolli
  • Restrizioni del filesystem: Controlla quali file/directory possono essere letti/scritti
  • Restrizioni dei socket Unix: Controlla l'accesso ai socket IPC locali
  • Monitoraggio delle violazioni: Su macOS, accede all'archivio dei log delle violazioni della sandbox di sistema per avvisi in tempo reale

Caso d'uso di esempio: Sandboxing dei server MCP

Un caso d'uso chiave è il sandboxing dei server Model Context Protocol (MCP) per limitarne le capacità. Ad esempio, per applicare il sandboxing al server MCP del filesystem:

Senza sandboxing (.mcp.json):```json { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem"] } } }

**Con sandboxing** (`.mcp.json`):```json
{
  "mcpServers": {
    "filesystem": {
      "command": "srt",
      "args": ["npx", "-y", "@modelcontextprotocol/server-filesystem"]
    }
  }
}

Then configure restrictions in ~/.srt-settings.json:```json { "filesystem": { "denyRead": [], "allowWrite": ["."], "denyWrite": ["~/sensitive-folder"] }, "network": { "allowedDomains": [], "deniedDomains": [] } }

Ora il server MCP sarà bloccato dalla scrittura nel percorso negato:```
> Write a file to ~/sensitive-folder
✗ Error: EPERM: operation not permitted, open '/Users/ollie/sensitive-folder/test.txt'

Come Funziona

La sandbox utilizza primitive a livello di sistema operativo per applicare restrizioni che si estendono all'intero albero dei processi:

  • macOS: Utilizza sandbox-exec con profili Seatbelt generati dinamicamente
  • Linux: Utilizza bubblewrap per la containerizzazione con isolamento dello spazio dei nomi di rete
  • Windows: Esegue il processo in sandbox sotto un account utente locale dedicato srt-sandbox, con una barriera di uscita Windows Filtering Platform basata sul SID di quell'account e ACE espliciti per sessione sull'albero di lavoro

0d1c612947c798aef48e6ab4beb7e8544da9d41a-4096x2305

Modello di Doppio Isolamento

Sia l'isolamento del filesystem che quello della rete sono necessari per una sandbox efficace. Senza l'isolamento dei file, un processo compromesso potrebbe esfiltrare chiavi SSH o altri file sensibili. Senza l'isolamento della rete, un processo potrebbe fuggire dalla sandbox e ottenere accesso di rete senza restrizioni.

Isolamento del Filesystem applica restrizioni di lettura e scrittura:

  • Lettura (pattern nega-poi-consenti): Per impostazione predefinita, l'accesso in lettura è consentito ovunque. È possibile negare ampie regioni (ad es., /Users) e poi ri-consentire percorsi specifici al loro interno (ad es., .). allowRead ha la precedenza su denyRead — l'opposto della scrittura, dove denyWrite ha la precedenza su allowWrite. Una voce denyRead più specifica della regione allowRead in cui ricade (ad es. denyRead: ["**/.env"] o ["./secrets"] con allowRead: ["."]) rimane comunque negata.
  • Scrittura (pattern solo-consenti): Per impostazione predefinita, l'accesso in scrittura è negato ovunque. È necessario consentire esplicitamente i percorsi (ad es., ., /tmp). Una lista di autorizzazioni vuota significa nessun accesso in scrittura.

Isolamento della Rete (pattern solo-consenti): Per impostazione predefinita, tutto l'accesso alla rete è negato. È necessario consentire esplicitamente i domini. Una lista allowedDomains vuota significa nessun accesso alla rete. Il traffico di rete viene instradato attraverso server proxy in esecuzione sull'host:

  • Linux: Le richieste vengono instradate tramite il filesystem attraverso un socket di dominio Unix. Lo spazio dei nomi di rete del processo in sandbox viene completamente rimosso, quindi tutto il traffico di rete deve passare attraverso i proxy in esecuzione sull'host (in ascolto su socket Unix che vengono montati tramite bind nella sandbox)

  • macOS: Il profilo Seatbelt consente la comunicazione solo verso una specifica porta localhost. I proxy sono in ascolto su questa porta, creando un canale controllato per tutto l'accesso alla rete

  • Windows: Un set di filtri WFP a livello di macchina blocca tutte le connessioni in uscita provenienti dall'account srt-sandbox eccetto il loopback verso l'intervallo di porte del proxy. I proxy sono in ascolto all'interno di tale intervallo, creando un canale controllato per tutto l'accesso alla rete

Sia il traffico HTTP/HTTPS (tramite proxy HTTP) che altro traffico TCP (tramite proxy SOCKS5) sono mediati da questi proxy, che applicano le liste di domini consentiti e negati.

Per maggiori dettagli sul sandboxing in Claude Code, consultare:

Categorie