Как боты рисуют “человеческое” движение мыши и убивают поведенческие метрики
Давайте поднимем логи и посмотрим правде в глаза. Поведенческий фрод редко палится кликом; он палится траекторией. У живого пользователя курсор идёт с микрокоррекциями, паузами, дрожанием на пикселях и неровной скоростью. У скрипта — кривая слишком гладкая, шаг слишком равномерный, а углы поворота выглядят как линейка с примесью случайного шума.
Типовой бот делает три вещи:
— генерирует псевдослучайные точки по Bézier или spline;
— подмешивает delay между событиями mousemove, но не синхронизирует его с render cycle;
— имитирует scroll и dwell time, не связывая их с контентом страницы.
Вот здесь и вскрывается подделка: события есть, а реакции на DOM нет. Нет зависания на интерактивных элементах, нет возвратов к заголовкам, нет остановок перед формой. Ботнеты эволюционируют, но паттерны их поведения остаются прежними.
Смотрите на сырые признаки: частота mousemove в узких диапазонах, одинаковая длина сессий, одинаковые шаблоны scroll depth, отсутствие blur/focus-циклов, нулевая вариативность по hover-цепочкам. Если в логах cursor path выглядит как telemetry из симулятора — это не пользователь, это аккуратный мусор, упакованный под человека.
Защита строится не на одном сигнале, а на матрице: скорость перемещения, энтропия траектории, связка scroll→hover→click, задержки между paint и input, а также согласованность cursor path с видимостью блока в viewport. Один прокси-сигнал можно подделать. Пять независимых — уже дороговато даже для самых старательных вебмастеров.
Вот технический разбор того, как именно уплывает ваш рекламный бюджет: сначала рисуют активность, потом докручивают видимость, а в конце отправляют “прогретую” сессию в аналитику. Если не сверять поведение с сырой телеметрией, вы платите за красивую имитацию интереса.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Как боты рисуют “человеческое” движение мыши и убивают поведенческие метрики
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.