AI

NVIDIA OpenShell:安全、私有的自主 AI 代理运行环境

OpenShell 是 NVIDIA 推出的开源沙盒运行环境,用于 AI 代理,通过声明式 YAML 策略控制文件系统、网络、进程和推理安全。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
NVIDIA OpenShell:安全、私有的自主 AI 代理运行环境

自主 AI 代理功能强大,但也伴随着显著的风险。具有 shell 访问权限的代理可能会意外删除文件、发送非预期的网络请求或泄露敏感数据。传统的容器化技术(Docker、gVisor)并非为 AI 应用所需的细粒度、代理专属安全策略而设计。NVIDIA OpenShell 以一个专为 AI 代理打造的沙盒运行环境来填补这一空白。

OpenShell 发布在 github.com/NVIDIA/OpenShell,是 NVIDIA 针对代理安全性的开源解答。它提供了一个隔离的运行环境,代理在其中根据声明式 YAML 策略运作,这些策略精确地控制文件系统访问、网络通信、进程执行和推理调用。该沙盒以独立进程方式运行,拥有最小权限,并通过 Linux 安全模块在内核层级执行策略。

OpenShell 与通用沙盒的不同之处在于其 AI 感知设计。它能理解代理专属的操作,如模型推理调用、工具调用和上下文窗口边界。策略可以设置为允许代理读取项目目录但禁止写入,或允许调用特定 API 端点但阻止所有其他网络流量。这种细粒度对于代理处理敏感数据的生产部署至关重要。

什么是 NVIDIA OpenShell?

OpenShell 是一个为 AI 代理设计的开源沙盒运行环境。它通过声明式 YAML 策略提供安全隔离,控制文件系统、网络、进程和推理操作。由 NVIDIA 开发,其设计与代理无关——兼容 Claude Code、LangChain 代理、AutoGPT 和自定义代理实现。

OpenShell 的沙盒是如何运作的?

OpenShell 使用 Linux 内核安全功能来强制执行代理隔离。

安全领域控制项目执行方式
文件系统每个路径的读/写/执行Linux seccomp + Landlock
网络按主机名、端口、协议允许/阻止eBPF + nftables
进程限制 fork/exec、信号能力Linux seccomp-bpf
推理按模型端点允许/阻止应用层拦截
环境屏蔽环境变量、机密进程层隔离
时间限制执行挂钟时间进程 cgroup 配额

每个策略被编译成一个在内核中运行的 seccomp 过滤器,使执行既快速又安全。

OpenShell 策略长什么样?

策略使用 YAML 定义,语法清晰且声明式:

name: "code-review-agent"
version: "1.0"

filesystem:
  read:
    paths: ["/home/user/projects", "/usr/share/doc"]
  write: []
  execute: []

network:
  allow:
    - hostname: "api.github.com"
      port: 443
      protocol: "tcp"
  deny:
    - hostname: "*"
      port: "*"
      protocol: "*"

process:
  max_forks: 10
  allowed_executables: ["/usr/bin/git", "/usr/bin/python3"]

inference:
  allowed_models:
    - "nvidia/nemotron-4-340b-instruct"
  max_tokens_per_call: 4096
  max_calls_per_session: 100

此策略将代码审查代理限制为仅读取项目文件、仅调用 GitHub API 和 NVIDIA 推理端点,以及仅执行 git 和 Python。

支持哪些 AI 代理?

OpenShell 设计为可与任何能以子进程方式启动的 AI 代理搭配使用。

代理集成方式状态
Claude Code在沙盒内启动 CLI已支持
LangChain 代理Python SDK 集成已支持
AutoGPT在沙盒内启动 CLI已支持
自定义 Python 代理OpenShell Python API原生支持
任何代理二进制文件oshell run 通用

oshell CLI 工具可在沙盒上下文中启动任何命令:

# 在受限沙盒中启动 Claude Code
oshell run --policy code-review.yaml -- claude code

# 启动自定义代理
oshell run --policy data-analysis.yaml -- python agent.py

如何安装 OpenShell?

安装需要一个 Linux 系统,其内核支持所需的安全模块:

# 下载最新版本
curl -LO https://github.com/NVIDIA/OpenShell/releases/latest/download/oshell
chmod +x oshell
sudo mv oshell /usr/local/bin/

# 验证安装
oshell --version

Docker 镜像也可用于非 Linux 开发环境,但完整的安全执行需要原生 Linux 内核功能。

OpenShell 使用什么许可?

OpenShell 采用 Apache License 2.0 发布,这是 NVIDIA 的标准开源许可。这允许在商业和非商业项目中自由使用、修改和分发,并享有 NVIDIA 的专利保护。

常见问题

什么是 NVIDIA OpenShell?

OpenShell 是 NVIDIA 推出的开源 AI 代理沙盒运行环境,通过 Linux 内核功能强制执行安全策略。它通过声明式 YAML 策略控制文件系统、网络、进程和推理操作。

OpenShell 沙盒是如何运作的?

它使用 Linux seccomp、Landlock、eBPF 和 cgroups 在内核层级执行细粒度策略。每个策略被编译成一个 seccomp 过滤器,以实现快速、安全的执行。

OpenShell 策略长什么样?

策略以 YAML 定义,包含文件系统(读/写/执行路径)、网络(允许/阻止主机名和端口)、进程(fork 限制和允许的可执行文件)以及推理(允许的模型和代币限制)等部分。

支持哪些 AI 代理?

Claude Code、LangChain 代理、AutoGPT 以及任何能以子进程运行的自定义代理。oshell run 命令可将任何二进制文件或脚本包装在沙盒上下文中。

如何安装 OpenShell?

从 GitHub Releases 下载 oshell 二进制文件,设为可执行,并放置在 PATH 中。需要一个内核支持 seccomp、Landlock 和 eBPF 的 Linux 系统。

延伸阅读

TAG
CATEGORIES