Как сайты детектят headless-браузеры в 2026: утечки CDP, проверки согласованности и что помогает

Опубликовано 6 июня 2026 г. · ≈9 мин чтения

Вы перешли от голого HTTP к настоящему браузеру. TLS-отпечаток — честно Chrome. IP — резидентный. А сайт всё равно знает. В 2026 году детект headless-браузеров ушёл далеко за navigator.webdriver — нынешнее поколение проверок детектит сам протокол автоматизации, а большинство "stealth"-плагинов латают вчерашние сигналы, громко выставляя напоказ сегодняшние.

Эта статья размечает, что сайты реально проверяют сейчас, примерно в порядке проверки, и что реально помогает на каждом слое. Она завершает трилогию детекта вместе с TLS-фингерпринтингом JA3/JA4 (сетевой слой) и репутацией IP и ASN (адресный слой) — это слой браузера.

Уровень 1: классика (решено, но всё ещё проверяют)

Если цель проверяет только Уровень 1, современный Playwright с headless=new проходит насквозь. Серьёзные цели ушли дальше много лет назад.

Уровень 2: детект CDP — рабочая лошадка 2026

Playwright и Puppeteer управляют Chrome через Chrome DevTools Protocol, и CDP оставляет рантайм-побочки, которые JavaScript страницы может наблюдать:

// Классическая утечка CDP: коллбэки сериализации
const err = new Error();
Object.defineProperty(err, "stack", {
  get() {
    // Этот getter срабатывает ВО ВРЕМЯ сериализации console -
    // что бывает только когда подключён DevTools/CDP
    window.__cdp_detected = true;
  },
});
console.debug(err);

Вариации этого — побочки геттеров при сериализации console, аномалии тайминга в Runtime.evaluate, поведение toString() на пропатченных нативных функциях — есть в каждом коммерческом анти-бот бандле. Ключевое: это детектит протокол, а не headless-режим. Headed, пропатченный под stealth, идеально человекоподобный Chrome всё равно провалится, если управляется через CDP.

Что помогает:

Уровень 3: согласованность окружения

Помимо артефактов, современные системы проверяют, внутренне ли непротиворечива легенда вашего браузера:

ПроверкаПризнак бота
Хэш рендера Canvas / WebGLПрограммный рендеринг SwiftShader/llvmpipe = серверный GPU; или хэш, общий для 10 000 "разных юзеров"
Шрифты и кодекиНабор шрифтов Linux-сервера под Windows User-Agent
Часовой пояс × локаль × гео IPIntl говорит UTC, IP говорит Техас, Accept-Language говорит de-DE
Метрики экрана1920×1080 без панели задач, devicePixelRatio ровно 1, окно ни разу не меняло размер
Число ядер / память96 ядер, отданных странице, которая прикидывается телефоном
Поведенческие микросигналыНулевая энтропия мыши, мгновенное заполнение форм, прокрутка одинаковыми шагами по 100px

Вот где умирает самодельный stealth: каждый ваш патч должен согласовываться с каждым другим сигналом. Подделанный Windows UA на Linux-контейнере одновременно противоречит шрифтам, строкам GPU и TCP-отпечаткам. Согласованность бьёт идеальность — честный headed Linux Chrome набирает больше очков, чем криво подделанный "Windows".

И слой ниже по-прежнему в силе

Ничто из этого не имеет значения, если адресный слой выжжен: безупречный браузер на дата-центровом ASN всё равно "безупречный браузер в дата-центре" — а пороги детекта headless адаптивны к репутации IP. Тот же браузер получает больше JavaScript-challenge с помеченного IP. Резидентные выходы фактически снижают уровень придирчивости, который должен пережить слой браузера:

browser = p.chromium.launch(
    headless=False,                      # headed переживает больше проверок
    args=["--disable-blink-features=AutomationControlled"],
    proxy={
        "server": "us.jibaoproxy.com:913",
        "username": "USERNAME", "password": "PASSWORD",
    },
)

Практический чек-лист

  1. Используйте новый headless или headed режим; никогда не легаси-headless.
  2. Считайте детект CDP данностью на любой серьёзной цели — пропатченный рантайм, не-CDP драйвер или укреплённый не-Chromium движок.
  3. Не штабелируйте stealth-плагины вслепую; каждый непропатченный toString() сам по себе сигнал. Меньше, но согласованных патчей — выигрыш.
  4. Сводите всю легенду: часовой пояс = гео IP = локаль; GPU правдоподобен для заявленной ОС.
  5. Добавляйте энтропию ввода — искривлённые траектории мыши, переменные задержки, иногда прокрутку назад.
  6. Тестируйте против нейтрального наблюдателя до настоящей цели.
Бесплатный инструмент · без регистрации

Проверьте свой стек автоматизации за одну загрузку страницы

Наш Fingerprint & Leak Test показывает флаги webdriver, артефакты CDP, хэши canvas/WebGL, противоречия часового пояса и IP и проверки согласованности, которые гоняют анти-бот вендоры — для любого браузера, который вы на него наведёте.

Протестировать отпечаток браузера →

Браузер чистый, а IP вас выдаёт? Сочетайте его с резидентными выходами — $5 бесплатного баланса →

Итоги

Дайте браузеру правдоподобный адрес

Резидентные IP, совпадающие с легендой вашего отпечатка — $5 бесплатного баланса, без карты.

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

Все IP-продукты · огромный пул узлов, доступных в любой момент

Зарегистрируйтесь сейчас и получите до 100% кэшбэка на пополнение

Новым пользователям — 5U при регистрации, бонус к первому пополнению. Акция ограничена по времени.