NVIDIA OpenShell: как ограничить доступ ИИ-агентов

Как NVIDIA OpenShell ограничивает доступ ИИ-агентов к файлам, сети и секретам: поддерживаемые платформы, запуск OpenCode и проверка политик безопасности.

Опубликовано

Автор
NVIDIA OpenShell: как ограничить доступ ИИ-агентов

Агенту для работы с кодом можно выделить рабочее пространство и доступ к нужным сервисам, не отдавая ему всю машину. NVIDIA OpenShell задаёт для уже существующего агента принудительные ограничения: какие файлы он может использовать, какие сетевые запросы отправлять и где применять учётные данные. На практике это даёт воспроизводимую конфигурацию прав, которую платформенная команда может проверить ещё до начала работы агентов.

Как работает NVIDIA OpenShell

OpenShell — среда выполнения с открытым исходным кодом: она запускает агента и контролирует его доступ. Она работает под агентом, не заменяя его рассуждения или инструменты.

Представьте подрядчика, который работает в здании. Ему выделяют мастерскую, разрешают входить в определённые помещения и связываться с определёнными поставщиками. Генеральный ключ ему не выдают только потому, что в задании написано «будьте осторожны». OpenShell создаёт такие границы для программных агентов.

В обзоре среды выполнения описаны ограничения файловой системы, сети и процессов, а также защита учётных данных провайдеров. Landlock — механизм ядра Linux, ограничивающий доступ к файлам; seccomp ограничивает системные вызовы, то есть низкоуровневые обращения программы к операционной системе. Эти ограничения применяются независимо от рассуждений агента.

Шлюз управляет песочницами и доступом. Супервизор за пределами песочницы сверяет исходящие запросы с политикой и подставляет учётные данные там, где это разрешено. Инструмент проверки политик сопоставляет смоделированные разрешения с заданными границами. Всё это контролирует, что агенту разрешено делать, но не гарантирует правильность разрешённой работы.

Рабочая зона агента связана с файлами, сетью и учётными данными с ограниченной областью действия через отдельные точки контроля.
Условная схема границ доступа: каждый маршрут требует разрешения. Комнаты обозначают механизмы контроля, а не буквальные компоненты программы.

NVIDIA описывает варианты запуска для Claude Code, Codex, GitHub Copilot CLI, Hermes, LangChain Deep Agents, OpenClaw и OpenCode, а также для собственных агентов и образов. «Поддерживается» не означает, что все инструменты уже установлены: по умолчанию сейчас используется минимальный образ Ubuntu без CLI агентов — программ командной строки, через которые их запускают.

Для бизнеса главное изменение — возможность повторно использовать настройки прав. Без общих границ каждый новый сценарий работы агента может потребовать заново решать, какие файлы, секреты и сервисы ему открыть. С ними команда может включить эти решения в конфигурацию рабочей среды и проверять изменения. Эффект стоит измерять в часах инженеров, потраченных на настройку доступа и устранение помех в работе: подтверждённой универсальной цифры экономии времени здесь нет.

Где OpenShell можно запустить сейчас

Выбирайте хост по актуальной матрице поддержки. Этот разбор опирается на документацию с пометкой v0.1.7, проверенную 8 ноября 2026 года.

ХостТекущий статус по документации
Debian/Ubuntu Linux, x86_64 или ARM64Поддерживается
macOS на Apple Silicon с Docker DesktopПоддерживается
Windows x86_64 с WSL 2 и Docker DesktopЭкспериментальная поддержка
Нативная Windows x64 или ARM64 с MXCРазработка в ветке windows; не прошла квалификацию для промышленной эксплуатации

WSL 2 запускает среду Linux в Windows. MXC — отдельный вариант нативной изоляции в Windows. Поэтому «поддержка Windows» не означает один взаимозаменяемый способ установки.

В анонсе сотрудничества по Windows описан перенос OpenShell на Windows через MXC. Само направление развития платформы ещё не означает наличия обычного стабильного установщика для нативного запуска. В текущей документации по установке прямо сказано: стандартные каналы релизов не предоставляют нативные исполняемые файлы для Windows.

Для первого знакомства выберите поддерживаемую конфигурацию Linux или Apple Silicon. В матрице поддержки также указаны требования к ядру и среде выполнения: необходимый ABI Landlock появился в Linux 6.2, но одной версии ядра недостаточно. Среда выполнения должна пройти обязательные проверки. В варианте с Docker Desktop на macOS эти механизмы Linux работают внутри его виртуальной машины Linux. Процессоры NVIDIA Vera не обязательны.

Как установить CLI и запустить первого агента

Начните с примера OpenCode из документации NVIDIA. В нём наглядно показаны три составляющие: провайдер для доступа к сервису, образ с агентом и песочница для его запуска. Ниже приведены шаги по документации, а не отчёт о локальном тестировании.

1. Подготовьте хост и установите OpenShell. Для варианта с Docker нужен запущенный Docker Desktop либо Docker Engine 28.0 или новее. На поддерживаемых Linux и macOS руководство по установке предлагает команду curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh. Прежде чем запускать установщик, изучите его. Он устанавливает CLI, инструмент проверки политик и локальный шлюз. Команда openshell status позволяет убедиться, что CLI видит шлюз.

2. Настройте сервис модели. В примере используется OpenRouter. Перед созданием провайдера задайте OPENROUTER_API_KEY в окружении хоста. Профиль провайдера описывает разрешённые адреса сервисов и пути к исполняемым файлам; сам провайдер хранит учётные данные. В примере профиля NVIDIA программе /usr/local/bin/opencode разрешено обращаться к openrouter.ai.

3. Импортируйте профиль, создайте провайдера и запустите образ. Выполните на хосте следующие команды по порядку:

Shell
openshell profile import \
  --url https://raw.githubusercontent.com/NVIDIA/OpenShell/main/providers/openrouter.yaml
openshell provider create \
  --name openrouter --type openrouter --from-existing
openshell sandbox create \
  --name my-agent \
  --from ghcr.io/anomalyco/opencode:latest \
  --provider openrouter \
  -- opencode -m openrouter/nvidia/nemotron-3.5-lightning:free

OpenCode уже находится в образе; команда после -- запускает его как основной процесс. В руководстве по запуску первого агента используется эта бесплатная модель, для которой не требуется пополнять баланс OpenRouter. Это выбор модели в конкретном примере, а не обещание бесплатного использования любых моделей.

4. Проверяйте запросы доступа с хоста. Когда агент пытается обратиться к неразрешённому адресу, OpenShell отклоняет запрос и готовит предложение узкого правила. Выполните openshell rule get my-agent --status pending. Если предложение соответствует доступу, необходимому для задачи, одобрите именно его командой openshell rule approve my-agent --chunk-id <chunk-id>, подставив фактический ID вместо заполнителя. Правило перезагрузится, и агент сможет повторить попытку.

5. Посмотрите, какие права вы действительно выдали. Выполните openshell policy get my-agent --base, затем openshell policy get my-agent --full. Первая команда показывает базовую политику, вторая — политику с правилами, добавленными провайдерами. Прежде чем подключать реальный проект или чувствительный сервис, проверьте итоговые разрешения.

После пробного запуска удалите ненужную песочницу командой openshell sandbox delete my-agent.

Какие политики можно менять без перезапуска?

Сетевой доступ можно менять по ходу задачи. Чтобы изменить границы файловой системы и процессов, нужно создать новую песочницу.

Что контролируетсяКак применяются изменения
Пути файловой системы и поведение LandlockЗадаются при запуске; для изменения фактического доступа нужно пересоздать песочницу
Пользователь и группа процессаЗадаются при создании; для изменения нужно пересоздать песочницу
Сетевые адреса и правила запросовПерезагружаются во время работы песочницы
Сетевые промежуточные обработчики, дополнительный анализ или преобразование трафикаПерезагружаются на ходу для встроенных обработчиков и уже зарегистрированных внешних сервисов
Подключение провайдера, ротация или отзыв учётных данныхОбновляются во время работы; для новых переменных окружения нужен новый процесс

Изменения «на ходу» всё равно имеют последствия. Новые сетевые правила закрывают соединения, открытые при старых правилах, поэтому клиентам нужно подключаться заново. Для регистрации нового внешнего промежуточного сервиса требуется изменить конфигурацию шлюза и перезапустить его. Добавление пути файловой системы в сохранённую политику не открывает его уже работающей нагрузке; удаление путей или изменение стартовых настроек после запуска отклоняется. Эти различия разобраны в руководстве по управлению политиками.

Неподвижные комнаты обозначают настройки файловой системы и процессов, а раздвижные ворота — сетевые правила и промежуточные обработчики, меняющиеся на ходу.
Планируйте права на файлы и процессы до запуска. Сетевые правила и подходящие промежуточные обработчики можно менять во время задачи.

Ещё одна ловушка: отсутствие файла политики не означает отсутствие доступа. Политика может поступать из образа, настройки окружения или общей политики шлюза. Подключённые провайдеры могут добавлять сетевые правила. В правилах выбора политики также прямо указано: глобальная политика заменяет собственную политику песочницы, а не просто добавляет ещё один ограничивающий слой.

Понятная политика доступа для агента, работающего с кодом

Прежде чем разрешать агенту публиковать изменения, выделите ему каталог проекта с правом записи и доступ к API только для чтения, чтобы он мог исправлять ошибки.

Ниже — пример политики для подготовленного образа с инструментами разработки, где проект находится в /workspace, а curl установлен в /usr/bin/curl. Сохраните её как policy.yaml и передайте --policy ./policy.yaml при создании новой песочницы. Это шаблон под такую структуру образа, а не универсальная замена политики для любого образа агента:

YAML
version: 1
filesystem_policy:
  include_workdir: false
  read_only: [/usr, /lib, /etc]
  read_write: [/workspace, /tmp]
landlock:
  compatibility: hard_requirement
network_policies:
  github_readonly:
    endpoints:
      - host: api.github.com
        port: 443
        protocol: rest
        enforcement: enforce
        access: read-only
    binaries:
      - path: /usr/bin/curl

Агент может редактировать проект и временные файлы. Сетевое правило разрешает указанному исполняемому файлу отправлять запросы GET, HEAD и OPTIONS к GitHub API. Оно не даёт произвольным программам доступ в интернет, не разрешает скачивание пакетов и не предоставляет возможность Git push. Провайдер модели настраивается отдельно.

Подготовьте все каталоги состояния агента, куда образу нужна запись, и добавьте их явно. Эти пути относятся к файловой системе песочницы. Не стоит считать, что одноимённый каталог хоста автоматически доступен внутри. Кроме того, для нагрузок с сетевым доступом добавляются базовые пути файловой системы, поэтому короткий YAML не означает, что итоговые границы ограничиваются только перечисленными в нём путями.

Особого внимания заслуживают две настройки. hard_requirement останавливает запуск, если заданные пользователем правила файловой системы невозможно применить, хотя отдельные отсутствующие или недоступные пути всё равно могут быть пропущены. enforcement: enforce блокирует запрещённые запросы, проходящие проверку; предусмотренный схемой режим по умолчанию audit записывает нарушения в журнал, но пропускает такие запросы. Перед адаптацией шаблона изучите справочник схемы политики.

Проверяйте и разрешение, и отказ. В руководстве NVIDIA по сетевой политике сначала проверяется, что curl -s https://api.github.com/zen проходит при правиле только для чтения, а затем — что POST блокируется. С хоста просмотрите журнал командой openshell logs my-agent --since 5m --source sandbox. Для своего проекта также проверьте запись в разрешённый файл и попытку доступа к файлу за установленными границами. Успешный запуск агента сам по себе не служит приёмочным испытанием политики безопасности.

Пять сценариев, с которых стоит начать

Для первых запусков лучше выбирать задачи с чёткими границами и человеком, способным оценить результат. Ниже — варианты в порядке вероятной практической пользы:

Для когоЧто может запустить командаВ чём возможная польза
Платформенная команда, внедряющая агентов для работы с кодомСобрать рабочее пространство проекта, одобренного провайдера модели и проверенные сетевые правила в воспроизводимую средуСократить повторную настройку доступа и сделать исключения заметными
Сопровождающий, разбирающий незнакомые репозиторииДать агенту изучить код и подготовить патч во временном рабочем пространстве с узким исходящим доступомОграничить среду исследования, пока сопровождающий проверяет патч
Команда эксплуатации, расследующая инцидентыПредоставить выбранные диагностические файлы и доступ к API только для чтения; запросить план устранения проблемыОтделить диагностику от разрешения менять рабочую систему
Команда разработки, использующая частные сервисы моделейНастроить одобренный адрес провайдера и ограничить список исполняемых файлов агента, которым он доступенВключить решение о доступе к модели в инфраструктурную политику
Внутренняя команда инструментов разработки, тестирующая релизы агентовЗапускать одну и ту же задачу и проверки прав для каждого подготовленного образаВыявлять изменившиеся требования к доступу до внедрения образа

Ни один из этих сценариев не гарантирует правильность сгенерированного кода или надёжность диагноза инцидента. Польза — в сужении круга возможных действий во время работы агента. Для более широкого выбора инструментов смотрите лучшие инструменты безопасности песочниц для ИИ в 2026 году, а для выбора платформы выполнения — лучшие песочницы для выполнения кода ИИ-агентов в 2026 году.

Два продукта, которые можно построить вокруг OpenShell

Самая перспективная идея — комплект для внедрения агентов разработки в команде. Его покупатель — руководитель платформенной команды, которому нужно дать разработчикам продуктивно работать в одобренной среде. По оценке DataForSEO, запрос «claude code sandbox» набирает 1,300 поисков в месяц на рынке, данные по которому вернул запрос для исходной статьи. Это признак интереса к настройке, а не 1,300 потенциальных клиентов; к тому же часть пользователей ищет собственную песочницу агента, а не OpenShell.

Минимальная версия, которую можно продавать, могла бы поддерживать одного агента и одну одобренную конфигурацию хоста: подготовленный образ, проверенную политику, список шагов настройки провайдера и воспроизводимые тесты разрешений и отказов. Продавать стоит работающее внедрение для команды с чёткой ответственностью за обновления. Сложность — в сопровождении: пути внутри образов, поведение агентов и экспериментальные интерфейсы могут меняться. Прежде чем создавать облачный продукт, обсудите эту нагрузку с руководителями платформенных команд.

Вторая идея — рабочая среда для проверки политик. Команды безопасности могли бы видеть в ней, что разрешает итоговая политика, сравнивать изменения и фиксировать согласования. По оценке DataForSEO, запрос «ai agent security» набирает 480 поисков в месяц, а «ai agent security tools» — 70. Эти отдельные широкие запросы сигнализируют о спросе; складывать их как число уникальных покупателей нельзя.

MVP мог бы импортировать базовые и итоговые политики, подсвечивать добавленные адреса и права на запросы, а также прикреплять результаты тестов к записи о проверке. Главная сложность — отличие от существующих возможностей: в OpenShell уже есть анализ политик, предложения правил и журналы. Продукт должен улучшать процесс проверки в команде, а не просто прятать существующие команды за панелью управления. Начать лучше с комплекта внедрения: для него проще определить покупателя и конкретный результат поставки.

Какие задачи OpenShell не решает

OpenShell ограничивает доступ, но не определяет, разумно ли разрешённое действие с точки зрения бизнеса. Агент с правом записи в файлы проекта всё ещё может написать плохой патч. Одобренный внешний адрес всё ещё может получить данные, передачу которых допускает ваша политика. Доступ к файлам и разрешённые адреса должны соответствовать тому, что вы действительно готовы открыть.

OpenShell также не заменяет системы управления идентификацией, хранилища секретов, мониторинг и организационные процедуры контроля. В анонсе механизмов контроля среды выполнения NVIDIA подчёркивает, что ограничения применяются вне рабочей среды агента. Рассматривайте это как часть общей системы, а не повод отказаться от остальных её элементов.

У проекта уже есть стабильные релизы, предназначенные для промышленного использования в рамках матрицы поддержки, поэтому называть весь OpenShell экспериментальной демонстрацией было бы неверно. Ограничения конкретнее: экспериментальные интерфейсы могут меняться в патч-релизах, нативная версия для Windows остаётся в разработке, а NVIDIA указывает, что текущий профиль квалификационных проверок не охватывает всю политику квалификации релизов. Фиксируйте развёртываемые версии и проверяйте конкретное сочетание нагрузки и хоста.

Можно ли запустить Claude Code в песочнице OpenShell на Windows?

Документированный способ запуска Linux в Windows — WSL 2 вместе с Docker Desktop на x86_64; он отмечен как экспериментальный. Нативный запуск Windows через MXC — отдельное направление разработки, не прошедшее квалификацию для промышленной эксплуатации. Образ песочницы должен содержать самого агента и его инструменты.

Гарантирует ли OpenShell, что агент для работы с кодом не сможет выйти из песочницы?

Эти механизмы не дают абсолютной гарантии. OpenShell применяет ограничения файлов, процессов и сети независимо от рассуждений агента, но это не доказывает отсутствие уязвимостей и не делает чрезмерно широкую политику безопасной. Проверяйте реальную среду и выданные права.

Какую роль Docker играет в конфигурации OpenShell для Claude Code?

Docker — одна из поддерживаемых сред выполнения под OpenShell. OpenShell добавляет применение политик для агентов, работу с учётными данными провайдеров, координацию через шлюз и надзор за выполнением. Выберите образ с Claude Code и настройте его сервисы: стандартный образ Ubuntu не включает агента.

Что сделать в понедельник: поручите руководителю платформенной команды выбрать один репозиторий без чувствительных данных и одного агента. Установите OpenShell на поддерживаемом хосте, подготовьте образ, задайте доступ к файлам и сети, затем проверьте разрешённую и заблокированную операции. В течение первой недели фиксируйте время настройки и часы инженеров, потраченные на устранение помех в работе. Расширяйте доступ только тогда, когда команда сможет объяснить каждое выданное разрешение.

Если вы хотите встроить это в рабочие процессы команды, мы поможем внедрить механизмы контроля для промышленной эксплуатации.

Опубликовано
Категория
Build
Похожие статьи
Альтернативы Airtable в 2026 году: 7 сервисов для разных задач

Альтернативы Airtable в 2026 году: 7 сервисов для разных задач

Альтернативы Airtable для баз данных, проектов и клиентских порталов: сравниваем цены, лимиты, API и автоматизации Baserow, NocoDB, SeaTable и других.10 нояб. 2026 г.Build
Лучшие прокси в 2026 году: сравнение Bright Data, Oxylabs, Decodo, Webshare, ThorData, IPRoyal и NetNut

Лучшие прокси в 2026 году: сравнение Bright Data, Oxylabs, Decodo, Webshare, ThorData, IPRoyal и NetNut

Сравниваем Bright Data, Oxylabs, Decodo и другие прокси для парсинга: цены в USD, резидентные и дата-центровые IP, условия теста и проверки KYC.10 нояб. 2026 г.Build
Тарифы CodeRabbit: стоимость для команды, лимиты и доплаты

Тарифы CodeRabbit: стоимость для команды, лимиты и доплаты

Тарифы CodeRabbit: Essentials, Team и Advanced, расчёты для команд, лимиты ревью и доплаты. Узнайте, за какие места платить и когда выгодна годовая подписка.9 нояб. 2026 г.Build
Как выбрать антивирус для малого бизнеса в 2026 году: сравнение шести решений

Как выбрать антивирус для малого бизнеса в 2026 году: сравнение шести решений

Сравниваем Bitdefender, Microsoft, ESET, Sophos, CrowdStrike и Malwarebytes: цены, лицензии и условия защиты малого бизнеса. Кому нужен антивирус, а кому MDR?8 нояб. 2026 г.Build
Paperclip AI: обзор платформы для управления ИИ-агентами

Paperclip AI: обзор платформы для управления ИИ-агентами

Разбираем Paperclip AI: координацию ИИ-агентов, установку, бюджеты и согласования. Кому стоит попробовать платформу и что проверить перед первым запуском.7 нояб. 2026 г.Build
Что такое Supabase: бэкенд приложения, созданного с ИИ

Что такое Supabase: бэкенд приложения, созданного с ИИ

Что такое Supabase и как он работает с ИИ-конструкторами: база Postgres, вход, файлы, RLS, контроль проекта и перенос данных. Что проверить перед запуском.7 нояб. 2026 г.Build
Редактор кода с ИИ: что выбрать в 2026 году — от Cursor до JetBrains AI

Редактор кода с ИИ: что выбрать в 2026 году — от Cursor до JetBrains AI

Сравниваем Cursor, Windsurf, Zed, VS Code, Kiro и JetBrains AI: агенты, модели, цены, конфиденциальность и ограничения, важные для разработчиков и команд.6 нояб. 2026 г.Build
Activepieces: обзор автоматизации, тарифов и установки на своём сервере

Activepieces: обзор автоматизации, тарифов и установки на своём сервере

Разбираем Activepieces: интеграции, ИИ-агенты, тарифы и установка на своём сервере. Пошаговый сценарий Sheets → Slack и условия перехода с Zapier и Make.6 нояб. 2026 г.Build
Рассылка

Одно письмо, каждое воскресенье.Работающие системы, а не горячие мнения.

Еженедельно. Без спама. Отписка в любой момент.