Как бот имитирует пользователя в 2026 году: разбор технологий
Современный бот выглядит в Яндекс Метрике как обычный посетитель: открывает страницу в реальном Chrome, читает текст, скроллит, кликает по карточкам, иногда даже пишет в чат. Десять лет назад как бот имитирует пользователя — был вопрос для двух-трёх инженеров на стартапе, сегодня готовый «человекоподобный» бот стоит от 5 рублей за визит и собирается за вечер на ZennoPoster или BAS.
Мы в BotHunt каждый день обрабатываем десятки миллионов запросов и видим, как поведенческие боты эволюционируют буквально по неделям. После очередного раунда санкций Яндекса в конце 2025 года рынок накруточных ферм перешёл на антидетект-браузеры, мобильные прокси и LLM-генерируемые сценарии. Реальный пользователь и качественный бот в Метрике совпадают по 80–90% метрик — и именно это объясняет, почему 99% классических защит (WAF, reCAPTCHA, base-fingerprint) их пропускают.
В статье разбираем стек инструментов, четыре слоя имитации (HTTP, fingerprint, поведение, сеть), почему обычные защиты слепы к этому стеку и как мы в BotHunt отделяем человека от бота даже на «идеальных» прокси.
Зачем бот имитирует пользователя: 4 главных сценария
Имитация — не самоцель. Бот тратит ресурсы на «человечность» только там, где это окупается. Вот четыре основных сценария, которые формируют рынок:
Накрутка поведенческих факторов в Яндексе. Самый дорогой и сложный сегмент. Бот должен пройти полный путь: ввести запрос в Яндексе, кликнуть по нужному сайту в выдаче, провести на нём 1–3 минуты, иногда сделать «целевое действие» — добавить в корзину, дойти до контактов. Стоимость одного визита — 5–25 рублей.
Парсинг защищённых каталогов. Маркетплейсы, агрегаторы недвижимости, тендерные площадки бьют по простому скрейперу через Cloudflare и SmartCaptcha. Ответ парсера — headless Chrome с stealth-плагинами и резидентными прокси.
Скликивание Яндекс Директа. Конкурентам нужно скликать ваш дневной бюджет так, чтобы Директ зачёл клик и не вернул деньги по «недействительным». Это значит — реальный браузер, реальный IP, реальное «прочтение» лендинга.
Регистрационный фрод и абуз промо. Создание тысяч аккаунтов под раздачу бонусов, рефералки, кэшбэки. Антифрод считает не клики, а уникальность профиля — поэтому каждому боту нужен «свой» fingerprint и история.
Дальше мы разберём именно технологический стек этих сценариев. Если интересна диагностика — что такие визиты выглядят в вашей Метрике, читайте параллельную статью «8 признаков поведенческих ботов на сайте».
Стек инструментов: ZennoPoster, BAS, Puppeteer и антидетект-браузеры
За «человекоподобным» ботом всегда стоит связка из 3–4 компонентов: движок автоматизации, браузер с подменой fingerprint, прокси-сеть и хранилище профилей. На рынке СНГ доминируют четыре стека.
ZennoPoster — коммерческая «студия» из Новосибирска (ZennoLab) на базе Chromium и Firefox. Внутри есть запись действий, генератор случайных пауз и движений, многопоточный режим, готовые шаблоны под Яндекс. Используется в 70–80% накруточных ферм, ориентированных на рунет. Технические детали и сравнение со BAS — в разборе на Хабре.
Browser Automation Studio (BAS) — бесплатное ПО с открытым кодом и интеграцией FingerprintSwitcher ($30/мес). Поддерживает до 2 000 потоков HTTP-клиента и нативную эмуляцию мыши/клавиатуры на низком уровне. Любим «массовиков»: парсинг каталогов, регистрации, рассылка.
Puppeteer / Playwright / Selenium — Open-source библиотеки для headless-браузеров на базе Chrome DevTools Protocol и WebDriver. Самые «сырые» из коробки (детектируются по navigator.webdriver), но в связке со stealth-плагинами (puppeteer-extra-plugin-stealth, playwright-stealth, undetected-chromedriver) обходят 90% базовых проверок. Стек DevOps-команд и больших парсеров e-com.
Антидетект-браузеры (Octo Browser, Dolphin{anty}, AdsPower, GoLogin) — отдельный класс инструментов: каждый профиль — это уникальный набор Canvas/WebGL/шрифты/локаль/часовой пояс с подмешанным шумом. Изначально создавались под арбитражников и e-com мульти-аккаунтинг, теперь массово используются для накрутки ПФ.
Инструмент | Тип | Сильная сторона | Где встречается | Цена входа |
|---|---|---|---|---|
ZennoPoster | RPA + браузер | Готовые шаблоны под Яндекс, многопоток | Накрутка ПФ, рег.фрод | ≈ 30–60 тыс ₽ + прокси |
BAS | RPA + HTTP | До 2 000 потоков, FingerprintSwitcher | Парсинг, рассылки, регистрации | Бесплатно + $30/мес |
Puppeteer / Playwright | Headless library | Программируемость, CI-friendly | E-com парсинг, скликивание | Бесплатно + прокси |
Selenium + undetected-chromedriver | Headless library | Кросс-язык, огромная экосистема | Корпоративный парсинг | Бесплатно + прокси |
Octo / Dolphin / AdsPower | Antidetect browser | Уникальный fingerprint на профиль | Накрутка ПФ, мультиаккаунты | $50–200/мес на seat |
В реальной ферме все четыре класса комбинируются: ZennoPoster управляет десятками профилей Octo Browser, каждый из которых выходит через мобильный прокси и проигрывает сценарий, написанный под конкретный поисковый запрос.
Слой 1 — HTTP и TLS: что бот меняет на сетевом уровне
Первый барьер, через который бот должен пройти, — стек сетевых отпечатков. До того как браузер вообще что-то отрисует, сервер видит:
User-Agent. Простейшая подмена через флаг или JS — у ботов 2026 года всегда соответствует реальной версии Chrome/Firefox/Safari.
Порядок и регистр HTTP-заголовков. Реальный Chrome шлёт
sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, Upgrade-Insecure-Requests, User-Agent, Accept, Sec-Fetch-Siteв строго определённом порядке. Голый Python requests или curl выдают другой порядок — это первый сигнал.HTTP/2 fingerprint (Akamai-fingerprint). В HTTP/2 каждый клиент шлёт уникальный набор SETTINGS, WINDOW_UPDATE и приоритетов фреймов. Этот хеш у Chrome и Puppeteer совпадает, у curl — нет.
TLS / JA3-fingerprint. Хеш набора cipher suites, расширений и эллиптических кривых в ClientHello. У Chrome 130 на Windows один JA3, у Python
urllib3— другой. Подделать его без патча на уровне OpenSSL/BoringSSL невозможно.
Современные ZennoPoster и stealth-Puppeteer работают поверх настоящего Chromium — поэтому первые три отпечатка у них совпадают с реальным браузером. JA3 же выдаёт даже их: при коннекте через requests или нестандартный TLS-стек хеш не совпадает ни с одним из живых браузеров.
Подробный разбор JA3 и того, что мы делаем с ним на уровне агента, — в статье «TLS/JA3-fingerprinting: как сеть палит ботов».
Хотите увидеть, какие JA3- и HTTP/2-отпечатки сейчас приходят на ваш сайт? Подключите BotHunt бесплатно на 14 дней → — установка занимает 5 минут, плагин WP или строка PHP.
Слой 2 — Browser fingerprint: 50+ параметров и их подмена
Если HTTP-слой сервер видит «снаружи», то fingerprint браузера собирается уже в JS — на стороне клиента. Современные защиты считывают 30–60 параметров и считают из них стабильный хеш.
Что входит в fingerprint:
Canvas fingerprint. Браузер рендерит невидимое изображение, и из бинарного результата считается хеш. Зависит от GPU, драйверов, шрифтов.
WebGL и WebGPU. Хеш строки рендерера видеокарты (
ANGLE (Intel, Iris Xe Graphics, OpenGL 4.1)) и параметров шейдеров.AudioContext. Браузер считает аудио-сигнал и возвращает массив, в котором отличия — на уровне погрешности кодеков. У эмуляторов погрешность не такая, как у живой машины.
Список шрифтов. Через
document.fonts.check()сайт может перебрать сотни шрифтов и узнать, какие установлены в системе.Разрешение, depth, цветовая гамма.
screen.width, screen.colorDepth, devicePixelRatio— вместе дают редкую комбинацию.Часовой пояс, локаль, плагины, MIME-типы,
navigator.hardwareConcurrency,navigator.deviceMemory.Поведение API. Наличие
window.chrome,navigator.webdriver, функции вNotification.permission, реакцияWebGLRenderingContext.getParameter— всё это у headless-браузеров «из коробки» отличается от живого.
Антидетект-браузеры решают задачу комплексно: они подменяют Canvas-noise (добавляют один и тот же шум для всех вызовов в профиле), фейковый рендерер WebGL, синтетический список шрифтов и часовой пояс, который соответствует IP. На рынке есть готовые «облачные fingerprint-фермы», где за $0.10–0.50 можно получить уникальный набор параметров с rarity-индексом, совпадающим со статистикой реальных пользователей.
Это — слабое место большинства бесплатных и средних защит. Реальный fingerprint у людей далеко не уникален: пара Windows 11 + Chrome 131 + Intel UHD встречается миллион раз в день. Поэтому простая «уникальность fingerprint» — не сигнал, нужны корреляции.


Технически детально разбираем все компоненты в материале «Browser fingerprinting: как сервисы защиты опознают ботов».
Слой 3 — Поведение: как бот имитирует пользователя в кликах и скролле
Когда сетевой и браузерный слой подделаны, остаётся самое сложное — поведение. Именно здесь живёт тот самый «99% точности», которого добиваются современные продукты защиты.
Что бот пытается сымитировать:
Движения мыши. Реальный пользователь двигает мышь не по прямой, а по кривой Безье с микро-дрожанием руки. ZennoPoster и BAS вшивают «человеческие» алгоритмы, ослабляя точность курсора и добавляя случайные паузы.
Скролл. Человек скроллит порциями, останавливается перед заголовками и картинками, иногда возвращается. Бот чаще скроллит равномерно сверху вниз — здесь ловится примерно треть «среднеуровневых» накрутчиков.
Время на странице. Распределение реальных сессий — log-normal с медианой 30–90 секунд и длинным хвостом. Бот часто выдаёт идеально круглые 60 или 120 секунд.
Клики и ховеры. Реальный человек наводит курсор перед кликом (hover-event), бот часто стреляет сразу в координаты.
Печать в форме. Скорость, ошибки, использование Backspace, паузы между словами. На уровне ЛЛМ-ассистированных ботов 2026 года это уже близко к человеческой статистике.
Переходы и многостраничность. У реального посетителя обычно 1.5–4 страницы за визит, у бота-накрутчика — строго 2 страницы по сценарию.
Проблема в том, что любая поведенческая метрика по отдельности — слабый сигнал. Условный «прямой курсор» бывает у пользователей с трекпадом или сенсорным экраном. Поэтому современные системы (включая нашу) считают корреляции между десятком метрик и сравнивают распределение визита с baseline по сегменту.
Слой 4 — Сетевой профиль: мобильные прокси, ASN и ECH
Чтобы бот выглядел как пользователь из России, он должен выходить с правильного IP. Поэтому за каждым «человекоподобным» визитом стоит прокси-инфраструктура.
Три типа прокси, которые используют боты:
Datacenter-прокси (DC). Дешёвые ($1–3 за GB), но определяются по ASN: AS14061 DigitalOcean, AS16509 Amazon, AS24940 Hetzner — подавляющее большинство трафика с них не пользовательский. Закрываются простой ASN-блокировкой.
Резидентные прокси. Реальные домашние IP-адреса (от $5 до $30 за GB). Получаются через SDK в бесплатных VPN, играх, расширениях. Сети — Bright Data, Soax, IPRoyal — представлены тысячами уникальных ASN.
Мобильные прокси. 4G/5G IP операторов (МТС, Билайн, МегаФон, Tele2). Самые «чистые» с точки зрения детекции — на одном IP сидит 50–500 реальных людей через CG-NAT, поэтому массовый бан ломает легитимных пользователей. Цена — 1 500–6 000 ₽/мес за порт.
Для накрутки ПФ Яндекса используются именно мобильные. По нашим данным в BotHunt, в 2026 году 65–75% поведенческого бот-трафика на коммерческие сайты приходит с мобильных IP российских операторов. Просто заблокировать их нельзя — потеряете половину реальных посетителей.
Дополнительный слой маскировки — ECH (Encrypted Client Hello). Это расширение TLS 1.3, которое прячет SNI и часть параметров, на которые раньше опирались многие WAF. С 2025 года Chrome и Firefox включили ECH по умолчанию для совместимых серверов — и часть классических детекторов перестали видеть имя домена в трафике. Подробнее об ECH в спецификации IETF (draft-ietf-tls-esni).
Подробнее про ASN-фильтрацию и обход — в статье «Резидентные прокси и ASN: как боты маскируют IP».
Прогретый профиль: cookie, история и LLM-сценарии
Самый дорогой и сложный класс ботов — с прогретыми профилями. Бот не просто открывает сайт «с нуля», а имеет историю: cookie с других сайтов, открытые сессии в почте и соцсетях, набор сохранённых паролей, посещения «нейтральных» доменов за последние 7–30 дней.
Технически это реализуется так: ферма арендует тысячи профилей в антидетект-браузерах, и каждый профиль «живёт» — заходит в Яндекс, читает Дзен, проверяет погоду, листает маркетплейс, иногда оформляет тестовую покупку. Такие профили на форумах продают по 50–200 рублей за штуку, и в их Cookie действительно лежат сотни записей с топовых рунет-сайтов.
С 2024–2025 года в этой схеме появился новый компонент — LLM-сценарии. Вместо статичного шаблона «открыть, скроллить 60 секунд, кликнуть» в ZennoPoster подгружается запрос к локальной модели (Llama, Qwen, GigaChat), которая в реальном времени решает, на чём «сосредоточиться» в зависимости от страницы. Бот читает заголовок, генерирует под него «интерес», скроллит ровно до того места, где находится цена, и уходит — как сделал бы потенциальный покупатель.
Это и есть то, что мы называем «качественным» поведенческим ботом 2026 года. Стоимость одного такого визита — 15–25 рублей, и при бюджете 100 000 ₽/мес ферма выкатывает 4 000–6 000 «человеческих» сессий на сайт конкурента.
В среднем 12–18% сессий на сайтах наших клиентов — именно такие «качественные» боты. Хотите узнать вашу долю? Запустите бесплатный аудит трафика →.
Почему обычные защиты слепы к этому стеку
Когда мы спрашиваем клиентов «какая защита у вас сейчас стоит», 80% перечисляют: Cloudflare / SmartCaptcha / встроенный фильтр Метрики / WAF от хостера. Каждая из этих систем закрывает кусок проблемы — но именно поведенческие боты проходят их насквозь.
Защита | Что ловит | Что пропускает |
|---|---|---|
WAF (ModSecurity, Bitrix Web Antivirus) | SQL-инъекции, XSS, известные эксплойты | Любой бот с валидным User-Agent и без payload |
reCAPTCHA v3 / SmartCaptcha | Простые скрипты без JS, известные паттерны | Headless с stealth-плагинами и прогретым профилем |
Фильтр «Роботы» Яндекс Метрики | Краулеры, мониторинг, явные паттерны | Поведенческие боты в реальном Chrome (по нашим данным — 5–15% от реальной доли) |
Cloudflare Bot Management | Глобальные сигнатуры, ASN datacenter-прокси | Боты на мобильных прокси РФ + ушёл из России в 2022 |
Блокировка по User-Agent / IP в .htaccess | Старые краулеры, явные ботнеты | Любую современную ферму на ZennoPoster/BAS |
Корень проблемы — все эти системы работают по статичным сигнатурам: список плохих ASN, список устаревших User-Agent, список известных payload. Качественный поведенческий бот по этим спискам выглядит как новый Mac-пользователь из Москвы с нормальным Chrome 131.
Чтобы поймать его, нужно одновременно проверять корреляции между десятком сигналов и уметь обновлять модель в реальном времени — этого классические WAF и капчи делать не умеют.
Как BotHunt отличает реального человека от качественного бота
Наша архитектура построена так, чтобы покрыть все четыре слоя одновременно и принять решение за <100 мс — до того, как сервер сайта вернёт страницу. Если в двух словах:
Edge-агент. PHP-плагин или одна строка кода на странице ловит запрос ещё до бизнес-логики. Собирает HTTP/TLS-параметры, JA3, ASN, профиль ECH.
Клиентский скрипт. Считает 50+ fingerprint-метрик (Canvas, WebGL, AudioContext, шрифты, поведение API). Без CAPTCHA — пользователь ничего не видит.
Поведенческий слой. В первые 3–5 секунд собирает движения мыши, скролл, тайминги, тапы — и сравнивает с baseline по сегменту (мобильный/десктоп, регион, тип страницы).
ML-классификатор. Считает risk-score на ClickHouse-телеметрии за последние 30 дней. Учитывает корреляции (например, мобильный IP МТС + Windows fingerprint — аномалия) и rarity (как часто такой набор встречался на честных сессиях).
Решение. Пропустить, ограничить (без вреда для SEO), показать challenge или заблокировать. Каждое решение логируется и в админке видно, по какому именно сигналу выдан вердикт.
Точность 99.9%, о которой мы говорим, — это процент верных вердиктов на наших валидационных датасетах с известной разметкой. False-positive (живой пользователь, помеченный как бот) держится на уровне 0.05–0.2% — сравнимо с встроенной защитой Метрики на легитимном трафике.

Подробнее про ML-часть — в материале «Поведенческая аналитика и ML в обнаружении ботов».
Как самому понять, что вас атакуют такие боты: чек-лист
Если у вас сейчас не стоит специализированной защиты, минимальная проверка занимает 15–20 минут и даёт ответ «есть проблема / нет».
Сегмент Метрики «Технологии → User-Agent». Если в топе есть Chrome версии 110–125 (старая) с долей >5% — это часто ферма на старых сборках Chromium.
Отчёт «Источники → Тип трафика → Прямые заходы». Доля «прямых» свыше 35–40% при нормальном SEO — индикатор. Накрутчики ходят без referrer.
Глубина просмотра. Внезапный пик визитов с глубиной ровно «2 страницы» и временем 60–120 сек — почти всегда накрутка ПФ.
Карта кликов и Вебвизор. Откройте 5–10 случайных сессий: реальный пользователь дёргает мышь, бот двигает её ровными отрезками между кликами.
Соотношение мобильного и десктопного. Скачок мобильного трафика без рекламы и без Дзена — типичный сигнал ферм с мобильными прокси.
Журнал сервера / Cloudflare logs. Грепните по ASN операторов: AS8359 (МТС), AS3216 (Билайн/VEON), AS25513 (МТС-РТК) — какая доля идёт на нерегиональный сайт?
Сравните Метрику и серверные логи. Если уников в логах в 1.5–3 раза больше, чем в Метрике — у вас много сессий без выполнения JS, классический парсер.
Если хотя бы по 2–3 пунктам видите аномалии — атака идёт. Полное руководство по защите — в статье «Как защитить сайт от накрутки поведенческих факторов».
Не хотите вручную копаться в логах? BotHunt сам построит карту поведенческих ботов на вашем сайте за 24 часа после установки. Подключить →
Часто задаваемые вопросы
Чем headless-браузер отличается от обычного и почему его так сложно отличить от пользователя?
Headless-браузер — это полноценный Chrome или Firefox без графического интерфейса. Он рендерит страницы, выполняет JavaScript и взаимодействует с DOM так же, как обычный браузер, — отсюда сложность. Отличить его можно по тонким сигналам: значению navigator.webdriver, набору WebGL-расширений, поведению Notification.permission, погрешности AudioContext. Stealth-плагины затирают часть этих сигналов, но не все: качественная защита обычно проверяет 30+ параметров и ориентируется на корреляции, а не на одно поле.
Можно ли отличить ZennoPoster от живого посетителя?
Да, но не одним сигналом. На уровне HTTP/TLS даже ZennoPoster выдаёт характерный JA3 при работе через свой HTTP-клиент. Если работа идёт через Chromium-движок, JA3 совпадает с реальным Chrome — но тогда «всплывают» поведенческие признаки: одинаковые тайминги между потоками, корреляции движения мыши, повторяющиеся последовательности кликов, аномальный rarity fingerprint. На практике мы ловим 99% классических Zenno-ферм по комбинации JA3 + поведение + ASN.
Что такое антидетект-браузер и зачем он ботам?
Антидетект-браузер (Octo, Dolphin, AdsPower, GoLogin) — это сборка Chromium, в которой каждый профиль имеет уникальный набор fingerprint-параметров: Canvas-noise, fake WebGL renderer, синтетический список шрифтов, часовой пояс под IP. Ферма создаёт сотни-тысячи таких профилей, чтобы каждый бот выглядел «новым устройством». Изначально инструмент создавался под арбитражников и e-com мульти-аккаунты, теперь массово используется для накрутки ПФ Яндекса.
Защищает ли Cloudflare от накрутки поведенческих факторов?
В сценарии «РФ-сайт + российские мобильные боты» — практически нет. Cloudflare Bot Management ушёл из России в 2022 году (платные тарифы недоступны), а бесплатный план фильтрует только базовые datacenter-боты. Современные накруточные фермы выходят с IP МТС, Билайн, МегаФон через CG-NAT — эти IP Cloudflare блокировать не может, на них сидят миллионы реальных пользователей. Подробнее — в статье «Cloudflare Bot Management ушёл из России: чем заменить».
Сколько стоит «качественный» бот, имитирующий пользователя?
На рынке СНГ в 2026 году одна сессия ПФ-накрутки обходится заказчику в 5–25 рублей в зависимости от сложности сценария: глубина, время на сайте, регион, наличие «целевого действия». Прогретый профиль с историей в 7–30 дней — отдельная статья: 50–200 рублей за штуку. Бюджет средней атаки на сайт конкурента — 50 000–300 000 рублей в месяц при объёме 3–10 тыс. сессий.
Почему фильтр «Роботы» в Яндекс Метрике показывает мало ботов, если их на самом деле много?
Метрика фильтрует базовые сценарии: запросы без JavaScript, известные краулеры, явные ботнет-сигнатуры. Поведенческий бот в реальном Chrome с прогретым профилем для Метрики — обычный пользователь. По нашим оценкам, отчёт «Роботы» показывает 5–15% от реальной доли поведенческих ботов на коммерческих сайтах. Проверять надо корреляции (User-Agent + ASN + поведение), а не одну метрику.
Что такое JA3-fingerprint и как он палит ботов?
JA3 — это хеш набора cipher suites, расширений и эллиптических кривых, которые клиент шлёт в TLS ClientHello. У Chrome 131 на Windows один JA3, у Firefox 134 на macOS — другой, у Python requests — третий. Изменить JA3 без патча на уровне OpenSSL/BoringSSL невозможно — поэтому даже самые «умные» парсеры на pure-Python мгновенно палятся при сравнении JA3 с базой реальных браузеров. Полный разбор технологии.
Можно ли защититься от поведенческих ботов без вреда для SEO и пользователей?
Да, и это базовое требование к современным антибот-сервисам. BotHunt не показывает капчу, не задерживает рендер страницы и пропускает поисковых краулеров (Яндекс, Google, Bing) по доверенному списку ASN + reverse-DNS-проверке. Для пользователя защита невидима, для Яндекса сайт остаётся таким же, как был, — только трафик чище. Решение принимается за <100 мс на edge-агенте, без редиректов и интерстициалов.





