Где используют 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.
Headless evidence в AntiPF
Browser Signals Lite собирает direct/generic automation markers и consistency-сигналы, а Risk Engine объединяет их с behavior/network/challenge evidence. Default режим — COLLECT/SHADOW, без автоматического ACTIVE.