惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
A
About on SuperTechFans
Vercel News
Vercel News
B
Blog
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
腾讯CDC
D
Docker
V
Visual Studio Blog
博客园 - 叶小钗
The Cloudflare Blog
Jina AI
Jina AI
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏

博客园 - iTech

7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策 71000颗星的AI交易团队:让大模型模拟投行分工,自动做交易决策 13400颗星的开源项目:输入一句话,AI全自动帮你做短视频 102颗星的沙盒:当AI学会自己写代码、跑测试、做部署 AI 技术日报 - 2026-05-08 29k 星的 PageIndex:不用向量数据库,靠推理就能做 RAG 每天花两小时刷信息?这个开源项目帮你全自动搞定 读源码像读小说?试了 DeepWiki 和 Zread,我再也不想裸读 GitHub 了 Matt Pocock 开源的这套 .claude 技能,为什么让工程师集体上头? Cursor Team Kit:Cursor 官方团队在用的 17 个 AI 工作流 AI 技术日报 - 2026-05-07 AI 技术日报 - 2026-05-06 AI 技术日报 - 2026-05-05 Anthropic CEO 说 12 个月内程序员要失业,我扒完他的底牌,发现事情没那么简单 把工程师的肌肉记忆装进 Claude Code,这个 4300 Star 的项目我后悔没早用 AI 技术日报 - 2026-05-04 AI 技术日报 - 2026-05-03 AI 技术日报 - 2026-05-02 六大 Agent 框架横评:谁支持 Skills?谁能自动创建 Agent?MCP 呢? Wechatsync:一个 Chrome 插件,一键把文章同步到 31 个平台 LangChain 开源了 Open SWE:Stripe、Ramp、Coinbase 内部都在造的编程 Agent Cockpit:把 Claude Code 从终端里搬出来,装进浏览器 Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活 AI 技术日报 - 2026-05-01 AI 写代码每次结果都不一样?Archon 用 YAML 工作流把 AI 编程变成流水线 AI 写代码比你快了,但你还是得学编程——只不过学法得换 腾讯的龙虾特工队:4 个 AI Agent 同日更新,全家桶正式成型 Agno 不做更聪明的 Agent,它要把所有 Agent 框架包进同一个操作系统 Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问 Datawhale 出了一套 29 学科知识地图,把 AI 的底牌全掀了
CloakBrowser:15k Star 的隐形浏览器,49 个 C++ 补丁干翻所...
iTech · 2026-05-19 · via 博客园 - iTech

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人工智能时代,转载请注明出处。