Как сайты обнаруживают AI-агентов в браузере в 2026-м и Web Bot Auth

Заявленные AI-краулеры распознать легко, а агентные браузеры на настоящем Chromium — нет. Что выдаёт их на октябрь 2026 года, разбор подписанного запроса и какие вендоры действительно подписывают трафик.

How Websites Detect AI Browser Agents in 2026, and Web Bot Auth
В этой статье

На октябрь 2026 года сайты обнаруживают AI-агентов в браузере тремя разными способами — по одному на каждый тип агента. Заявленные краулеры и фетчеры, запускаемые пользователем, ловят по строке user-agent, опубликованным спискам IP и всё чаще по криптографическим подписям. Агентные браузеры, которые управляют настоящим Chromium, — случай посложнее. У них обычный отпечаток Chrome, поэтому выдаёт их в основном поведение: курсор прыгает, а не движется, текст вставляется, а не набирается, прокрутка идёт рывками. Web Bot Auth — добровольное решение: агент подписывает свои запросы, и сайт узнаёт его, не гадая.

Как сайты обнаруживают AI-агентов в браузере: три типа агентов, три метода

«AI-бот» — это не одна категория. Чтобы обнаружить AI-агента в браузере, сначала нужно понять, какой именно тип перед вами: каждый представляется по-своему и попадается на своём сигнале.

  1. Краулеры для обучения и поиска. Они собирают страницы массово, и никакой пользователь не ждёт результата: GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot. Они объявляют токен user-agent, публикуют диапазоны IP и, по словам самих вендоров, соблюдают robots.txt.
  2. Фетчеры, запускаемые пользователем. Человек задаёт ассистенту вопрос, и тот сразу же загружает страницу: ChatGPT-User, Claude-User, Perplexity-User, Google-Agent. Они по-прежнему представляются, но несколько вендоров заявляют, что robots.txt к ним может не применяться, ведь запрос инициировал человек.
  3. Агентные браузеры. Настоящий экземпляр Chromium кликает, печатает и прокручивает за пользователя — либо на его собственной машине (Perplexity Comet, расширение Claude in Chrome, open-source browser-use), либо в облаке вендора (ChatGPT agent, Manus). Они выглядят как браузеры, потому что ими и являются.

Таксономия Cloudflare от 1 июля 2026 года делит тот же трафик по поведению: Search, Agent (действует «в реальном времени, от имени человека») и Training. В корзину Agent явно входят и «боты-фетчеры чатов (например, ChatGPT-User), и агенты, управляющие браузером (например, Gemini или Claude, управляющие Chrome)». Группы 2 и 3 попадают в одну категорию политик, но обнаруживать их приходится совершенно разными методами.

Заявленные агенты: токены user-agent и опубликованные IP (проверено в октябре 2026)

Для групп 1 и 2 обнаружение сводится в основном к сверке с документацией. Каждый крупный вендор публикует свои токены и список IP, с которым можно сверять запросы. Совпадение UA плюс совпадение IP — надёжный признак. Одно только совпадение UA — нет: такую строку может отправить кто угодно.

ВендорКраулер / поискЗапуск пользователемrobots.txt для запросов пользователяСписок IP
OpenAIGPTBot, OAI-SearchBotChatGPT-User«может не применяться»JSON-файлы для каждого бота
AnthropicClaudeBot, Claude-SearchBotClaude-UserЗаявляет, что её боты соблюдают robots.txt; Claude-User можно запретитьclaude.com/crawling/bots.json
PerplexityPerplexityBotPerplexity-User«как правило, игнорирует robots.txt»perplexity-user.json
GoogleGooglebot (использование для обучения AI регулирует токен Google-Extended в robots.txt)Google-Agent«как правило, игнорируют robots.txt»user-triggered-agents.json

Декларации работают, только пока вендоры их придерживаются. В августе 2025 года Cloudflare сообщила, что после того как сайты заблокировали заявленных ботов Perplexity, она увидела незаявленные запросы с обычным user-agent Chrome на macOS — с IP вне опубликованных диапазонов Perplexity и с ротацией ASN. По словам Cloudflare, этот трафик удалось выявить с помощью «сочетания машинного обучения и сетевых сигналов», а Perplexity была исключена из списка верифицированных ботов. Perplexity оспорила эту версию. Кто бы ни был прав, вывод для владельцев сайтов один: правила по UA и IP ловят честный трафик. Трафик, который решил не представляться, они не ловят.

Почему агентные браузеры проходят мимо правил по UA и IP

Агентный браузер на ноутбуке пользователя отправляет user-agent его Chrome, TLS- и HTTP/2-отпечаток Chrome и домашний IP пользователя. В запросе просто не за что зацепиться правилу по UA или IP. С облачными агентами ситуация лишь немного лучше: их IP принадлежат облачным провайдерам, но там же находятся пользователи VPN, корпоративные прокси и инструменты автоматизации, которые вы уже пропускаете.

В статье FP-Agent (Wang, Shafiq и Vekaria, arXiv 2605.01247, май 2026) это измерили напрямую. Авторы прогнали семь агентов (браузер Atlas и ChatGPT agent от OpenAI, Claude for Chrome, Perplexity Comet, Manus, Browser Use и Skyvern) через задачи по бронированию авиабилетов, покупкам и работе на форуме параллельно с живыми участниками. В кейсе с Cloudflare «полностью заблокирован Cloudflare только Manus, тогда как остальные шесть браузерных агентов успешно выполняют задачи». Одни лишь браузерные отпечатки различали классы с F1 0,7969. Авторы обнаружили, что отпечатки «коррелируют с базовой средой выполнения»: локальные агенты просто наследуют отпечаток хост-машины.

Поправка для тех, кто опирается на материалы 2025 года: OpenAI закрыла браузер Atlas 9 августа 2026 года и перенесла агентный браузинг в своё десктопное приложение. Результаты статьи по Atlas всё равно важны: они описывают паттерн локального агента, общий и для других продуктов.

Сигналы, которые по-прежнему выдают агентные браузеры

Агентные браузеры выдаёт прежде всего поведение, а не окружение. Классификатор FP-Agent, объединивший поведенческие и браузерные признаки, достиг F1 1,0000 на датасете статьи. Это лабораторный результат на семи агентах и трёх задачах, а не доля обнаружения в продакшене, но направление совпадает с тем, о чём сообщают вендоры.

Геометрия курсора и ритм ввода

Самый чистый сигнал в статье: «браузерные агенты не совершают никаких движений мышью, а сразу телепортируются к месту клика». Ввод текста так же характерен. Atlas, ChatGPT agent и Comet вставляли текст, а Ctrl+V у ChatGPT agent давал «высокие задержки удержания… в среднем 66,58 мс». Browser Use, Skyvern и Manus набирали текст по клавишам со средними интервалами между нажатиями 5,31 мс, 9,52 мс и 1,39 мс, тогда как у людей были «гораздо более высокие межклавишные… задержки и существенно больший разброс». Прокрутка шла «дискретными скачками», а не непрерывным движением колеса.

Precursor от Cloudflare (анонсирован 13 июля 2026 года для Enterprise Bot Management, до общей доступности позже в этом году раскатывается бесплатно) — продакшен-версия той же идеи. Он внедряет клиентский JavaScript, который собирает «движения указателя, активность клавиатуры, смену фокуса и видимость» и накапливает их в рамках сессии, так что бот не может обнулить свою поведенческую историю перезагрузкой страницы или новым челленджем. Его исходная посылка: «Труднее всего воспроизвести последовательное человеческое поведение на протяжении времени».

Артефакты автоматизации и расширений

Некоторые агенты оставляют следы прямо на странице. В разборе расширения Claude для Chrome от CHEQ (февраль 2026) выяснилось, что оно управляет страницей через API chrome.debugger, поэтому его синтезированные клики считаются доверенными событиями. Но во время работы оно внедряет в DOM элементы с id вроде claude-agent-stop-container и claude-agent-animation-styles, причём элемент со стилями обычно остаётся и после остановки агента. Исследование HUMAN Security про Atlas и Comet тоже сообщает о DOM-артефактах внутреннего расширения Comet и отмечает, что Comet «не предоставляет проверяемого сигнала идентичности для каждого запроса».

Не стройте стратегию на отдельных артефактах. Castle описал, как популярный приём обнаружения CDP (геттер на Error.stack, срабатывающий, когда клиент автоматизации включил домен Runtime) тихо перестал работать после изменений в V8 в мае 2025 года. Вендор может переименовать id в DOM за один релиз. Считайте артефакты вспомогательными уликами, которые взвешивает поведенческая модель, но никогда — окончательным вердиктом.

Согласованность окружения и точка выхода

Облачные агенты сильнее выдают, где они запущены. В статье ChatGPT agent попеременно сообщал платформы «Linux x86_64 и MacIntel». Перехваченный запрос, опубликованный Simon Willison, показывает то же самое: user-agent Chrome для macOS вместе с Sec-Ch-Ua-Platform: "Linux". Manus стабильно показывал «Linux x86_64» с «4 ГБ RAM и 6 ядрами CPU». Несоответствие между UA и client hints плюс облачный ASN сами по себе ничего не доказывают, но вместе дают сильную априорную оценку. Как устроены такие проверки согласованности, разобрано в нашем материале о браузерном фингерпринтинге.

Web Bot Auth: подписанные агенты вместо угаданных

Web Bot Auth позволяет агенту доказать, кто им управляет. Он подписывает каждый запрос по стандарту HTTP Message Signatures (RFC 9421) и публикует свои открытые ключи по well-known URL, так что сайт может криптографически проверить оператора, а не выводить его из UA, IP или поведения. Работа в IETF пока на стадии черновика. Рабочая группа webbotauth приняла свой документ протокола как draft-ietf-webbotauth-httpsig-protocol (ревизия -00 от 1 сентября 2026 года, авторы из Cloudflare и Google). Продакшен-внедрения уже опережают стандарт.

Разбор настоящего подписанного запроса

Вот заголовки подписи из запроса ChatGPT agent, который Simon Willison перехватил в августе 2025 года (nonce здесь обрезан):

Signature-Agent: "https://chatgpt.com"
Signature-Input: sig1=("@authority" "@method" "@path" "signature-agent");created=1754340838;keyid="otMqcjr17mGyruktGvJU8oojQTSMHlVm7uO-lrcqbdg";expires=1754344438;nonce="_8jbGwfL…";tag="web-bot-auth";alg="ed25519"
Signature: sig1=:…:
  • Signature-Agent указывает, кто ручается за запрос. Проверяющая сторона загружает https://chatgpt.com/.well-known/http-message-signatures-directory, чтобы получить ключи.
  • Покрываемые компоненты (@authority, @method, @path, signature-agent) привязывают подпись именно к этому хосту, методу и пути. Подпись, перехваченную на одном сайте, нельзя воспроизвести на другом.
  • expires − created = 3600: подпись действует один час, а nonce позволяет проверяющему отклонять точные повторы в этом окне.
  • tag="web-bot-auth" и alg="ed25519" соответствуют требованиям Cloudflare: ключи Ed25519, тег web-bot-auth и покрытие как минимум @authority и signature-agent. keyid — это JWK thumbprint ключа.

User-agent в том же запросе был обычным десктопным Chrome. Без проверки подписи такой запрос ничем не отличается от любого другого браузера.

Кто на самом деле подписывает запросы сегодня

3 октября 2026 года мы запросили /.well-known/http-message-signatures-directory на доменах основных вендоров агентов. chatgpt.com отдал ключ Ed25519 с "signature_agent":"https://chatgpt.com", но с другим keyid, чем в перехвате 2025 года, — значит, ключ ротировали. agent.bot.goog отдал ключи Ed25519; в документации Google сказано, что компания «экспериментирует с протоколом Web Bot Auth, используя идентичность https://agent.bot.goog» для Google-Agent. browserbase.com тоже отдал ключи (Browserbase вошёл в первую когорту подписанных агентов Cloudflare в августе 2025 года вместе с ChatGPT agent, Goose от Block и Anchor Browser). По тому же пути claude.ai, claude.com, anthropic.com, perplexity.ai и browser-use.com вернули 404 или HTML-страницу. Отсутствие файла по этому пути не доказывает, что вендор вообще ничего не подписывает, но ни один из них не публикует там каталог ключей и не описывает подпись на страницах о своих ботах.

На стороне проверки Cloudflare валидирует подписи на edge. С 1 июля 2026 года она объединила подписанных агентов с Verified bots и добавила поле Direct vs Intermediary, которое фиксирует, управляет ли ботом один оператор или им пользуются многие конечные пользователи. Agent Trust от DataDome сочетает Web Bot Auth, официальные списки IP и обратный DNS с моделями намерений. Обе компании считают подпись доказательством идентичности, но не добрых намерений.

Тип агента → идентификация → обнаружение → типичная политика

Тип агентаКак представляетсяКак обнаруживаетсяТипичная политика сайтов (окт. 2026)
Краулер для обучения (GPTBot, ClaudeBot)Заявленный токен UA + опубликованные IPСовпадение UA + IP, обратный DNSРазрешить или заблокировать через robots.txt. Для доменов с рекламной монетизацией, подключённых с 15 сентября 2026 года, пресет Cloudflare — Disallow AI Training: запрет обучения в robots.txt плюс блокировка на edge краулеров, которые собирают данные только для обучения.
Поисковый краулер (OAI-SearchBot, Claude-SearchBot, PerplexityBot)Заявленный UA + IPСовпадение UA + IPОбычно разрешён: он приводит переходы.
Фетчер, запускаемый пользователем (ChatGPT-User, Claude-User, Perplexity-User, Google-Agent)Заявленный UA + IP; Google-Agent экспериментирует с подписямиСовпадение UA + IP, подпись, если естьПо-разному. Умолчание Cloudflare для новых доменов блокирует Agent на страницах с рекламой. Многие издатели пропускают его ради цитирований.
Подписанный облачный агент (ChatGPT agent, сессии Browserbase)UA Chrome + подпись Web Bot AuthПроверка подписи; поведение — для оценки намеренийРазрешить на контенте. Ограничение частоты или дополнительная проверка на оформлении заказа, входе и создании аккаунта.
Неподписанный облачный агент (например, Manus)Выглядит как Chrome из облачного ASNОблачная точка выхода + несогласованность отпечатка + поведениеЧеллендж или блокировка. В исследовании FP-Agent Manus был заблокирован полностью.
Локальный агентный браузер/расширение (Comet, Claude in Chrome, browser-use)Собственный Chrome и IP пользователя; подписи нетПоведение (телепортирующийся курсор, вставка текста, прокрутка рывками), артефакты DOM/расширенияСамый сложный случай. Поведенческий скоринг на чувствительных сценариях, дополнительная аутентификация на транзакциях.

Что это значит для владельцев сайтов

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

  • Сначала проверка, потом решение. Для заявленных ботов сверяйте UA со списками IP, для подписанных агентов — подписи. Непроверенный трафик, который выдаёт себя за GPTBot, — это просто трафик с поддельным UA.
  • Разрешить, заблокировать или взять плату. Настройки Cloudflare работают по категориям на всех тарифах. Pay per crawl отвечает неоплатившим краулерам HTTP 402, но на момент написания он всё ещё был в закрытой бете.
  • Защищайте действия, а не страницы. Реальный риск от локальных агентных браузеров — то, что они делают внутри авторизованных сессий. Ставьте поведенческий скоринг и дополнительные проверки на оформление заказа, изменение аккаунта и отправку форм. Как в это вписывается скоринг челленджей, объясняет наш материал о внутреннем устройстве Turnstile.
  • Ждите ложных срабатываний в обе стороны. Инструменты доступности тоже вставляют текст и переключают фокус без мыши. Одно лишь «нет движений мыши» не должно быть поводом блокировать сессию.

Что это значит для инженеров, которые создают агентов

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

  • Объявляйте себя. Для серверных фетчеров используйте описательный токен UA с контактным URL. Если вы управляете сервисом агентов, опубликуйте каталог ключей и подписывайте запросы. Настройку Ed25519 описывают документация Cloudflare и open-source-библиотеки web-bot-auth.
  • Соблюдайте robots.txt и правила сайта для агентов во всём, что не запускается пользователем напрямую, и держите частоту запросов в разумных пределах. И то и другое — условия верификации в Cloudflare.
  • Используйте прокси по правильным причинам. Резидентные точки выхода дают корректные результаты на уровне страны и не дают целому парку агентов толпиться на одном облачном IP. Невидимым для поведенческих моделей они агента не делают, а их использование для обхода сайта, заблокировавшего агентов, — именно то поведение, на которое ссылалась Cloudflare, исключая Perplexity из списка верифицированных. Настройку описывает наше практическое руководство по настройке прокси для AI-агентов. В обзоре лучших прокси для AI-агентов сравниваются типы IP для таких нагрузок.
  • Останавливайтесь на челленджах. Если агент упёрся в CAPTCHA или 403 от системы бот-менеджмента, сайт уже принял решение. Передайте ситуацию человеку, а не повторяйте попытку.

Чего Web Bot Auth не решает

Подпись доказывает, кто управляет агентом, а не что пользователь попросил его сделать. Как сказано в разборе подписей Operator от Castle, проверка подтверждает источник, но «не доказывает намерение пользователя». Подписанного агента всё равно можно направить на credential stuffing, скальпинг или покупку через prompt injection. Поэтому метка Intermediary у Cloudflare и trust-скоры DataDome по-прежнему накладывают поведенческий анализ поверх идентичности. Самый сложный случай подпись тоже не закрывает: локальные агентные браузеры сейчас вообще не отправляют ничего, что можно проверить. Пока эти продукты не начнут подписывать запросы — или пока сайты полагаются только на геометрию курсора и тайминги, — их обнаружение остаётся вопросом вероятности, а не доказательства.

Часто задаваемые вопросы

Могут ли сайты распознать ChatGPT agent или Perplexity Comet?

Часто да, но разными способами. ChatGPT agent подписывает запросы через Web Bot Auth, поэтому сайты, проверяющие подписи, могут точно его идентифицировать. Comet работает в собственном Chromium пользователя без какого-либо сигнала идентичности, так что обнаружение опирается на поведение — курсор, который телепортируется, вставку текста, прокрутку рывками, — а также на DOM-артефакты его расширения.

Чем ChatGPT-User отличается от GPTBot?

GPTBot — краулер OpenAI для обучения моделей, он соблюдает robots.txt. ChatGPT-User загружает страницу, когда она нужна для действия пользователя в ChatGPT, и OpenAI заявляет, что robots.txt к нему может не применяться, поскольку запрос инициировал человек. Для обоих опубликованы списки IP, с которыми можно сверять запросы.

Что такое Web Bot Auth?

Web Bot Auth — протокол (сейчас черновик рабочей группы IETF), в котором автоматизированный клиент подписывает каждый запрос по HTTP Message Signatures (RFC 9421) ключом Ed25519 и публикует открытые ключи по адресу /.well-known/http-message-signatures-directory. Сайты или CDN проверяют подпись, чтобы убедиться, кто управляет ботом, вместо того чтобы доверять user-agent.

Какие AI-агенты подписывают запросы через Web Bot Auth?

На 3 октября 2026 года каталоги ключей по well-known-пути отдают chatgpt.com (ChatGPT agent), agent.bot.goog (Google-Agent, который Google называет экспериментальным) и browserbase.com. Домены Anthropic, Perplexity и browser-use каталог по этому пути не отдавали и не описывают подпись на страницах о своих ботах.

Остановит ли блокировка AI-краулеров в robots.txt агентные браузеры?

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

Готовы начать?

Резидентные, ISP и мобильные прокси в 195+ странах. Создайте бесплатный аккаунт.

Создать бесплатный аккаунт
← Вернуться в Блог