Agent Sandboxing
Узнай, как изоляция среды выполнения ИИ-агентов ограничивает их доступ к файлам и сетям и снижает риски, связанные с внедрением промптов, злоупотреблением инструментами и утечкой данных.
Изоляция среды выполнения агента — это запуск ИИ-агента, его инструментов или сгенерированного кода в среде с ограниченными возможностями. Песочница ограничивает доступ агента к файлам, сетям, учетным данным, процессам и вычислительным ресурсам. Если агент примет небезопасное решение или обработает вредоносные инструкции, эти ограничения уменьшат потенциальный ущерб для рабочих систем и конфиденциальных данных.
Как работает изоляция среды выполнения агента#
Часто агент работает через обвязку агента, которая связывает модель с инструментами, памятью, API и циклами выполнения. Песочница добавляет уровень контроля над этими возможностями. Вместо того чтобы полагаться на соблюдение моделью инструкций вроде «не обращаться к приватным файлам», среда выполнения технически блокирует такой доступ.
Практическая песочница может включать:
- Эфемерный контейнер или виртуальную машину, которые уничтожаются после выполнения задачи.
- Файловую систему с доступом только для чтения и небольшой рабочей областью, доступной для записи.
- Правила исходящего сетевого трафика, разрешающие подключение только к утвержденным доменам или внутренним сервисам.
- Краткосрочные учетные данные с правами, ограниченными текущим пользователем и задачей.
- Ограничения на использование CPU, памяти, хранилища и процессов, а также на время выполнения.
- Журналы аудита вызовов инструментов, изменений файлов, сетевых запросов и нарушений политик.
Средства Linux, такие как профиль seccomp по умолчанию в Docker, могут ограничивать системные вызовы, а ограничения ресурсов Docker — потребление ресурсов. В кластере сетевые политики Kubernetes позволяют контролировать, с какими сервисами взаимодействует рабочая нагрузка агента.
Зачем нужна изоляция среды выполнения агента#
Агенты могут выполнять действия с помощью вызова функций и использования инструментов, поэтому последствия их сбоев могут быть серьезнее, чем последствия неправильного ответа чат-бота. Агент для программирования может выполнять команды оболочки, а агент для операционных задач — обновлять записи или запускать развертывания.
В рекомендациях OWASP по безопасности ИИ-агентов перечислены такие риски, как злоупотребление инструментами, повышение привилегий, отравление памяти и утечка данных. Песочница помогает сдерживать эти угрозы, особенно когда агент сталкивается с инъекцией промпта, скрытой на веб-странице, в документе, метаданных изображения или ответе инструмента. В рекомендациях OWASP по предотвращению инъекций промптов предлагается использовать многоуровневую защиту, поскольку одна лишь фильтрация входных данных не позволяет надежно выявить все вредоносные инструкции.
Изоляция среды выполнения также помогает справиться с чрезмерной автономностью. Агент с ненужными инструментами, широкими полномочиями и неограниченной автономностью может нанести ущерб из-за ошибки модели или манипуляции входными данными. В рекомендациях OWASP по чрезмерной автономности советуют ограничивать функциональность инструментов, разрешения и автономность, а не полагаться только на поведение модели.
Изоляция среды выполнения и связанные механизмы контроля#
Изоляция среды выполнения агента дополняет другие механизмы безопасности, но не заменяет их:
- Механизмы защиты ИИ: Они проверяют входные и выходные данные или предлагаемые действия. Песочница обеспечивает соблюдение ограничений среды, даже если механизм защиты не обнаружит угрозу.
- Контроль доступа: Авторизация определяет, разрешено ли действие. Песочница ограничивает доступные ресурсы, если логику авторизации удастся обойти. В рекомендациях AWS по управлению идентификацией и доступом особое внимание уделяется временным учетным данным и принципу минимальных привилегий.
- Контейнеризация: Контейнеры упаковывают процессы и изолируют их, но стандартные настройки контейнеров не обязательно обеспечивают надежную границу безопасности. Краткое руководство Ultralytics по Docker помогает создавать согласованные изолированные среды компьютерного зрения, а для производственных песочниц требуются дополнительные ограничения файловой системы, разрешений, сети и ресурсов.
- Тестовые среды: «Песочница» для разработки — это непроизводственная копия системы. Изоляция среды выполнения агента специально ограничивает выполнение и может применяться как в разработке, так и в эксплуатации.
Навыки агентов Ultralytics предоставляют повторно используемые инструкции для агентов программирования, но сами по себе не создают границу изоляции. Скрипты и зависимости навыков всё равно нужно проверять и запускать с соответствующими разрешениями.
Примеры применения в реальных условиях#
Корпоративные агенты программирования: Агент программирования может изучать репозиторий, изменять файлы и запускать тесты во временной рабочей области. Песочница подключает только назначенный репозиторий, блокирует учетные данные для рабочих систем, ограничивает исходящий трафик утвержденными реестрами пакетов и требует одобрения человека перед слиянием изменений или развертыванием. Поэтому скомпрометированная зависимость или внедренная инструкция не смогут беспрепятственно просканировать внутреннее хранилище или передать исходный код.
Агенты для операционных задач с компьютерным зрением: Агент на складе может анализировать изображения с камер с помощью Ultralytics YOLO26, выявлять заблокированные проходы и создавать заявки на обслуживание. Песочница может предоставить доступ только для чтения к входящим изображениям и разрешить сетевое подключение только к API инференса и системы обработки заявок. Агенту не следует предоставлять неограниченный доступ к управлению камерами, кадровым данным или учетным данным для развертывания.
Этап распознавания можно реализовать с помощью описанного в документации процесса предсказания Ultralytics YOLO:
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("sandbox_result.jpg")
# Запусти визуальный инференс в ограниченной рабочей области
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))Код Python выполняет обычный инференс; песочницу обеспечивает окружающая среда выполнения, ограничивая доступ к файлам, сети, учетным данным и ресурсам.
Практические рекомендации по проектированию#
Начинай с полного отсутствия доступа и явно разрешай только то, что нужно для каждой задачи. Используй временные рабочие области, краткосрочные учетные данные, подключения только для чтения, списки разрешенных адресов для исходящего сетевого трафика, тайм-ауты и квоты ресурсов. Требуй одобрения для необратимых действий и выноси проверки авторизации за пределы модели.
Записывай в журнал каждую попытку выполнить действие, включая заблокированные операции, но не раскрывай в журналах секреты. Команды могут использовать мониторинг развертываний на платформе Ultralytics, чтобы отслеживать запросы к конечным точкам компьютерного зрения, задержку, ошибки и работоспособность в рабочих процессах агентов. Наконец, проверяй всю систему на вредоносных файлах, косвенных промптах, повторных вызовах инструментов и попытках исчерпать ресурсы. Практическое руководство по системе управления рисками ИИ NIST предлагает более широкую структуру для управления этими рисками, их оценки и постоянного контроля.









