Как бот имитирует пользователя в 2026 году: разбор технологий

Автор: Редакция BotHunt
Время чтения: 14 мин.
Просмотров: 146
Дата публикации: 7 мая 2026 г.
Как бот имитирует поведение пользователя — стек технологий 2026

Как бот имитирует пользователя в 2026 году: разбор технологий

Современный бот выглядит в Яндекс Метрике как обычный посетитель: открывает страницу в реальном Chrome, читает текст, скроллит, кликает по карточкам, иногда даже пишет в чат. Десять лет назад как бот имитирует пользователя — был вопрос для двух-трёх инженеров на стартапе, сегодня готовый «человекоподобный» бот стоит от 5 рублей за визит и собирается за вечер на ZennoPoster или BAS.

Мы в BotHunt каждый день обрабатываем десятки миллионов запросов и видим, как поведенческие боты эволюционируют буквально по неделям. После очередного раунда санкций Яндекса в конце 2025 года рынок накруточных ферм перешёл на антидетект-браузеры, мобильные прокси и LLM-генерируемые сценарии. Реальный пользователь и качественный бот в Метрике совпадают по 80–90% метрик — и именно это объясняет, почему 99% классических защит (WAF, reCAPTCHA, base-fingerprint) их пропускают.

В статье разбираем стек инструментов, четыре слоя имитации (HTTP, fingerprint, поведение, сеть), почему обычные защиты слепы к этому стеку и как мы в BotHunt отделяем человека от бота даже на «идеальных» прокси.

Зачем бот имитирует пользователя: 4 главных сценария

Имитация — не самоцель. Бот тратит ресурсы на «человечность» только там, где это окупается. Вот четыре основных сценария, которые формируют рынок:

  1. Накрутка поведенческих факторов в Яндексе. Самый дорогой и сложный сегмент. Бот должен пройти полный путь: ввести запрос в Яндексе, кликнуть по нужному сайту в выдаче, провести на нём 1–3 минуты, иногда сделать «целевое действие» — добавить в корзину, дойти до контактов. Стоимость одного визита — 5–25 рублей.

  2. Парсинг защищённых каталогов. Маркетплейсы, агрегаторы недвижимости, тендерные площадки бьют по простому скрейперу через Cloudflare и SmartCaptcha. Ответ парсера — headless Chrome с stealth-плагинами и резидентными прокси.

  3. Скликивание Яндекс Директа. Конкурентам нужно скликать ваш дневной бюджет так, чтобы Директ зачёл клик и не вернул деньги по «недействительным». Это значит — реальный браузер, реальный IP, реальное «прочтение» лендинга.

  4. Регистрационный фрод и абуз промо. Создание тысяч аккаунтов под раздачу бонусов, рефералки, кэшбэки. Антифрод считает не клики, а уникальность профиля — поэтому каждому боту нужен «свой» 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 fingerprint: 50+ параметров, которые подменяет антидетект-браузер

Технически детально разбираем все компоненты в материале «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 мс — до того, как сервер сайта вернёт страницу. Если в двух словах:

  1. Edge-агент. PHP-плагин или одна строка кода на странице ловит запрос ещё до бизнес-логики. Собирает HTTP/TLS-параметры, JA3, ASN, профиль ECH.

  2. Клиентский скрипт. Считает 50+ fingerprint-метрик (Canvas, WebGL, AudioContext, шрифты, поведение API). Без CAPTCHA — пользователь ничего не видит.

  3. Поведенческий слой. В первые 3–5 секунд собирает движения мыши, скролл, тайминги, тапы — и сравнивает с baseline по сегменту (мобильный/десктоп, регион, тип страницы).

  4. ML-классификатор. Считает risk-score на ClickHouse-телеметрии за последние 30 дней. Учитывает корреляции (например, мобильный IP МТС + Windows fingerprint — аномалия) и rarity (как часто такой набор встречался на честных сессиях).

  5. Решение. Пропустить, ограничить (без вреда для SEO), показать challenge или заблокировать. Каждое решение логируется и в админке видно, по какому именно сигналу выдан вердикт.

Точность 99.9%, о которой мы говорим, — это процент верных вердиктов на наших валидационных датасетах с известной разметкой. False-positive (живой пользователь, помеченный как бот) держится на уровне 0.05–0.2% — сравнимо с встроенной защитой Метрики на легитимном трафике.

Архитектура BotHunt: как мы ловим качественного бота

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

Как самому понять, что вас атакуют такие боты: чек-лист

Если у вас сейчас не стоит специализированной защиты, минимальная проверка занимает 15–20 минут и даёт ответ «есть проблема / нет».

  1. Сегмент Метрики «Технологии → User-Agent». Если в топе есть Chrome версии 110–125 (старая) с долей >5% — это часто ферма на старых сборках Chromium.

  2. Отчёт «Источники → Тип трафика → Прямые заходы». Доля «прямых» свыше 35–40% при нормальном SEO — индикатор. Накрутчики ходят без referrer.

  3. Глубина просмотра. Внезапный пик визитов с глубиной ровно «2 страницы» и временем 60–120 сек — почти всегда накрутка ПФ.

  4. Карта кликов и Вебвизор. Откройте 5–10 случайных сессий: реальный пользователь дёргает мышь, бот двигает её ровными отрезками между кликами.

  5. Соотношение мобильного и десктопного. Скачок мобильного трафика без рекламы и без Дзена — типичный сигнал ферм с мобильными прокси.

  6. Журнал сервера / Cloudflare logs. Грепните по ASN операторов: AS8359 (МТС), AS3216 (Билайн/VEON), AS25513 (МТС-РТК) — какая доля идёт на нерегиональный сайт?

  7. Сравните Метрику и серверные логи. Если уников в логах в 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-агенте, без редиректов и интерстициалов.

О BotHunt

BotHunt — российский сервис защиты сайтов от поведенческих ботов, парсеров, спама и брутфорса. Подключается через DNS (без изменений на сервере) или одной строкой кода — плагином для WordPress, PHP-агентом или через Bitrix/OpenCart. Срабатывает в реальном времени и блокирует ботов до того, как они попадут в Метрику и повлияют на позиции в Яндексе. Точность детекции — 99,9%, ложных срабатываний — менее 0,05%.

Начать
14 дней бесплатно