随着自主 AI Agent 能力的增强,它们需要更广泛的权限才能发挥作用,例如与本地文件系统交互、管理软件安装以及与外部 API 进行身份验证。然而,提供这些能力往往会带来巨大的安全风险,因为 Agent 可能会窃取私有数据或执行未经授权的系统调用。NVIDIA 的 OpenShell 通过提供一个“安全、私有的运行时”来解决这一问题,Agent 在其中运行且受到严格定义的边界限制。OpenShell 不是授予广泛的权限,而是允许开发者为每个 Agent 声明特定的操作策略,并由系统在内核层面强制执行这些规则。
这张图片介绍了 OpenShell 项目,该项目为 AI Agent 提供“安全、私有的运行时”,使其在严格定义的边界内运行。
OpenShell 的架构依靠两种主要机制来确保安全性。首先,它使用内核级强制执行来监控每一次文件访问、系统调用和网络连接。这确保了 Agent 的行为被限制在其指定的沙箱内;例如,网络连接在离开沙箱之前会被拦截并根据策略进行检查。其次,OpenShell 引入了形式化验证来管理策略变更。在批准新的访问规则之前,系统使用形式化验证来标记高风险权限——例如授予 Agent 使用现有凭据访问新主机——从而允许人类对 Agent 能力中潜在的危险扩展进行审查。

OpenShell 的架构依靠内核级强制执行和形式化验证来确保 Agent 的行为被限制在其指定的沙箱内。
虽然 OpenShell 为管理 Agent 舰队提供了一个强大的框架,但它在 Agent 自主权方面引入了特定的权衡。由于运行时强制执行“默认拒绝”立场,Agent 在人类批准策略更新之前,可能会被阻止执行必要的动作。这在安全性与可用性之间建立了一种平衡:Agent 因为可以访问特定资源而变得更强大,但其“自由”受到预定义策略的严格管辖。此外,虽然该系统防止了未经授权的访问,但它本身并不能解决“提示注入”问题,即 Agent 可能会被操纵去执行在技术上“允许”但在逻辑上具有恶意行为的操作。用户仍必须仔细设计策略,以确保授予 Agent 的权限足以完成其任务,同时足够窄到能够最大限度地降低风险。

由于运行时强制执行“默认拒绝”立场,Agent 在人类批准策略更新之前,可能会被阻止执行必要的动作。