← Torna al blog
Aicirca 6 min di lettura

OpenShell di NVIDIA applica le policy degli agenti dentro il kernel

Pubblicato 31 ott 2026
OpenShell di NVIDIA applica le policy degli agenti dentro il kernel

OpenShell di NVIDIA ha raccolto circa 8,000 star su GitHub questo mese, che per un progetto infrastrutturale è una quantità di attenzione strana. È un runtime per agenti autonomi, scritto in Rust, Apache 2.0, e fa una cosa facile da descrivere e difficile da costruire: impone a livello di kernel cosa un agente può toccare, e verifica formalmente una modifica di policy prima di lasciarla applicare.

Il problema che affronta è quello che compare la prima volta che dai a un agente credenziali vere. Un agente è utile solo se può leggere file, installare pacchetti, chiamare API e usare segreti. A quel punto è anche un programma con le tue chiavi e la tua rete. La maggior parte dei team gestisce la cosa con un container e una preghiera.

Come si presenta davvero l'enforcement

OpenShell esegue ogni agente in una sandbox isolata e strumenta il kernel per controllare la policy a runtime su ogni accesso a file, chiamata di sistema e connessione di rete. Le connessioni sono controllate prima di uscire dalla sandbox. Le credenziali non vengono consegnate affatto all'agente: OpenShell le inietta nelle richieste dirette a endpoint approvati, così un prompt injection che fa il dump dell'ambiente dell'agente non restituisce nulla di utile.

La funzione più insolita è il prover delle policy. Prima che una modifica di policy sia approvata, OpenShell usa la verifica formale per identificare quale nuovo accesso quella modifica concederebbe, come raggiungere un nuovo host con credenziali o chiamare un nuovo metodo API. Quelle modifiche aspettano la revisione umana.

È una vera decisione di design, e inverte il flusso usuale. La maggior parte degli strumenti di sandboxing ti chiede di scrivere una policy in anticipo e poi di scoprire, dolorosamente, cosa hai dimenticato. OpenShell lascia che l'agente richieda accesso mentre lavora, e ti mostra il diff prima che abbia effetto. Se sia meglio dipende da quanto ti fidi del tuo processo di revisione alle sei di sera di un venerdì.

一个半透明的封闭立方体悬浮在暗场中,内部有细密网格与光路,边界清晰

Installarlo

Il quickstart è una riga e un comando:

curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh, poi openshell sandbox create --name demo. L'installer configura la CLI e un gateway locale.

I requisiti sono il primo ostacolo vero: Linux, macOS su Apple Silicon, o Windows tramite WSL 2, che il progetto etichetta come sperimentale. Serve anche Docker, Podman o la virtualizzazione dell'host disponibile. Se il tuo team sviluppa su Windows senza WSL, non è un'installazione da cinque minuti. Esiste un percorso Windows nativo separato tramite Microsoft MXC documentato in un branch laterale, con i suoi limiti, che vale la pena leggere prima di promettere un rollout su Windows.

L'immagine sandbox predefinita è una Ubuntu minimale senza alcun agente installato. Per far girare qualcosa di reale, la documentazione accompagna nell'esecuzione di OpenCode contro un modello OpenRouter gratuito, inclusa la parte in cui l'agente sbatte contro un muro e tu approvi il nuovo accesso che gli serve. Quel walkthrough è la pagina più utile del repository, perché mostra il ciclo di approvazione invece di descriverlo.

Ci sono SDK se vuoi pilotarlo da codice: Python con uv add openshell, TypeScript tramite un'installazione da GitHub Packages, più Go e Rust. Ci sono anche agent skill, installabili con npx skills add NVIDIA/OpenShell, che insegnano a un agente di coding a usare la CLI e a scrivere policy. Il dettaglio è più interessante di quanto sembri. Il progetto si aspetta che l'agente aiuti a configurare la propria gabbia, il che è efficiente o allarmante a seconda che il ciclo di approvazione davanti al prover delle policy venga effettivamente usato.

La bolletta operativa

Qualunque cosa strumenti il kernel ha una storia di deployment più complicata di un pip install, e OpenShell è onesto al riguardo. C'è un gateway, un supervisor e la sandbox stessa. Per Kubernetes si distribuisce il gateway con Helm e il tuo CNI deve applicare davvero le NetworkPolicy, che è una frase che ha rovinato molti pomeriggi. Se il plugin di rete del tuo cluster ignora quelle regole, il confine della sandbox è un documento e non un controllo, e non lo scoprirai finché qualcosa non va storto.

La numerazione delle versioni dice a che punto è. La linea 0.1.x ha introdotto una cadenza di rilascio stabile, nuove primitive di isolamento e nuove API, il che significa che la superficie delle API si sta ancora muovendo. I team che adottano ora devono mettere in conto lavoro di aggiornamento.

La telemetria è attiva per impostazione predefinita. NVIDIA dice che è limitata a categorie e conteggi operativi e che non include nomi di sandbox, hostname, percorsi di file, prompt, credenziali, nomi di provider o modelli, né contenuti degli utenti. Si può disattivare con OPENSHELL_TELEMETRY_ENABLED=false sul gateway, o server.telemetryEnabled=false per le installazioni Helm. In una revisione enterprise, quell'interruttore è la prima cosa che qualcuno chiederà, quindi sappi dove si trova prima della riunione.

Chi ne ha bisogno adesso

Se esegui un agente di coding sul tuo portatile, non ti serve OpenShell. Il raggio d'azione è la tua macchina, e hai già accettato quel rischio quando hai installato l'agente.

Se esegui una flotta di agenti che toccano dati di produzione, registri dei clienti o un account cloud con una bolletta vera attaccata, il calcolo cambia in fretta. La modalità di fallimento che tiene svegli i team di sicurezza non è un modello che dice qualcosa di sgarbato. È un agente con un token valido che fa esattamente ciò che gli è stato detto, in un ambiente in cui «ciò che gli è stato detto» è stato influenzato da una pagina web che ha letto.

Tra OpenShell e un semplice container Docker, la differenza è dove sta il confine di fiducia. Un container limita ciò che un agente può vedere. OpenShell limita ciò che può fare, controlla la rete al margine e tiene le credenziali fuori dalla portata dell'agente. È una posizione sensibilmente più forte, e ti costa un gateway da gestire, un file di policy da mantenere e un'ulteriore cosa che può svegliarti di notte.

La cosa da osservare

L'angolo della verifica formale è la parte che guarderei. Se le modifiche di policy possono essere controllate prima di essere applicate, la domanda interessante diventa se il controllo sia utile in pratica: intercetta le modifiche che contano, e resta zitto su quelle che non contano. Un prover che segnala tutto viene confermato con un clic, e un prover che non segnala nulla è decorazione.

NVIDIA ha la credibilità e l'incentivo per mantenerlo, e il mercato della sicurezza degli agenti è abbastanza grande perché non sarà l'unica opzione. Per ora, se stai costruendo la parte di un prodotto ad agenti che decide cosa l'agente può toccare, questa è l'implementazione più concreta disponibile da leggere. Leggere il modello di policy vale un'ora anche se non lo installi mai, perché ti costringe a rispondere a una domanda che quasi tutti i progetti ad agenti saltano: cosa esattamente può fare questa cosa, e chi l'ha deciso.

Articoli correlati