Проблема безопасности автономных агентов
Автономные AI-агенты становятся всё более полезными, когда они могут самостоятельно читать файлы, устанавливать пакеты, вызывать API и использовать учетные данные. Однако предоставление им таких прав создает критические риски: утечку секретов, несанкционированный доступ к сети или повреждение данных. NVIDIA решила эту проблему, выпустив OpenShell — безопасную среду выполнения (runtime) для флотов агентов, которая позволяет давать агентам необходимые инструменты, но строго ограничивает их доступ к данным и сети.
Как работает OpenShell: два уровня защиты
Платформа использует гибридный подход для обеспечения безопасности, сочетая технические ограничения на уровне операционной системы с математически строгими методами проверки:
- Принудительное исполнение на уровне ядра (Kernel-level enforcement): Каждый агент запускается в изолированной песочнице. Ядро Linux контролирует, к каким файлам и системным вызовам он имеет доступ. Каждое сетевое соединение проходит проверку политики перед выходом из песочницы. Агенты никогда не видят реальных учетных данных; OpenShell подставляет их только в запросы, направленные на утвержденные конечные точки.
- Формально верифицируемые изменения политик: Перед тем как изменение политики будет одобрено, система использует формальную верификацию. Это позволяет заранее выявить рискованные новые права доступа, такие как доступ к новому хосту с учетными данными или вызов нового метода API. Такие изменения требуют ручного подтверждения человеком.
Технические детали и архитектура
OpenShell 0.1.x представляет собой стабильный релиз с расширенной поверхностью расширений и новыми API. Архитектура включает в себя шлюз (gateway), супервизор и песочницы. Система поддерживает развертывание через Helm в Kubernetes, требуя от CNI (Container Network Interface) обеспечения NetworkPolicy.
Платформа поддерживает несколько языков программирования через SDK, что позволяет интегрировать безопасность в существующие приложения:
| Язык | Команда установки | Документация |
|---|---|---|
| Python | uv add openshell |
README |
| TypeScript | npm install @nvidia/openshell-sdk |
GitHub Packages |
| Go | go get github.com/NVIDIA/OpenShell/sdk/go@latest |
README |
| Rust | cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag> |
README |
Практическое применение и совместимость
OpenShell работает на Linux, macOS (Apple Silicon) и Windows (через WSL 2, экспериментально). Для запуска требуется Docker, Podman или виртуализация на хосте. Установка осуществляется через скрипт:
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo
По умолчанию создается минимальный образ Ubuntu. Для тестирования агентов NVIDIA рекомендует использовать OpenCode с бесплатными моделями через OpenRouter. Также доступна установка «навыков» (skills) для агентов, которые учат их управлять CLI OpenShell, писать политики и отлаживать шлюзы.
Прозрачность и лицензирование
Проект распространяется под лицензией Apache License 2.0. NVIDIA собирает анонимную телеметрию (только операционные категории и количество запросов) для улучшения продукта, не собирая имена песочниц, пути к файлам, промпты или учетные данные. Пользователь может отключить телеметрию переменной OPENSHELL_TELEMETRY_ENABLED=false или скомпилировать её отсутствие.
Источник: Github ↗
