Что обычно называют Bad Bot
К Bad Bot относят автоматизацию, которая выполняет действия без согласия владельца или с ущербом для ресурса. Это может быть парсер цен, бот массовых заявок, рекламный клик-бот, scanner, scraper или сложная browser automation.
Категория полезна для политики, но не должна превращаться в один технический флаг. Сначала определяется evidence, затем правило сайта решает, допустим сценарий или нет.
Чем bad bot отличается от обычного посетителя
- повторяемые маршруты и интервалы;
- массовый перебор URL/параметров;
- аномально высокая доля 404;
- automation/runtime markers;
- несогласованность headers и browser telemetry;
- смена IP/ASN при стабильной session/fingerprint;
- повторные неудачные Challenge при здоровой подсистеме.
Что часто ошибочно принимают за плохого бота
Privacy browser, корпоративный proxy, мобильная сеть, мониторинг и поисковый crawler могут выглядеть необычно. Даже headless browser может быть легитимным тестом. Поэтому сильное решение опирается на несколько сигналов и explicit allowlists там, где владелец знает источник.
Если Network Intelligence не имеет данных или browser probe не выполнился, корректное состояние — NO_DATA/UNKNOWN, а не автоматический BOT.
Как формализовать политику
| Сценарий | Смысл | Действие |
|---|---|---|
| Verified Google/Yandex crawler | Полезный | ALLOW |
| Известный monitoring | Полезный | ALLOW / bypass |
| Unknown browser с низким risk | Неизвестный | OBSERVE |
| Scraper с подтверждённым pattern | Нежелательный | Challenge/rate/block |
| Hard abuse rule | Вредоносный | BLOCK |
| Network NO_DATA | Неизвестно | 0 contribution / continue |
Как ограничивать Bad Bot
Не обязательно начинать с постоянного IP-ban. Для распределённой автоматизации он часто малоэффективен. Практичнее scoped rules, rate/context, Challenge, временные действия и Decision Trace для проверки причины ограничения.
Bad Bot в модели AntiPF
AntiPF не использует упрощённую формулу «один странный признак = бот». Hard rules имеют приоритет, Risk объединяет evidence, Browser Signals работает bounded/fail-neutral, а Decision Trace показывает вклад источников.