Политика безопасности ИИ-агентов учится на основе трафика

Политика безопасности ИИ-агентов учится на основе трафика

Источник: VentureBeat · Taryn Plumb

OpenClaw стал одним из самых популярных фреймворков для создания автономных агентов, однако ему еще только предстоит доказать свою пригодность для масштабного корпоративного использования. Агентам требуются реальные учетные данные — ключи API, токены OAuth, сервисные аккаунты — для эффективной работы, и в Brex выяснили, что традиционные защитные механизмы не справляются с тем, как агенты их используют.

Компания Brex решила преодолеть эти ограничения, создав внутреннюю платформу под названием CrabTrap. Этот открытый HTTP/HTTPS-прокси перехватывает весь сетевой трафик, проверяет правила политик и использует языковую модель в качестве арбитра (LLM-as-a-judge) для принятия решений об одобрении или отклонении запросов агентов. 

«Мы заметили, что сетевой уровень представляет собой неиспользуемую точку контроля, — рассказал VentureBeat соучредитель и генеральный директор Brex Педро Франчески (Pedro Franceschi). — Каждый запрос, совершаемый агентом, — это возможность перехватить его, проанализировать и принять решение на основе политик».

Главный вывод, который ИТ-лидеры должны сделать из этого, по мнению Франчески: управление агентами должно сместиться от разрешений на уровне SDK и защитных барьеров модели к централизованной плоскости сетевого контроля, которая обеспечивает соблюдение правил и обучается на реальном поведении агентов «в дикой природе».

Как в Brex задействовали транспортный уровень

«Очевидным решением» (по крайней мере, изначально) для ликвидации пробелов в безопасности агентов казались защитные барьеры (guardrails), и большая часть ранней работы была сосредоточена на ограниченных инструментах, разрешениях для каждого отдельного действия и одобрениях с участием человека. Но по мере эволюции агентов каждая новая функция означает появление еще одного API, который нужно настраивать или выводить на аудит, отметил Франчески. 

«Любая агентная система с несколькими инструментами и доступом к открытому интернету создает для разработчиков неминуемое противоречие: чем более способным вы делаете агента, тем опаснее он становится, а чем безопаснее вы его делаете, тем он бесполезнее», — заявил он. 

Существующие решения этого компромисса были «слабыми»: детализированные токены API помогают по краям, но их все равно можно использовать не по назначению, к тому же они ограничивают функциональность. Семантические защитные механизмы (такие как контекст, навыки или подсказки) легко обходятся с помощью инъекций промптов (prompt injection), особенно для агентов, подключенных к интернету.

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

Шлюзы протокола контекста модели (MCP) обеспечивают соблюдение политик на уровне протокола — но только для трафика, использующего MCP. Между тем, защитные механизмы от провайдеров LLM привязаны к одной модели, и их кастомизация под специфические корпоративные политики может быть «непрозрачной». А мощные инструменты вроде Nvidia OpenShell предлагают скорее «контроль исходящего трафика для каждой песочницы в отдельности».

«Когда мы начинали, мы еще не нашли решения для безопасного развертывания таких платформ, как OpenClaw, — сказал Франчески. — Вместо того чтобы ждать, пока индустрия подтянется, мы решили взять проблему на себя и изобрести необходимые инструменты».

В частности, им потребовалась платформа, которая располагалась бы между каждым агентом и каждым сетевым запросом и могла принимать «нюансированные решения о том, что разрешать», отметил он. 

Благодаря этому транспортный уровень стал ключевым архитектурным компонентом и естественной отправной точкой, добавил он. 

Работая на этом уровне, CrabTrap не зависит от конкретных фреймворков, языков программирования и API. Он не требует оберток SDK или интеграции с каждым отдельным инструментом. Пользователи устанавливают переменные HTTP_PROXY и HTTPS_PROXY в окружении агента, и каждый исходящий запрос направляется через прокси-сервер до того, как достигнет пункта назначения.

Тем не менее, подчеркнул Франчески, в Brex обратились к транспортному уровню не потому, что считали его единственным ответом; скорее, они верят в «эшелонированную безопасность».

«Транспортный уровень просто был недофинансирован и обделен вниманием, и мы увидели возможность добавить там эффективный контроль в дополнение ко всему остальному», — пояснил он. 

Цикл обучения LLM-в-роли-судьи

CrabTrap сочетает детерминированные статические правила с подходом LLM-в-роли-судьи для запросов, которые выходят за рамки известных паттернов, пояснил Франчески. Судья «срабатывает только для длинного хвоста незнакомых эндпоинтов или необычных форм запросов», что для зрелого агента обычно составляет менее 3% запросов.

Более насущной проблемой было то, как понять, является ли политика правильной? Со статическими правилами рассуждать об их точности «относительно просто». Но с судьей на базе LLM система становится недетерминированной, и пользователям нужна уверенность в том, что политика одобряет правильные запросы и блокирует остальные.

«Нашей ключевой идеей было формировать политику на основе наблюдаемого поведения, а не писать ее с нуля», — сказал Франчески. Начало с реального поведения и его корректировка на основе реального опыта оказались «драматически эффективнее, чем начинать с чистого листа».

Команда Brex создала инструмент для генерации политик (по сути, представляющий собой собственный агентный цикл), который запускает базовых агентов в фоновом (shadow) режиме, анализирует исторический сетевой трафик, делает выборку показательных вызовов и формирует проект политики на естественном языке, соответствующий реальным действиям агента. 

На этой основе они создали систему тестирования, которая проверяет изменения политик перед их запуском в производство. CrabTrap сравнивает исторические записи аудита с проектом политики и сообщает об точных изменениях, которые предстоит внести. Пользователи могут фильтровать результаты по методу, URL, исходному решению и статусу согласования. 

Все это работает с параллельными вызовами модели-судьи, поэтому воспроизведение тысяч запросов «занимает минуты, а не часы», отметил Франчески. В Brex также разработали цикл обратной связи в реальном времени: полные журналы аудита сохраняются в PostgreSQL и доступны для запросов через административный API и дашборд. В случаях, когда доступ к какому-либо ресурсу постоянно отклоняется, система может уведомить человека или агента с предложением обновить политику для ее последующего рассмотрения. 

«Это замыкает цикл между наблюдаемыми отказами и доработкой политик», — подчеркнул Франчески. 

Основные проблемы и препятствия 

Разумеется, разработка не обошлась без трудностей. Одной из главных стала задержка (latency): «Внедрение LLM между агентом и каждым исходящим запросом API звучит так, будто все должно полностью затормозить», — сказал он. 

Однако на практике проблема оказалась не столь серьезной по двум причинам. Во-первых, модель-судья активируется лишь для небольшой доли запросов (те самые 3%). Агенты быстро переходят к предсказуемым паттернам трафика; как только они замечены, высокочастотные паттерны превращаются в статические правила. Во-вторых, использование небольших и быстрых моделей вроде Claude Haiku означает, что даже при срабатывании судьи дополнительная задержка была «незначительной». Ее можно еще больше сократить с помощью локальных моделей и кэширования промптов, отметил Франчески.

Более сложной и неочевидной задачей были инъекции промптов, добавил он. Судья получает полный HTTP-запрос, и весь контент контролируется пользователем, поэтому потенциально созданный специально под это URL, заголовок или тело запроса могли бы манипулировать решением судьи. 

В Brex решили эту проблему путем структурирования запроса в виде объекта JSON перед отправкой модели, благодаря чему весь контролируемый пользователем контент «экранируется, а не интерполируется как сырой текст», пояснил Франчески. 

Результаты и перспективы эволюции CrabTrap

В Brex отслеживают несколько факторов для оценки внутреннего влияния CrabTrap: вовлеченность агентов, паттерны сетевого трафика и индекс потребительской лояльности (NPS). Самым значимым результатом внедрения CrabTrap стала «уверенность на уровне организации», заявил Франчески. 

Ранее команда испытывала «серьезные сомнения» при развертывании автономных агентов во всех бизнес-процессах, поскольку существующие варианты защитных барьеров не предоставляли достаточных гарантий. 

«CrabTrap изменил этот расклад», — сказал Франчески. Теперь у них есть уровень контроля, которому они доверяют, что повышает уверенность в расширении развертывания агентов на новые сферы бизнеса и делегировании пользователям задач по их настройке и управлению. 

Франчески охарактеризовал политики, полученные на основе анализа трафика, как «удивительно надежные». Команда ожидала, что генератор политик выдаст «грубый черновой вариант», требующий масштабной ручной правки. На практике же применение платформы к накопленным за несколько дней данным о реальном трафике позволило создать политики, которые совпадали с человеческими оценками в «абсолютном большинстве отложенных тестовых запросов».

Кроме того, CrabTrap выявил, как много лишнего шума генерируют агенты. «Журнал аудита сделал это видимым впервые», — отметил Франчески. Логи отказов и анализ трафика использовались не только для настройки политик, но и для оптимизации самих агентов, удаления лишних инструментов и устранения целых категорий запросов, которые впустую тратили время и токены.

«Прокси-сервер стал инструментом обнаружения, а не только средством контроля», — подчеркнул он. 

Направления для роста (и вклад открытого сообщества)

В Brex ожидают дальнейшего развития CrabTrap, особенно учитывая то, что проект был выпущен в открытом доступе. «Мы надеемся, что сообщество поможет сформировать его облик», — сказал Франчески. 

Среди областей для улучшений — более глубокая функциональность аутентификации, такая как единый вход (SSO), детальный контроль доступа на основе ролей (RBAC); рабочие процессы эскалации, позволяющие агентам запрашивать дополнительные разрешения; а также рекомендации по политикам на основе паттернов отказов.

Программная конфигурация или разработка эндпоинтов API для «создания, форканья и применения» политик к агентам могли бы позволить автоматизировать весь жизненный цикл политик, вместо того чтобы управлять им вручную, считает Франчески. 

Что касается эскалации, то если агенту постоянно отказывают в доступе к определенному ресурсу или эндпоинту, он должен иметь возможность перенаправлять запросы людям или другим ИИ-агентам для проверки, подкрепляя их обоснованием необходимости такого доступа. 

«Это превращает CrabTrap из жесткой границы контроля во что-то больше похожее на управляемую систему разрешений», — отметил Франчески. 

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

Наконец, существует «открытый философский вопрос» относительно правильного позиционирования CrabTrap: должен ли он быть полностью прозрачным слоем, о котором сам агент даже не подозревает, или он должен работать скорее как «благожелательный менеджер» (то есть агент осведомлен о существовании этого слоя и может взаимодействовать с ним).

Open-source сообщество может помочь определить вектор этого развития, и CrabTrap станет только лучше по мере роста числа пользователей, уверен Франчески. Агенты Brex работают с определенным набором API; команды, использующие CrabTrap с другими агентами, сервисами и требованиями к политикам, столкнутся с «краевыми случаями (edge cases) и паттернами, которые мы не можем охватить в одиночку».

«У нас амбициозные планы относительно того, куда может развиваться проект, и мы предпочитаем создавать его открыто», — заключил Франчески. 

Какой опыт из CrabTrap могут извлечь другие разработчики

Реакция оказалась сильнее, чем ожидалось. У CrabTrap уже более 700 звезд на GitHub. По словам Франчески, в Brex также получили отзывы от OpenAI, генерального директора Y Combinator Гарри Тана (Garry Tan) и программиста Пита Стайнбергера (Pete Steinberger), которые выразили заинтересованность во внедрении аналогичной внутренней инфраструктуры.

Более широкий урок заключается в следующем: «Не позволяйте инфраструктурным пробелам становиться оправданием для бездействия», — советует Франчески. Существуют «реальные препятствия» для каждого предприятия, стремящегося всерьез развертывать ИИ-агентов, включая вопросы безопасности, нехватку инструментов или нечеткие защитные механизмы. 

«Возникает соблазн сложить руки и ждать, пока индустрия догонит вас, — сказал он. — Урок CrabTrap в том, что вы можете решать эти проблемы самостоятельно».

Оркестрация

Смотреть все

Подпишитесь на свежие новости!

Глубокая аналитика для руководителей в области корпоративного ИИ, данных и безопасности

Подписаться по RSS

RSS-ленты обновляются каждые 15 минут.