Browser · automation

Headless browser: что это и почему headless не всегда означает бота

Headless browser — браузер, работающий без обычного графического интерфейса. Он используется в тестировании, рендеринге, мониторинге и web automation — как легитимной, так и нежелательной.

Где используют headless browser

  • автотесты интерфейса;
  • server-side screenshot/PDF;
  • monitoring;
  • динамический web scraping;
  • автоматизация форм и личных кабинетов;
  • исследовательские/SEO-инструменты.

Современный Chrome Headless старается быть ближе к обычному Chrome, а automation frameworks вроде Selenium, Playwright и Puppeteer могут запускать полноценный Chromium. Поэтому само слово «headless» уже не означает «легко обнаруживаемый бот».

Какие признаки может видеть сайт

Доступны WebDriver/runtime markers, browser/header inconsistencies, особенности capabilities и поведения. Но конкретные признаки меняются с версиями браузеров и frameworks, поэтому detection registry должен быть versioned и не опираться на устаревшие «магические» проверки.

Корректное именование

Generic automation marker нужно так и называть. Нельзя писать BAS_DETECTED или ZENNOPOSTER_DETECTED, если найден только общий признак Chromium automation.

Почему anti-detect усложняет задачу

Automation stack может менять headers, navigator properties, timezone, screen, canvas/WebGL и использовать residential proxies. Это снижает ценность одиночных fingerprints и повышает роль cross-layer consistency и последовательностей поведения.

Stealth plugins, anti-detect browser и ручная подмена отдельных API могут скрывать прямые markers. Это повышает ценность cross-check: header/browser consistency, sequence behavior, fingerprint churn и Challenge history.

Как не блокировать легитимный headless

Внутренние тесты и monitoring лучше добавить в explicit policy. Для неизвестного трафика headless evidence должно повышать risk только пропорционально confidence, а не автоматически давать permanent BLOCK.

Рабочая модель решения

automation marker + high request rate + sequence anomaly + challenge fail + IP rotation — гораздо сильнее, чем любое отдельное «headless-like» наблюдение. Это делает защиту устойчивее к spoofing.

Как это связано с AntiPF

Headless evidence в AntiPF

Browser Signals Lite собирает direct/generic automation markers и consistency-сигналы, а Risk Engine объединяет их с behavior/network/challenge evidence. Default режим — COLLECT/SHADOW, без автоматического ACTIVE.

МодульBrowser Signals Lite →МодульRisk Engine →СтатьяBrowser automation →СтатьяКак отличить бота →
FAQ

Частые вопросы

Headless browser — это бот?

Это среда выполнения. Она может использоваться ботом, но также тестами и мониторингом.

Selenium всегда headless?

Нет. Selenium и другие frameworks могут управлять обычным видимым браузером.

Можно ли скрыть webdriver?

Некоторые признаки автоматизации пытаются маскировать. Поэтому защита не должна полагаться на один navigator.webdriver.

Стоит ли блокировать headless сразу?

Обычно нет. Лучше использовать как evidence и учитывать explicit allow для известных легитимных систем.

Следующий шаг

Нужно проверить трафик на реальном сайте?

Пришлите домен и симптомы. Разберём, какие данные уже есть в логах и аналитике, какие сигналы имеет смысл собирать и где защита даст практический эффект.