Технологии

Cloudflare объявляет о Kitesurf, движке браузера, созданном для AI-агентов

Cloudflare представила Kitesurf, специально разработанный движок браузера, предназначенный для выполнения веб-взаимодействий автономными AI-агентами, а не людьми. Система решает фундаментальные проблемы безопасности и контроля, которые возникают, когда агенты работают с возможностями браузера, включая риски внедрения запросов, изоляцию сети и детерминированное отображение.

Автор: Лео У ·

Cloudflare объявляет о Kitesurf, движке браузера, созданном для AI-агентов
Редакционное изображение MANTIS_.

Cloudflare объявила о Kitesurf, движке браузера, специально созданном для AI-агентов, самостоятельно ориентирующихся в интернете. Согласно отчету InfoQ, это объявление знаменует собой значительный отход от традиционного дизайна браузеров, который оптимизируется под модели взаимодействия человека и визуальное представление. Вместо этого Kitesurf отдает приоритет детерминированному выполнению, полным журналам аудита и строгим ограничениям возможностей, которые не позволяют агентам действовать с неограниченной властью над сетевыми запросами, манипуляциями DOM или выполнением скриптов. Это различие отражает более глубокий архитектурный вопрос: что меняется, когда вы убираете человека из цикла и передаете возможности браузера автономной системе.

Обычный движок браузера, такой как Chromium или WebKit, предназначен для отображения пикселей, выполнения JavaScript в разрешающей песочнице и реагирования на ввод пользователя. Он исходит из того, что за клавиатурой находится доверенный оператор. Движок, ориентированный на агента, переворачивает эти предположения. Kitesurf работает без уровня визуального отображения, вместо этого возвращая структурированные данные о состоянии страницы агенту. Он применяет строгие ограничения идентичности, предотвращая имитацию пользователей агентами или получение ими учетных данных сеанса без явного разрешения. Сетевые запросы, отправляемые агентом, могут быть проверены, ограничены или отклонены на основании политики до того, как они покинут систему. Сам движок браузера становится поверхностью аудита: каждое взаимодействие, каждый HTTP-вызов, каждое прохождение DOM регистрируется и может быть воспроизведено. Отчет InfoQ документирует материалы, лежащие в основе этого отчета.

Риски для безопасности при неограниченном доступе агента к браузеру значительны. Агент, которому предоставлены обычные права браузера, может быть манипулирован через атаки с внедрением команд (prompt injection), когда враждебный контент на веб-странице инструктирует его извлекать данные, изменять отправку форм или выполнять действия от имени оператора. Атака с внедрением команд работает потому, что агент обрабатывает как содержимое веб-страницы, так и исходную инструкцию пользователя в качестве входных данных, без четкой границы между ними. Если на странице есть инструкции, замаскированные под контент, агент может им следовать. Детерминированный рендеринг в Kitesurf частично решает эту проблему, фиксируя способ, которым страницы анализируются и отображаются агенту, уменьшая вероятность атак внедрения команд, основанных на особенностях конкретного браузера. Но изоляция остается основным средством защиты.

Границы возможностей и аудит

Движок браузера, предназначенный для агентов, должен отвечать на ряд операционных вопросов, которые традиционные браузеры оставляют на усмотрение человека. Должен ли агент иметь возможность инициировать загрузки? Должен ли он читать куки или локальное хранилище? Должен ли он иметь доступ к API веб-камеры или микрофона? Может ли он открывать новые вкладки или окна? В обычном браузере человек решает эти вопросы неявно, используя браузер. В системе для агентов политика должна быть явной и обеспечиваться движком. Kitesurf реализует управление доступом на основе ролей и предоставление возможностей: агент, пытающийся прочитать cookies, вызывает проверку политики до завершения операции. Сетевой запрос к несанкционированному домену отклоняется на уровне движка, а не песочницы браузера. Эта модель напоминает принцип наименьших привилегий, описанный в руководстве CISA по безопасной разработке, когда система предоставляет только минимальные права, необходимые для выполнения задачи. Cloudflare предоставляет полезную техническую информацию для оценки этого утверждения.

Архитектура движка браузера Kitesurf разделяет выполнение агентов и сетевые операции с проверкой политики на каждой границе. Изображение: MANTIS_.
Архитектура движка браузера Kitesurf разделяет выполнение агентов и сетевые операции с проверкой политики на каждой границе. Изображение: MANTIS_.

Ведение аудиторских журналов одинаково важно. Когда агент не выполняет задачу или ведет себя неожиданно, инженерам нужны воспроизводимые записи того, что сделал агент, что вернула страница и какие решения принял движок. Обычный браузер создает журналы только если пользователь вручную включит инструменты разработчика. Kitesurf ведет журналы по умолчанию: каждый HTTP-запрос, заголовок ответа, запрос DOM и навигация записываются. Журналы можно воспроизводить, что позволяет инженерам реконструировать процесс принятия решений агентом и выявлять, где он отклонился от ожидаемого поведения. Эта возможность воспроизведения также позволяет тестировать и проверять работу до того, как агенты начнут работать в продуктивной среде. Операционный компромисс также отражается в движке браузера.

Контроль идентификации и сети работает совместно, чтобы предотвратить использование агентов в качестве прокси для несанкционированного доступа. Если агенту дано указание войти в финансовый сервис с использованием учетных данных пользователя, Kitesurf может обеспечить использование этих учетных данных только для конкретной сессии агента и то, что любые последующие действия будут явно атрибутированы агенту, а не пользователю. Сетевая изоляция предотвращает утечку данных агентами путем их отправки на произвольные серверы. Агента можно ограничить в связи только с определенными доменами, только с HTTPS-эндпоинтами или только с сервисами, которые соответствуют криптографической политике. Эти меры контроля требуют явной настройки, но позволяют организациям ограничивать поведение агента до его развертывания. Для более широкого контекста, CISA безопасно по проекту описывает соответствующий стандарт или учреждение.

Детеминизм и воспроизводимость

Детерминированная отрисовка устраняет браузерозависимые вариации, которые могут вызвать инъекционные атаки или сделать поведение агента неповторимым. Изображение: MANTIS_.
Детерминированная отрисовка устраняет браузерозависимые вариации, которые могут вызвать инъекционные атаки или сделать поведение агента неповторимым. Изображение: MANTIS_.

Традиционный движок браузера делает бесчисленное количество специфических для реализации выборов: как планируются JavaScript таймеры, как рассчитываются CSS макеты, как выполняются сторонние скрипты, как обрабатываются куки. Эти выборы могут различаться между версиями браузера или даже между запусками на одной и той же странице. Агент, полагающийся на эту изменчивость, не может надежно воспроизвести свое собственное поведение. Kitesurf упрощает это путем определения фиксированной детерминированной модели выполнения страницы. JavaScript таймеры используют контролируемую семантику часов. CSS не отображается в пикселях, а преобразуется в семантические данные макета. Скрипты сторонних разработчиков могут выполняться в песочнице или быть заблокированы в соответствии с политикой. Результат воспроизводим: при той же самой странице и одинаковых инструкциях агента Kitesurf каждый раз создаёт одинаковое представление страницы и одинаковые точки принятия решений. Рамочная структура кибербезопасности NIST помогает разместить проблему в более широком контексте политики и инженерии.

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

Широкий контекст для Kitesurf заключается в развитии фреймворков AI-агентов и признании того, что агенты, способные к автономному взаимодействию с вебом, создают новые проблемы безопасности. Существующие поверхности атаки включают те, которые идентифицированы в OWASP Top 10 для приложений LLM, такие как внедрение инструкций (prompt injection), когда недоверенный ввод влияет на поведение агента, и небезопасный дизайн плагинов, когда агент интегрируется с внешними системами без должной проверки. Браузерный движок, специально разработанный для защиты от этих атак, может укрепить инфраструктуру агента на фундаментальном уровне. Станет ли модель Kitesurf стандартом или останется специализированным инструментом, будет зависеть от ее принятия и от того, интегрируют ли другие разработчики браузеров или фреймворков аналогичные концепции.

Инженерная задача теперь заключается в балансировании между возможностями и ограничениями. Агенты должны взаимодействовать с реальными веб-приложениями, предназначенными для людей, что означает разбор сложных структур DOM, работу с одностраничными приложениями, насыщенными JavaScript, и навигацию по страницам, которые полагаются на визуальные подсказки. Слишком ограничительный движок будет неэффективен на сайтах, нарушающих обычные веб-стандарты. Слишком разрешающий движок вновь приведет к проблемам безопасности, которые он был предназначен решать. Дизайн Kitesurf предполагает, что Cloudflare пытается провести эту границу через детерминированный рендеринг и изоляцию на основе политики, но операционные детали того, как агенты обрабатывают краевые случаи и масштабируется ли система до миллиардов веб-страниц, остаются под вопросом. Последний пункт можно проверить с помощью Топ-10 OWASP для приложений LLM.

Темы: AI-агенты, безопасность браузера, Cloudflare, автоматизация веба, инфраструктура