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

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

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 минут.