Blacklight是实时网站隐私检查器。
该工具模拟观察用户浏览Web的方式。用户在Blacklight中输入所需的URL,检查员导航到该网站,扫描已知的侵犯隐私类型,并立即返回被调查站点的隐私分析。
Blacklight的工作方式是使用运行由The Markup创建的专用软件的无头浏览器(没有图形界面的浏览器)访问每个网站。该软件通过运行七个测试来监视站点上的哪些脚本可以潜在地观察用户,每个测试都检查一种不同的已知观察方法。
Blacklight监视以下监视类型:
- 第三方Cookie
- 广告追踪器
- 键盘记录器
- 会话记录
- 画布上的指纹
- Facebook追踪
- “再营销受众群体” Google Analytics(分析)
有关它们及其限制的更多详细信息如下所述。
Blacklight建立在NodeJS Javascript环境(即Puppeteer Node库)之上,该库提供了对Chromium浏览器(开源Chrome)的高度控制。当用户在Blacklight中输入URL时,该工具将启动具有新配置文件的无头浏览器,并访问站点的主页以及在同一网站内更深的随机选择的页面。
在您工作,学习或上网时,谁在监视您?
当浏览器访问网站时,它在后台运行专门的软件,该软件监视脚本和网络请求以了解何时以及如何收集用户数据。为了监视脚本,Blacklight修改了可用于指纹识别的浏览器Window API的各种属性。这使Blacklight可以使用Stacktrace-js包跟踪哪个脚本对特定函数进行了调用。使用Puppeteer API中包含的监视工具来收集网络请求。
Blacklight使用脚本数据和网络请求来运行上面列出的七个测试。之后,它将关闭浏览器并为用户生成报告。
它记录搜索的网站已请求的所有URL的列表。此外,它还会创建所有请求的域和子域的列表。除非用户选择使用适当的选项与我们共享结果,否则公开可用的工具不会保存这些列表。
我们使用“公共后缀+ 1”方法定义域名。用自己的域(第一方域)的概念,是指与访问的网站相对应的任何域,包括子域。通过第三方,我们是指不符合您正在访问的网站的任何领域。该工具将网站请求中的第三方域列表与Tracker Radar数据集进行比较DuckDuckGo网站。
通过此数据融合,Blacklight可以添加有关在受调查站点上找到的第三方域的以下信息:
- 域名所有者名称。
- DuckDuckGo分配给每个域的类别,描述其可观察的目标和意图。
有关第三方域的此附加信息作为Blacklight测试结果的上下文提供给用户。除其他外,此信息用于计算网站上与广告相关的跟踪器的数量。
Blacklight根据在工具界面中输入的页面根URL来运行测试。例如,如果用户输入example.com/sports,则Blacklight从example.com开始探索,并删除/ sports路径。如果用户输入sports.example.com,然后黑光开始勘探的sports.example.com。
每个请求域的Blacklight检查结果将缓存24小时;此类缓存的报告是根据24小时之内来自同一网站的用户的后续请求而返回的。通过尝试通过数千次自动访问使网站超载,以防止恶意使用该工具。
Blacklight还会告诉用户其得分是高于,低于还是大致等于“ Tranco列表”中排名前100,000个网站的得分。在下面的更多内容。
Blacklight代码库是开源的,可以在Github上使用;它也可以作为NPM模块下载。
我们的分析是有限的。 Blacklight模拟用户访问网站,但是其自动行为不同于人类,并且这种行为可以触发各种类型的监视。例如,自动请求可以触发更多的欺诈检查,但可以触发更少的广告。
考虑到Web技术的动态性质,随着时间的推移,其中某些测试也有可能过时。此外,Blacklight可能会认为存在新的可接受的技术使用违规行为。
因此,不应将Blacklight结果视为对潜在网站隐私权侵害的最终决定。相反,应该将它们视为初始的自动化研究,需要进行额外的研究才能做出最终决定。
之前的工作
Blacklight建立在过去十年编写的各种隐私控制工具的基础上。
它运行Javascript工具,从而可以跟踪浏览器Javascript API调用。这方面的工作基于OpenWPM,OpenWPM是由普林斯顿大学的Steven Englehard,Gunes Akar,Dillon Reisman和Arvind Narayanan创建的一种开源Web隐私度量工具。 Mozilla当前支持该工具。
普林斯顿大学的Web透明度和问责制项目使用OpenWPM来监视网站和服务,以研究公司如何收集和使用数据以及误导用户。
通过2015年至2019年之间进行的各种研究,普林斯顿大学的研究人员确定了各种隐私泄露技术。其中包括浏览器指纹识别和Cookie同步,以及收集密码和敏感用户数据的会话重新创建脚本。一个著名的例子是walgreens.com的处方药和健康数据泄漏。
Blacklight执行的七个测试中有五个基于上述普林斯顿研究中描述的技术。这些是画布指纹,键盘记录,会话记录和第三方域Cookie。
OpenWPM包含其他隐私研究工具(包括ThirdParty,Privacy Badger和FP Detective)的代码和技术:
- FourthParty是一个用于测量动态Web内容的开源平台,于2011年8月启动并一直维护到2014年。它已用于各种研究中,包括一项描述诸如Home Depot之类的网站将其用户名泄露给第三方的方式的研究。Blacklight使用ThirdParty的方法来监视用户信息通过网络向第三方的传输。
- Privacy Badger — , Electronic Frontier Foundation 2014 . .
- FP Detective . 2013 .
Blacklight数据分析的开发人员在某种程度上受到了欧盟电子数据保护主管(EDPS)开发的网站证据收集器的启发。网站证据收集器是一个NodeJS程序包,它使用Puppeteer库来研究网站如何收集用户个人数据。EDPS选择了一些收集的数据类别。
其他影响Blacklight发展的项目包括2012年加州大学伯克利分校的网络隐私普查和《华尔街日报》的“他们所知道的”系列。
我们如何分析每种类型的跟踪
第三方Cookie
第三方域Cookie是跟踪公司在访问网站时存储在用户Web浏览器中的一小部分数据。这是一段文本,通常是唯一的数字或字符串,用于在访问包含同一公司的跟踪代码的其他网站时标识访问者。数百家公司使用第三方域cookie来收集用户个人资料并根据其行为显示自定义广告。
流行的浏览器-Edge,Brave,Firefox和Safari-默认情况下会阻止第三方域跟踪Cookie,Chrome开发者宣布将拒绝它们。
Blacklight正在测试什么
Blacklight监视网络对“ Set-Cookie”标头的请求,并监视所有使用document.cookie javascript属性设置cookie的域。Blacklight将第三方域cookie识别为域与您正在访问的网站不匹配的cookie。我们在DuckDuckGo Tracker Radar中搜索这些第三方域,以了解谁拥有它们,使用它们的频率以及它们提供的服务类型。
键盘记录
键盘记录是第三方在单击“提交”按钮之前跟踪用户在网页上输入的文本的过程。此技术可用于多种目的,包括识别匿名用户,将其与邮政地址和真实姓名匹配。
键盘记录还有其他原因,例如提供自动完成功能。Blacklight无法识别目标网站使用此技术的意图。
Blacklight正在测试什么
为了测试站点是否正在记录日志,Blacklight在所有输入字段中输入了预定义的文本(请参阅附录),但是从不单击提交按钮。它监视网络请求,以检查输入的数据是否正在传递到任何服务器。
会话记录
会话记录是一项技术,允许第三方跟踪和记录网页上的所有用户行为,包括鼠标移动,单击,页面滚动以及所有表单输入,而无需按下提交按钮。
在2017年的一项研究中普林斯顿大学的研究人员发现,会话记录器会收集敏感信息,例如密码和信用卡号。当研究人员与相关公司联系时,他们中的大多数迅速做出反应并消除了数据泄露的原因。但是,研究强调,这些不仅是错误,而且是不安全的做法,据研究人员称,应该完全制止。提供会话记录功能的大多数公司报告说,他们使用数据为客户(安装该技术的网站)提供了有关如何提高网站可用性的有用信息。一家名为Inspectlet的公司将其服务描述为跟踪“单个用户在网站上的行为,就像我们站在他们身后一样”。(Inspectlet没有回复要求评论的电子邮件。)
著名的会话记录服务提供商Inspectlet的屏幕截图。
Blacklight测试的内容
会话记录是指以提供会话记录服务而闻名的公司加载特殊类型的脚本。
Blacklight监视网络对特定URL子字符串的请求,根据普林斯顿大学研究人员在2017年编制的清单显示,这些URL子字符串仅在录制会话时才会遇到。
有时,按键记录是录制会话的一部分。在这种情况下,即使两种测试都识别出相同的脚本,Blacklight也会正确地将会话记录报告为按键记录和会话记录,因为这两种行为都可以观察到。
Blacklight可以准确地识别网站加载这些脚本的情况,但是,公司通常只记录一次站点访问样本,因此并非每个用户都被记录下来,也不是每次访问都被记录下来。
画布上的指纹
指纹指的是一组试图识别浏览器而不创建cookie的技术。他们可以识别用户,即使他已经阻止了所有cookie。
画布指纹识别是一种指纹识别类型,它通过在用户网页上绘制形状和文本来标识用户,注意到它们呈现方式上的细微差别。
Blacklight发现的四个画布指纹识别示例。市场营销人员和其他专业人员使用
字体呈现,抗锯齿,抗锯齿和其他方面的这些差异来标识单个设备。除Chrome之外,所有主要的Internet浏览器都试图通过不对此类实践中出现的脚本执行数据查询,或试图标准化用户指纹来阻止画布指纹。 上图显示了指纹脚本使用的画布类型的示例。这样的画布通常对于用户是不可见的。哪些Blacklight测试 我们正在遵循本文描述的方法
普林斯顿大学的研究人员可以识别何时将HTML canvas元素用于跟踪。我们使用以下参数来识别要通过指纹渲染的画布:
- canvas元素的height和width属性必须不少于16px。
- 测试必须用至少十个字符写到画布上。
- 该脚本不应调用呈现上下文的save,restore或addEventListener方法。
- 脚本使用toDataURL或单个调用getImageData的图像来获取图像,该图像指定至少16px×16px的区域。
在实践中我们还没有看到这种情况,但是Blacklight可能会错误地标记明智的画布用法以匹配这些启发式方法。为了适应这种情况,该工具将捕获脚本渲染的图像并进行渲染。用户可以通过简单地查看图像来确定如何使用画布。典型的指纹脚本的结果如上所示。
广告追踪器
广告跟踪器(Ad tracker)是识别和收集有关用户信息的技术。经网站所有者同意,通常(但并非总是)在某种程度上使用此类技术。它们用于收集有关网站用户的分析,用于定位广告以及数据代理和其他数据收集器以创建其用户配置文件。它们通常采用Javascript和Web信标脚本的形式。
网络信标是第三方出于跟踪目的在网站上发布的1px x 1px的小图片。借助这种技术,第三方可以确定用户的行为:特定用户进入站点时,其浏览器的类型以及所使用的IP地址。
Blacklight正在测试什么
Blacklight会根据EasyPrivacy的URL和已知要跟踪的URL子字符串列表检查所有网络请求。 Blacklight监视网络活动,以查看对这些URL和子字符串的请求。
Blacklight仅记录对第三方域的请求。它会忽略EasyPrivacy列表中与其自己的URL域匹配的所有URL模式。例如,EFF存储自己的分析数据,这就是为什么它向分析子域https://anon-stats.eff.org发出请求的原因。如果用户输入eff.org,则Blacklight不会将对anon-stats.eff.org的调用视为对第三方域的请求。
我们在DuckDuckGo Tracker Radar数据集中找到了这些第三方域,以查看谁拥有它们,它们有多常见以及它们提供什么类型的服务。我们仅列出“跟踪器雷达”数据集的“广告跟踪”类别中的第三方域。
像素Facebook
Facebook Pixel是Facebook创建的代码,该代码允许其他网站使用Facebook广告来定位访问者。像素跟踪的一些最常见的操作是浏览页面或某些内容,添加账单信息或进行购买。
Blacklight测试的内容
Blacklight查找通往Facebook的站点的网络请求,并检查与Facebook像素文档中描述的模式匹配的URL数据请求参数。我们正在寻找三种不同的数据类型:“标准事件”,“自定义事件”和“高级匹配”。
“再营销受众群体” Google Analytics(分析)
Google Analytics(分析)是当今最受欢迎的网站分析平台。根据whotracks.me的数据,Google Analytics(分析)分析了41.7%的网络流量。虽然此服务的大多数功能是向网站开发人员和网站所有者提供有关网站受众如何与之交互的信息,但该工具还允许网站根据用户行为创建自定义受众群体列表,然后将广告定位到使用Google Ads和Display&Video 360的Web。Blacklight会检查它为此工具研究的站点,而不是如何使用它。
Blacklight正在测试什么
Blacklight会从被调查的站点中查找网络请求,这些请求将进入以“ stats.g.doubleclick”开头的URL,该URL还会在Google帐户ID的前面加上“ UA-”。Google Analytics(分析)开发者文档中对此进行了更详细的描述。
调查
为了确定Internet上跟踪技术的普及程度,我们使用Blacklight测试了100,000个Tranco List中最受欢迎的网站。数据和分析代码可以在Github上找到。Blacklight已成功提交了这些URL中的81,593个数据。对于其他情况,解析失败,或者几次尝试后发生超时,或者无法加载网页。下面显示的百分比是基于81,617个成功结果。
我们的评论中发现的主要发现:
- 6%的网站使用了画布指纹识别。
- 15%的网站从著名的会话记录服务下载了脚本。
- 4%的网站执行了击键记录。
- 13%的网站未加载任何第三方域Cookie或跟踪网络请求。
- 第三方域Cookie的中位数为3。
- 下载的广告跟踪器的中位数是七个。
- 74%的网站加载了Google跟踪技术。
- 33%的网站加载了Facebook跟踪技术。
- 50%的网站使用了Google Analytics(分析)再营销功能。
- 30%的网站使用了Facebook像素。
我们已将对以下任何域的任何网络请求归类为Google跟踪技术:
- google-analytics.com
- Doubleclick.net
- Googletagmanager.com
- Googletag服务
- Googlesyndication.com
- Googleadservices
- 2mdn.net
我们已将对以下任何Facebook域发出的任何网络请求归类为Facebook跟踪技术:
- facebook.com
- Facebook.net
- atdmt.com
局限性
Blacklight的分析受到四个主要因素的限制:
- 这是用户行为的模拟,而不是用户的真实行为,这会触发其他跟踪系统响应。
- 被监视的网站可以出于良好目的跟踪用户的行为。
- 误报(可能带有画布指纹识别):很少,合理使用HTML canvas元素会与Blacklight用来识别画布指纹的启发式方法相匹配。
- : Javascript- Blacklight window API . , jQuery, jQuery , Blacklight , . , ; , 100 000 .
对于误报,当Blacklight访问某个站点时,该站点可以看到该请求来自Amazon AWS云基础架构中托管的计算机。由于僵尸网络通常用于云基础架构中,因此我们的工具可以触发站点上的僵尸识别软件,包括画布指纹识别。即使该测试不是用来跟踪用户,而是用来识别僵尸网络,这也可能导致画布指纹测试的假阳性结果。
为了测试这一点,我们从已经通过Blacklight on AWS运行的Tranco列表的顶部随机抽取了1,000个站点。我们通过本地计算机上具有纽约IP地址的Blacklight软件运行了此示例,发现本地Blacklight扫描的结果非常相似,但与在云基础架构上运行的结果并不完全相同。
示例结果:本地计算机和AWS
本地 | AWS | |
---|---|---|
画布上的指纹 | 8% | 十% |
会话记录 | 十八% | 19% |
键盘记录 | 4% | 6% |
第三方域Cookie的中位数 | 4 | 五 |
第三方跟踪器的中位数 | 7 | 8 |
并非所有对用户不可见的跟踪活动都一定是恶意的。例如,帆布指纹用于防止欺诈,因为它允许设备识别。按键记录可用于实现自动完成功能。
Blacklight不会尝试推断使用它检测到的特定跟踪技术的原因。
Blacklight无法通过加载脚本来记录会话并监视用户行为(例如鼠标移动和击键)来准确确定网站如何使用其收集的用户数据。
Blacklight将不会审查网站的服务条款和隐私权政策,以披露其跟踪活动。
应用
输入字段值下
表列出了我们在Blacklight中编写的用于在网站上输入输入字段的值。我们已将有关自动完成属性的Mozilla文章用作参考。Blacklight还检查这些值的base64,md5,sha256和sha512版本。
自动完成属性 | 黑光的含义 |
---|---|
日期 | 01/01/2026 |
电子邮件 | blacklight-headless@themarkup.org |
密码 | SUPERS3CR3T_PASSWORD |
搜索 | 标记 |
文本 | 爱达荷州塔贝尔 |
网址 | themarkup.org |
组织 | 标记 |
机构名称 | 非营利新闻编辑室 |
当前密码 | S3CR3T_CURRENT_PASSWORD |
新密码 | S3CR3T_NEW_PASSWORD |
用户名 | idaaaa_tarbell |
姓 | 塔贝尔 |
给定的名称 | 艾达阿 |
名称 | 爱达荷州塔贝尔 |
街道地址 | 邮政信箱#1103 |
地址第一行 | 邮政信箱#1103 |
邮政编码 | 10159 |
抄送名称 | IDAAAATARBELL |
CC-给定名称 | IDAAAA |
抄送家庭名称 | 塔贝尔 |
抄送号码 | 4479846060020724 |
CC-Exp | 01/2026 |
CC型 | 签证 |
交易金额 | 13371337 |
致谢
我们感谢Gunes Akar(鲁汶大学),Stephen Englehard(Mozilla),Arvind Narayanan和Jonathan Mayer(CITP普林斯顿普林斯顿)对本文草案的评论和建议。
广告
对托管网站的服务器是史诗从Vdsina。
我们使用英特尔提供的速度极快的NVMe驱动器,并且不节省硬件-仅使用品牌设备和市场上最现代的解决方案!