Jorge Turbica / blog · Blog ← Todos los artículos EN · Read in English
IA

Repo del día: OpenShell, el runtime de NVIDIA que encierra a tus agentes sin darles las claves

OpenShell aísla agentes con Landlock y seccomp, les inyecta credenciales solo hacia destinos aprobados y verifica formalmente cada ampliación de permisos.

277 puntos y 143 comentarios en la portada de Hacker News el 22 de octubre de 2026, y 17.800 estrellas en GitHub: OpenShell, el runtime de NVIDIA para ejecutar agentes autónomos sin darles acceso libre a tus datos, secretos ni red, acaba de estrenar la serie 0.1 con cadencia de releases estable. Llega el mismo día en que Google presenta su propia plataforma de sandboxes para agentes, y la comparación ayuda a entender qué resuelve cada uno.

Qué es

OpenShell parte de una premisa sencilla: un agente es útil cuando puede leer ficheros, instalar paquetes, llamar a APIs y usar credenciales, y peligroso exactamente por lo mismo. En lugar de quitarle esas capacidades, las declaras en una política y OpenShell la hace cumplir en dos planos:

  • En el kernel, en tiempo de ejecución. Cada agente corre en un sandbox. En el backend de Linux actual, la carga de trabajo usa una identidad sin root y sin capacidades de Linux; Landlock limita el acceso a ficheros y seccomp (con notificación al espacio de usuario) intercepta cada apertura de TCP y cada consulta DNS para que espere una decisión de política.
  • Antes de aplicar un cambio. Un policy prover con verificación formal revisa las reglas de red que propone el propio agente y marca las peligrosas (nuevo alcance con credenciales, métodos HTTP nuevos, acceso a los endpoints de metadatos de la nube). Cualquier hallazgo bloquea la aprobación automática y el cambio espera a un humano. También existe como comando suelto, openshell-prover, para comprobar políticas en CI.

La arquitectura separa tres piezas. El gateway es el plano de control: identidad, políticas, credenciales y ciclo de vida. El sandbox comparte frontera con el agente, así que nunca decide nada: solo informa de lo que el agente intenta hacer. El supervisor, al otro lado de la frontera, decide, resuelve DNS, abre las conexiones aprobadas y añade las credenciales solo a las peticiones que van a destinos permitidos. El agente nunca ve la clave real. Si se cae la conexión entre ambos, el agente se congela: falla cerrado.

Los sandboxes corren sobre Docker, Podman, Kubernetes o micro-VM, con el canal entre supervisor y sandbox por socket Unix, TCP o vsock según el caso. Está escrito para Linux, macOS con Apple Silicon y, de forma experimental, Windows con WSL 2. Licencia Apache 2.0, con SDK para Python, TypeScript, Go y Rust.

Cómo se usa

Según el README, con Docker, Podman o virtualización disponible:

bash
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo

El instalador es un curl | sh que monta la CLI y un gateway local: léelo antes de ejecutarlo. La imagen por defecto es un Ubuntu mínimo sin agente instalado, y la política por defecto deniega la red, así que hay que construir una imagen con tu agente y abrir el acceso que necesite. Para Kubernetes hay chart de Helm, con un requisito importante: tu CNI tiene que aplicar NetworkPolicy. El proyecto también publica skills para que tu agente aprenda a manejar la CLI y escribir políticas (npx skills add NVIDIA/OpenShell).

Lo que me convence y lo que no

Me convence el reparto de confianza. Que el componente que convive con el agente no tome decisiones, que las credenciales vivan fuera y que la conexión caída congele al agente son exactamente las propiedades que pedirías en una revisión de seguridad. El prover formal es lo más original: un agente que pide ampliar sus permisos es justo el escenario de una inyección de prompt, y aquí ese cambio no pasa sin revisión.

Lo que no: la 0.1.0 rompe compatibilidad en casi todo. Las instalaciones 0.0.x no se actualizan in situ, hay que recrear todos los sandboxes, migrar gateway.toml al esquema 2 y exportar los perfiles de proveedores antes de actualizar. Con 373 issues y 190 PR abiertos, es un proyecto vivo pero joven. Y recoge telemetría anónima por defecto (se desactiva con OPENSHELL_TELEMETRY_ENABLED=false).

OpenShell frente a Agent Substrate

Google liberó el 22 de octubre de 2026 Agent Substrate, un runtime de Kubernetes para agentes, junto a su servicio gestionado Agent Compute Engine.

OpenShellAgent Substrate
EnfoquePolítica declarativa por agente: ficheros, procesos, red y credencialesDensidad: más agentes por servidor
MecanismoLandlock y seccomp, sobre contenedor, Kubernetes o micro-VMSuspender los agentes ociosos y reanudarlos al momento
DesplieguePortátil, Docker, Podman, Kubernetes con HelmKubernetes
Cifras17.800 estrellas10 veces más agentes por servidor; 200.000 agentes con menos de 500 ms en suspender y reanudar, según Google
Licencia y madurezApache 2.0, serie 0.1 recién salidaOpen source, recién liberado

Cuándo usar cada uno: OpenShell si lo que te quita el sueño es qué puede tocar el agente, sobre todo en un portátil o un clúster pequeño y con credenciales reales; Agent Substrate si ya tienes muchos agentes en Kubernetes y el problema es el coste de tenerlos vivos mientras esperan. No son excluyentes: uno es control de acceso y el otro, planificación de recursos.

Fuentes

Jorge Turbica

Software Engineer y SRE. Escribo sobre los retos reales que me encuentro en producción.

Ver portfolio ↗