CloakBrowser:15k Star 的隐形浏览器,49 个 C++ 补丁干翻所有反爬检测

CloakBrowser:15k Star 的隐形浏览器,49 个 C++ 补丁干翻所有反爬检测

AI Agent 需要操作浏览器,但几乎每个网站都在检测你是不是机器人。

navigator.webdriver 返回 true,Canvas 指纹暴露你是 Headless 模式,TLS 握手特征和正常 Chrome 不一样,鼠标轨迹太直被行为分析识别……随便哪个环节露馅,轻则弹验证码,重则直接封 IP。

现有的 stealth 方案——playwright-stealth、undetected-chromedriver——本质上是在 JS 层面打补丁,反检测网站一升级就失效。

最近在 GitHub 上看到一个思路完全不同的项目:CloakBrowser,15,285 Star,直接在 Chromium 的 C++ 源码上打了 49 个补丁,从二进制层面消灭所有自动化痕迹。

本文提纲

  1. 49 个 C++ 源码级补丁,不是 JS 注入
  2. 实测数据:30/30 反检测测试全过
  3. 和 agent-browser 的关系:工具 vs 引擎
  4. 和同类 stealth 方案的对比
  5. 快速上手:一行代码替换 Playwright
  6. 适用场景和注意事项

49 个 C++ 源码级补丁,不是 JS 注入

先说清楚 CloakBrowser 的核心思路和传统方案的区别。

传统方案(playwright-stealth、puppeteer-extra-plugin-stealth)的工作方式是在页面加载前注入一段 JS,覆盖 navigator.webdriver、修改 chrome 对象、伪造 Canvas 指纹。问题是:

  • 网站可以在 JS 注入之前就读取指纹
  • 注入的 JS 本身可以被检测到
  • Chrome 一更新,补丁就失效

CloakBrowser 完全不在这个层面玩。它 fork 了 Chromium 源码,直接在 C++ 层面修改了 49 个位置的代码,重新编译出一个定制的 Chromium 二进制文件。补丁覆盖的范围:

类别 补丁内容
Canvas/WebGL/Audio 在渲染层注入噪声,指纹每次不同但内部一致
GPU 信息 vendor/renderer 字符串替换为真实硬件值
硬件参数 屏幕分辨率、CPU 核心数、内存大小全部伪装
Navigator webdriver=falseplugins.length=5chrome 对象完整存在
UA 字符串 去掉 HeadlessChrome 标识,返回正常 Chrome/146.0.0.0
WebRTC ICE 候选和 IP 地址自动匹配代理出口
TLS 指纹 ja3/ja4/Akamai 指纹与正常 Chrome 完全一致
CDP 行为 键盘、鼠标、滚轮操作全部人类化
网络时序 DNS/连接/SSL 时间归零,Proxy-Connection 头剥离

每次启动都会从一个种子生成一套全新的、内部一致的指纹身份——GPU 型号、硬件参数、屏幕尺寸、Canvas/WebGL/Audio 噪声、字体列表全部联动。不是随机拼凑,而是像一个真实的设备配置。

实测数据:30/30 反检测测试全过

空口无凭,看数据。CloakBrowser 的 README 列了一组对比测试:

检测服务 原版 Playwright CloakBrowser
reCAPTCHA v3 0.1(机器人) 0.9(人类级)
Cloudflare Turnstile(非交互) 失败 通过
Cloudflare Turnstile(托管) 失败 通过
FingerprintJS 检测到 通过
BrowserScan 检测到 正常 (4/4)
navigator.webdriver true false
navigator.plugins.length 0 5
window.chrome undefined object
UA 字符串 HeadlessChrome Chrome/146.0.0.0
TLS 指纹 不匹配 与 Chrome 一致
CDP 检测 检测到 未检测到

最夸张的是 reCAPTCHA v3 的 0.9 分——这是服务端验证的,不是前端糊弄。0.9 基本等于"我们确信这是个人类"。

和 agent-browser 的关系:工具 vs 引擎

这两个项目经常被放在一起讨论,但它们解决的是不同层面的问题。

agent-browser 是一个浏览器自动化 CLI 工具,给 AI Agent 用的。它解决的是"怎么操控浏览器"——打开页面、填表、点击、截图、提取数据、管理登录状态。它用的是标准的 Chrome/Chromium,不做任何反检测处理。

CloakBrowser 是一个隐身浏览器引擎,给需要绕过反爬检测的场景用的。它解决的是"怎么不被检测到"——在 Chromium 二进制层面消除所有自动化痕迹。它不提供 CLI 工具,而是提供一个 Playwright/Puppeteer 兼容的 API。

两者的关系更像这样:

你的 AI Agent
    ↓ 调用
自动化工具(agent-browser、Playwright、Selenium)
    ↓ 启动
浏览器引擎(Chrome、Chromium、或 CloakBrowser)
    ↓ 访问
目标网站(带反爬检测 / 不带反爬检测)

agent-browser 是中间那层"怎么操控",CloakBrowser 是底层"用什么引擎"。理论上它们可以组合——用 CloakBrowser 的隐身引擎替代 agent-browser 默认的 Chrome,兼顾操控便利性和反检测能力。

简单说:

维度 agent-browser CloakBrowser
定位 浏览器自动化 CLI 隐身浏览器引擎
解决什么 怎么操控浏览器 怎么不被检测
反检测 无(标准 Chrome) 49 个 C++ 补丁
API 风格 独立 CLI 命令 Playwright/Puppeteer 替代
适用场景 通用网页自动化 反爬检测严格的网站
组合可能 ✅ 可搭配 CloakBrowser 引擎 ✅ 可被 agent-browser 调用

如果你只是做普通的网页自动化、测试、数据提取,agent-browser 足够。如果你要爬的网站有 Cloudflare、DataDome、reCAPTCHA 这类强检测,CloakBrowser 才派上用场。

和同类 stealth 方案的对比

CloakBrowser README 里有一组横向对比:

特性 Playwright playwright-stealth undetected-chromedriver Camoufox CloakBrowser
reCAPTCHA v3 0.1 0.3-0.5 0.3-0.7 0.7-0.9 0.9
Cloudflare Turnstile 失败 偶尔 偶尔 通过 通过
补丁级别 JS 注入 配置补丁 C++(Firefox) C++(Chromium)
Chrome 更新后存活 经常失效 经常失效
维护状态 活跃 停滞 停滞 不稳定 活跃

Camoufox 也是 C++ 源码级补丁,但它基于 Firefox,而 CloakBrowser 基于 Chromium。对大多数 Playwright/Puppeteer 用户来说,Chromium 生态的兼容性好得多。

快速上手:一行代码替换 Playwright

Python 安装:

pip install cloakbrowser

Node.js 安装:

npm install cloakbrowser playwright-core

从 Playwright 迁移只需要改一行:

- from playwright.sync_api import sync_playwright
- pw = sync_playwright().start()
- browser = pw.chromium.launch()
+ from cloakbrowser import launch
+ browser = launch()

首次运行会自动下载定制的 Chromium 二进制文件(约 200MB),之后缓存到本地,SHA-256 校验。还有一个 humanize=True 参数,一行开启人类化的鼠标曲线、键盘输入节奏(每个字符间有思考停顿)、滚动模式。

Docker 也可以:

docker run --rm cloakhq/cloakbrowser cloaktest

适用场景和注意事项

适合的场景

  • AI Agent 需要访问有反爬保护的网站(Cloudflare、DataDome 等)
  • 数据采集/价格监控
  • 广告验证
  • SEO 检查
  • 需要持久化 Cookie/Session 的多账号管理

需要注意的点

  • 定制 Chromium 二进制约 200MB,首次下载需要点时间
  • MIT 协议只覆盖 wrapper 代码,Chromium 二进制有单独的使用许可(免费但不可再分发)
  • 每次 Chromium 大版本更新都需要重新编译补丁,虽然项目维护很活跃(当前基于 Chromium 146),但这是一个持续依赖
  • 道德边界:反检测技术本身是中性的,用途决定性质

项目地址:github.com/CloakHQ/CloakBrowser

49 个 C++ 源码级补丁,不是在 JS 层面打补丁,而是从根本上消除了 Chromium 的自动化痕迹。reCAPTCHA v3 拿 0.9,Cloudflare Turnstile 直接过,TLS 指纹和正常 Chrome 一模一样。

对于需要绕过强反爬检测的 AI Agent 来说,这是目前开源方案里最彻底的一个。和 agent-browser 这类自动化工具搭配使用,操控便利性和隐身能力都不缺。


作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

posted @ 2026-05-19 09:52  iTech  阅读(32)  评论(0)    收藏  举报