CDP, протокол Chrome DevTools
CDP (Chrome DevTools Protocol) — набор команд, которыми программа управляет браузером: открыть адрес, нажать на кнопку, ввести текст, выполнить скрипт на странице, снять снимок экрана. Тем же языком пользуются встроенные инструменты разработчика, Playwright и Puppeteer.
Команды выглядят понятно: Page.navigate, Runtime.evaluate, Page.captureScreenshot.
Как программа подключается: три пути
| Путь | Как это выглядит | Подвох |
|---|---|---|
| Порт | браузер запускается с --remote-debugging-port, программа стучится на него | порт открыт, и к нему может подключиться не только хозяин |
| Пайп | канал между программой и браузером, без сетевого порта | снаружи не подключиться — этим он и лучше |
| Через расширение | команды идёт отдавать расширение изнутри браузера | отладочных ключей в командной строке нет вовсе |
Разница не косметическая. Открытый отладочный порт — это полный доступ к браузеру: через него читаются все куки профиля целиком, включая недоступные скриптам на странице. Именно поэтому Chrome 136 запретил отладку на папке профиля по умолчанию.
Замер, который стоит знать заранее
Вход в аккаунт Google не проходит, если у браузера есть отладочный канал — любой. Мы проверяли отдельно: и порт, и пайп, и даже когда канал просто открыт, а команд по нему не отправляется. Результат один — войти не удаётся.
Это не лечится подменой отпечатка: проверяется не то, как браузер выглядит, а сам факт, что им можно управлять снаружи.
Следствие практическое: автоматизация и вход в Google — выбор, а не сочетание. Профиль, которым управляют по отладочному каналу, для входа в Google не годится; профиль, в который нужно войти под Google, автоматизируют другим способом — через расширение изнутри.
Зачем это обычному человеку
Напрямую — незачем. Косвенно — затем, что на CDP держатся скрипты, автоматизация и управление браузером из ИИ-агента. А ещё затем, что открытый отладочный порт на вашей машине — настоящая дыра: если программа предлагает «просто включить отладку» на основном браузере, это повод спросить зачем.
