CreepJS:浏览器指纹测试如何看待你

CreepJS:浏览器指纹测试如何看待你

打开一个普通的网页,在你点击任何内容之前,它就能从数百万个浏览器中找到你的浏览器。无需登录,无需 cookie,也无需任何权限提示。即使清除浏览历史记录、切换到隐身模式、使用 VPN 路由所有流量,网页通常仍然能够识别出你。它并非通过你的浏览器地址,而是利用你的浏览器免费提供的成千上万个细微的隐私信息。CreepJS 正是证明你隐私暴露程度的工具,一旦你亲眼见证它的运作,网络的匿名性就会荡然无存。本指南将解释 CreepJS 是什么,它是如何识别你的,如何抵御浏览器隐私的侵蚀,以及为什么拥有多个加密货币账户的人都应该关注这个问题。

什么是浏览器指纹识别?

浏览器指纹识别是一种无需标签即可识别浏览器身份的技术。它并非在您的设备上植入 cookie 并在之后读取其内容,而是通过脚本悄悄收集浏览器在加载页面时泄露的数十个详细信息,然后将它们组合成一个通常只属于您的独特值。您的屏幕分辨率、已安装的字体、时区、用户代理字符串、显卡绘制图像的具体方式等等,每一项单独来看都微不足道,但它们组合在一起却能精准地识别出特定的浏览器,几乎无法与其他浏览器关联。

这种组合究竟有多独特?在电子前沿基金会 (EFF) 的一项里程碑式研究中,彼得·埃克斯利 (Peter Eckersley) 发现,在自行测试的访客中,83.6% 的浏览器是独一无二的;如果将插件信息也考虑在内,这一比例上升至 94.2%,浏览器指纹包含约 18.1 位识别信息。2018 年一项针对两百万主流网站访客的研究则得出了较低的结论,约为 33.6%,因为普通用户倾向于使用相同的配置。真实情况介于这两个数字之间,无论如何,你的浏览器越独特,你的独特指纹就越容易暴露你的身份。

这项技术比大多数人意识到的要普遍得多。 普林斯顿大学对排名前一百万的网站进行爬取后发现,约有 1.6% 的网站使用了 Canvas 指纹识别技术,这一比例在最热门的网站中超过了 5%,而后续的统计数据显示,到 2021 年,排名前十万的网站中,使用 Canvas 指纹识别技术的网站比例已接近 10%。这项技术的影响也并不均衡,AmIUnique 的研究发现,桌面浏览器的指纹识别率约为 90%,而移动设备的这一比例约为 81%,移动设备的硬件往往更加统一。无论如何,指纹识别技术正悄无声息地渗透到你访问的大量网页中。

CreepJS是什么?它是谁开发的?

CreepJS 并非试图出售您数据的追踪器;它是一个开源的指纹识别库和镜像,由开发者 Abraham Juliot 构建,旨在展示大多数隐私保护措施的脆弱性以及指纹识别的实际工作原理。您只需将浏览器指向在线演示,它就会运行测试,并返回一份报告,说明您的浏览器有多容易被识别以及有多“诚实”。

该项目托管在GitHub上,采用宽松的 MIT 许可证,拥有约 2400 个 star,并将二十多种测试类别整合到一个页面中。与其说它是一个实际的机器人拦截器,不如说它是一个研究基准,是隐私研究人员和反检测厂商用来衡量自身工作的标尺。如果你的隐蔽部署无法通过 CreepJS 的检测,那么它也同样无法通过严肃的商业指纹识别服务,这正是 CreepJS 成为非官方“考试”的原因。

这款免费工具生成的报告异常详尽。除了最重要的信任评分外,它还列出了所有测量到的信号,标记出疑似被篡改的信号,并显示页面刷新后指纹的稳定性。正因如此,当开发者想要了解隐私设置是否真的有所改变,还是只是感觉上有所改变时,他们首先会参考这款工具。

creepjs

CreepJS 的底层工作原理

大多数指纹识别检测只是读取你的设置。CreepJS 更进一步,因为它会让你的浏览器实际执行一些操作,例如绘制图像、渲染 3D 模型、对生成的声音进行音频指纹识别、触发计时器等等,然后分析你的电脑是如何执行每项任务的。与其说是“做什么”,不如说是“怎么做”更难造假,而这正是 CreepJS 声名鹊起的原因。

CreepJS 收集的信号

该工具会从多种来源获取信息,而每个浏览器属性都会泄露一些关于您设备的略微不同的信息。下表列出了主要的属性及其泄露的信息。

信号它揭示了什么
帆布设备渲染文本和形状时会出现微小的像素差异
WebGL / GPU您的图形硬件和驱动程序,通过 3D 渲染暴露出来。
网络音频你的音频堆栈如何处理生成的声波
已安装字体您的系统包含的确切字体列表
屏幕分辨率显示屏尺寸、色彩深度和像素比率
用户代理浏览器、版本和操作系统声明
WebRTC可能绕过 VPN 的本地网络详细信息

脚本通过普通的 JavaScript 和浏览器 API 读取大部分信息,包括浏览器报告的插件信息。然后,CreepJS 会在 Web Worker 和隐藏框架中运行相同的探测,以交叉验证结果,因为被篡改的浏览器通常会在主窗口和其他地方给出不同的结果。

信任评分、熵和谎言

CreepJS 会将所有信号整合到一个哈希值中,这个简洁的值代表了你的整个浏览器配置文件。它会围绕这个哈希值生成一个信任评分,这个评分与其说是衡量你的浏览器有多罕见,不如说是衡量你的浏览器看起来有多一致和符合预期。即使是常见的配置,只要简洁明了、逻辑清晰,也能获得较高的评分。

CreepJS 的巧妙之处在于其谎言检测功能。它会监视“谎言”,也就是当有人篡改浏览器时出现的细微矛盾,例如用户代理声称使用的是 macOS,而已安装的字体和图形堆栈却清楚地显示为 Windows。伪造一个值就会在其他地方造成不匹配,而这种不匹配往往比你试图隐藏的原始信号更加明显。

它不仅仅是检查标签那么简单。CreepJS 还会测量某些操作的耗时,并检查 JavaScript 引擎处理数学结果的方式,因为不同版本的引擎在处理三角函数计算时会采用略有不同的舍入方式,而伪造的版本号并不能改变引擎的实际计算方式。将这些隐蔽的检查叠加起来,原本看似完美的伪装就会显得像个骗局。

CreepJS揭示了无头浏览器的哪些特性

这正是让爬虫开发者和机器人构建者感到不安的地方。普通的浏览器自动化工具几乎会立即发出警报,因为默认的 Selenium 或 Playwright 会话包含明显的特征,例如 navigator.webdriver 标志设置为 true、使用 HeadlessChrome 用户代理,以及一些与真实用户浏览器不符的信号。隐蔽补丁可以减弱这些特征,但很少能彻底消除它们。

针对 CreepJS 的独立测试表明,未经优化的机器人程序与精心设计的机器人程序之间存在巨大差距。以下数据来自反机器人检测报告,这些报告对每种工具都进行了相同的指纹测试。

自动化设置CreepJS 检测
Vanilla Selenium / 剧作家检测到约100%
带有隐蔽插件的剧作家检测到约40%
未检测到的 ChromeDriver检测到约 31%
Camoufox(强化版 Firefox)无头分数接近 0%。

对于任何开发网络爬虫的人来说,这都是一个显而易见的教训。仅仅关闭一个标志位是不够的,因为 CreepJS 会检查整个配置文件是否完整,而 CreepJS 上伪装得不完整的自动化工具的得分通常比不上一个诚实的工具。我们的目标不是把浏览器拆解到无数据可查,因为空配置文件本身就很可疑,而是要让一个无头会话的渲染、行为和计时都与真实屏幕上的真实浏览器完全一致,这远比简单地将一个设置设为 false 要困难得多。

绕过 CreepJS 对加密账户的检测

这是我很少在 CreepJS 的解释性文章封面中看到的角度。交易所和空投平台对访客进行指纹识别的原因与赌场监控赌场大厅的原因相同——为了抓到一个人悄悄地使用多个账户,而一个共享的指纹就能将一大堆“独立”钱包关联到同一台机器。

为什么交易所和空投会给你留下指纹?

这其中牵涉到真金白银。2024年5月, LayerZero协议开展空投反洗钱行动时,标记了803,093个地址,怀疑它们用于多账户挖矿,最终约有59%的申请者被移除。设备和浏览器指纹识别是平台用来关联这些账户的最有力工具之一。创建新钱包只需几秒钟,但构建一个真正全新的指纹却难得多。

反检测浏览器实际做了什么

这就是反检测浏览器的用武之地,这类浏览器包括 Multilogin、GoLogin、AdsPower 和Dolphin Anti 。它们并非隐藏你的指纹,而是为每个用户创建一个完整且内部一致的配置文件,因此每个账户看起来都像是一个不同的普通人,而不是同一个人伪装后的结果。市场需求呈爆炸式增长,仅 AdsPower 一家就报告称,其用户数量将从 2020 年的约 10 万增长到 2025 年的约 900 万。它们的优势在于一致性,因为一个完全一致的配置文件远胜于一个在三个地方巧妙修补、在第四个地方自相矛盾的配置文件。在底层,每个配置文件都包含一组匹配的值。可信的用户代理、字体列表、GPU 字符串、屏幕尺寸和时区都属于同一个虚拟设备,而更优秀的工具会将这些值作为一个整体进行轮换,而不是编辑一个字段然后祈祷其他字段仍然匹配。不过,这里需要特别说明一点。干净的指纹可以保护您的登录隐私,但它不能取代自我监管和清醒的行动安全,而且运营多个帐户可能会违反平台的条款。

如何降低 CreepJS 信任评分

具体的操作流程比你想象的要少见,其背后反直觉的原则是:看起来自然一致总比看起来像是在模仿要好。以下是一个合理的操作顺序:

1. 从真实的、常见的设备配置文件开始,不要试图伪造单个值,因为你创建的每一个不匹配项都会被 CreepJS 标记为谎言。

2. 为了完全匿名,可以使用Tor 浏览器,它通过信箱模式将你的屏幕分割成固定大小,使每台 Windows 机器都报告为相同的 Windows 系统,每台 Mac 都报告为相同的 macOS 系统,这样你就可以融入人群。

3. 以 Brave 为例,它的 farbling 功能会在画布和音频阅读中添加每次会话的随机变化,使数值在站点之间变化,而不是形成一个稳定的 ID。

4. 避免使用奇特的扩展和不寻常的设置,因为每一个奇怪的选择都会增加你的熵,使你更加独特,而不是更不独特。

5. 对于多账户工作,要依靠具有一致配置文件的合适的反检测浏览器,而不是一堆隐私插件,然后在 CreepJS 实时演示上重新测试,并注意谎言的数量,而不仅仅是标题分数。

先从真正重要的账户入手,认真测试,把测试结果当作反馈,而不是必须第一次就拿到满分的成绩。

creepjs

绕过浏览器指纹识别的局限性

你永远无法真正战胜指纹识别,你只能融入人群,而 CreepJS 的存在正是为了展示这种融入究竟有多么脆弱。反指纹识别工具有所改进,但检测方法也同样如此。更广泛的趋势对隐私保护也并不乐观。 谷歌在承诺多年后,于 2025 年 4 月仍然保留了第三方 cookie ,并在同年早些时候悄悄解除了对广告商指纹识别的禁令——英国数据监管机构称此举不负责任。指纹识别技术正在发展壮大,而非衰落,因此,现实的目标是构建一个低熵、连贯的个人画像,使其融入人群,而不是真正意义上的隐形。

你的指纹、CreepJS 和隐私

用 CreepJS 测试一下自己,看看信任评分能不能起到警醒作用。我们的目标不是让自己看起来像个幽灵(那样只会让你显得更怪异),而是让自己看起来正常且始终如一,并根据不同的用途选择合适的工具——需要匿名时使用 Tor,管理多个账户时使用统一的反检测配置文件。指纹识别是一场精心设计的伪装游戏,而且要全力以赴。所以,真正的问题很简单:你上次检查自己的浏览器向网络发送了哪些信息是什么时候?

任何问题?

CreepJS 是一款由开发者 Abraham Juliot 开发的免费开源浏览器指纹识别测试工具。加载其演示页面后,它会测量浏览器外观的独特性和一致性,然后报告信任评分和检测到的不一致之处列表。它被广泛用作测试隐私和反检测工具的基准。

CreepJS 会对你的浏览器进行二十多项测试,包括渲染图形、处理音频和报告系统详情,然后将结果哈希处理成一个指纹。它还会重新运行工作进程和隐藏帧中的探测任务,以检测篡改行为,并标记浏览器声明的内容与其实际行为之间的矛盾之处。

它会检查 canvas 和 WebGL 渲染、您的 GPU、Web Audio 协议栈、已安装的字体、屏幕分辨率、用户代理、WebRTC、时区以及浏览器报告的插件。每个信号都包含一些识别信息,CreepJS 会将它们组合起来,并检查它们是否彼此一致。

通常是这样。VPN 会隐藏你的 IP 地址,但指纹识别技术会忽略 IP 地址,转而读取你的浏览器和设备信息,因此同一个指纹会追踪你使用的不同 VPN 服务器。WebRTC 甚至可以绕过 VPN 泄露本地网络信息,这就是为什么仅靠 VPN 无法实现匿名的原因。

你无法完全阻止信息收集,但你可以融入人群。Tor 浏览器和 Brave 浏览器通过黑边和模糊处理来降低你的独特性,而一套连贯的反检测配置文件则会呈现出一个可信的、常见的“指纹”。其目标是降低信息熵并保持一致性,而不是完全隐形。

大部分情况下是这样。原版自动化几乎每次都会被检测到,大多数隐蔽补丁只是降低了被检测到的概率,而没有彻底消除。少数强化工具,例如 Camoufox,表现非常出色,但 CreepJS 仍然能够发现简单伪装留下的漏洞。

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.