NVIDIA опубликовала OpenShell: защищённую среду для ИИ-агентов

В репозитории NVIDIA/OpenShell на GitHub опубликован OpenShell, среда выполнения для «флотов» автономных ИИ-агентов. Её задача, дать агентам возможности, ради которых их и используют (читать файлы, устанавливать пакеты, вызывать API, пользоваться учётными данными), но не давать неограниченного доступа к данным, секретам и сети. Пользователь описывает в политике, к чему может обращаться каждый агент, а OpenShell эту политику принудительно применяет.
По описанию в README, управление построено на двух механизмах. Первый, контроль на уровне ядра: каждый агент работает в изолированной песочнице, средства ядра ограничивают, какие файлы ему доступны и какие системные вызовы он может делать, а каждое сетевое соединение проходит проверку по политике до выхода из песочницы. Агенты никогда не видят настоящих учётных данных: OpenShell подставляет их только в запросы к одобренным адресам.
Второй механизм, формально верифицируемые изменения политик. Перед одобрением изменения OpenShell с помощью формальной верификации выявляет рискованный новый доступ, например выход на новый хост с учётными данными или вызов нового метода API. Такие изменения ждут проверки человеком.
Для запуска нужны Linux, macOS на Apple Silicon или Windows с WSL 2 (последний вариант помечен как экспериментальный), а также Docker, Podman или виртуализация на хосте. Установка, одной командой через curl-скрипт, затем создаётся песочница командой openshell sandbox create. Установщик ставит CLI (командную строку) и локальный шлюз. Образ песочницы по умолчанию, минимальная Ubuntu без предустановленного агента; в учебном примере запускается OpenCode с бесплатной моделью через OpenRouter, и там же показано, как одобрять новый доступ по мере надобности агента. Шлюз можно развернуть в Kubernetes через Helm, при этом сетевой плагин (CNI) должен применять NetworkPolicy.
В документации описаны песочницы, политики (правила для файлов, сети и процессов, с «советником» и «доказателем» для проверки изменений), провайдеры учётных данных, шлюзы, а также расширяемость: middleware, перехватчики и драйверы вычислений. Для кодирующих агентов есть публичные навыки (skills), которые учат агента управлять CLI OpenShell, писать политики песочниц и отлаживать шлюзы и маршрутизацию инференса; ставятся командой npx skills add NVIDIA/OpenShell.
В начале README сообщается, что в ветке 0.1.x появились стабильный график выпусков, новые механизмы изоляции, расширенная поверхность для расширений и новые API; есть руководство по переходу на 0.1.0. Проект разрабатывается «агент-первым», теми же агентными рабочими процессами, которые он обслуживает. Он собирает анонимную телеметрию (только операционные категории и счётчики, без имён песочниц, хостов, путей к файлам, промптов, учётных данных, названий провайдеров и моделей, пользовательского содержимого); её отключают переменной OPENSHELL_TELEMETRY_ENABLED=false на шлюзе или значением server.telemetryEnabled=false в Helm, а также можно исключить при сборке. Лицензия, Apache 2.0, ПО поставляется «как есть».
Ключевые факты
- OpenShell, открытая (Apache 2.0) среда выполнения от NVIDIA для автономных ИИ-агентов: у каждого агента своя изолированная песочница и своя политика доступа.
- Политика применяется на уровне ядра к каждому обращению к файлам, системному вызову и сетевому соединению; соединения проверяются до выхода из песочницы.
- Агенты не видят настоящих учётных данных: OpenShell добавляет их только в запросы к одобренным адресам.
- Изменения политик проверяются формальной верификацией; рискованный новый доступ (новый хост с учётными данными, новый метод API) ждёт проверки человеком.
- Работает на Linux, macOS на Apple Silicon и Windows с WSL 2 (экспериментально); есть развёртывание в Kubernetes через Helm и анонимная телеметрия, которую можно отключить.
Почему это важно
Автономные агенты полезны именно тогда, когда могут читать файлы, ставить пакеты, ходить в API и использовать учётные данные, а это же делает их опасными. OpenShell предлагает ответ на уровне инфраструктуры: не полагаться на «хорошее поведение» агента, а ограничивать его политикой, которую обеспечивает ядро. Заметный элемент, проверка самих изменений политик формальной верификацией: рискованное расширение доступа не вступает в силу без решения человека. Проект исходит от NVIDIA и распространяется под Apache 2.0.
Кому это важно
Командам, которые запускают сразу много агентов или дают агентам доступ к рабочим данным, секретам и внутренним сервисам. Также разработчикам инструментов вокруг агентов: заявлена расширяемость (middleware, перехватчики, драйверы вычислений) и SDK для подключения приложений к шлюзу. Платформенным инженерам интересен вариант с Kubernetes и Helm.
Как это применить
Проект ставится одной командой установщика, затем создаётся песочница (openshell sandbox create --name demo). Нужны Linux, macOS на Apple Silicon или Windows с WSL 2 (экспериментально) и Docker, Podman либо виртуализация на хосте. Образ по умолчанию, минимальная Ubuntu без агента; в руководстве «Первый агент» запускается OpenCode с бесплатной моделью OpenRouter и показано, как одобрять новый доступ. Для кодирующего агента можно поставить публичные навыки командой npx skills add NVIDIA/OpenShell. В Kubernetes шлюз разворачивается через Helm, а CNI обязан применять NetworkPolicy. Лицензия, Apache 2.0.
Можно ли доверять
Источник, README официального репозитория NVIDIA, текст без подписи; все утверждения о защите, это описание самого проекта. В тексте нет замеров накладных расходов, результатов независимого аудита безопасности, названий внедрений и клиентов. Не названы ни механизм ядра, ни инструмент формальной верификации, поэтому оценить стойкость защиты по одному README нельзя. Детали новых механизмов изоляции, расширений и API в 0.1.x ограничены одной строкой анонса.
Риски и подводные камни
Поддержка Windows через WSL 2 помечена как экспериментальная. Проект находится в линейке 0.1.x, то есть на раннем этапе версий. Образ песочницы по умолчанию пуст: безопасность зависит от того, как именно вы напишете политики, и рискованные изменения требуют участия человека. В дисклеймере сказано, что ПО автоматически получает внешние материалы под отдельными условиями, ответственность за их проверку лежит на пользователе, а само ПО поставляется «как есть» без гарантий. Телеметрия включена по умолчанию, её нужно отключать явно.
«Агенты никогда не видят настоящих учётных данных; OpenShell добавляет их только в запросы к одобренным адресам.»
— README проекта NVIDIA/OpenShell