芝加哥联邦法庭,2026年6月30日。
19岁的Peter Stokes被押上法庭。六项联邦指控:共谋、计算机入侵、欺诈。
他以为自己很安全。入侵珠宝零售商时,他全程挂着VPN,IP地址藏得干干净净。
但他最终还是栽了。问题根本没出在VPN上——出在他自己的电脑,那台电脑本身,就是一份「证据」。
真正出卖他的,是一个绝大多数Windows用户听都没听过的东西——Global Device Identifier(全局设备标识符,简称GDID)。
7月7日,瑞士隐私公司Proton在官方博客上把矛头对准了它,标题写着:「Windows as spyware」。这条消息经安全媒体@IntCyberDigest转发后,12.4万浏览、3300多个赞、633次转发,很快在英文技术圈引发讨论。


▲ International Cyber Digest的推文摘要:Proton公开称Windows为监控软件,矛头直指GDID;12.4万浏览、3300+赞、633转发
一场教科书级别的社工入侵
案子本身,是一次干净利落的"人性攻击"。
2025年5月12日到15日之间,攻击者用Google Voice电话号码,冒充被锁在系统外的员工,打给这家珠宝零售商的IT帮助台。
几通电话下来,他们骗到了密码重置权限,还搞定了多因素认证(MFA)绑定设备的重置。
几个小时之内,他们拿下了三个账号,其中两个还是IT管理员权限。
接着,他们装上ngrok和另一款叫Teleport的隧道工具,把数据搬到亚马逊云存储,一口气偷走了至少77GB的数据。
勒索邮件的标题毫不掩饰:「IMPORTANT: WE STOLE THE DATA, CONTACT IMMEDIATELY」。索要800万美元赎金。
企业没有付钱,损失清理成本约200万美元。

▲ The Hacker News报道:法庭文件揭示Windows设备ID帮助FBI追踪涉嫌Scattered Spider的黑客,图中标注了微软设备ID、ngrok、代理IP、社交账号与珠宝商之间的关联
到这里,还只是一起常规的勒索案。真正让这件事变得不一样的,是FBI抓人的方式。
VPN藏住了IP,却藏不住"这台电脑"
TechSpot给这篇报道起的标题毫不客气:「One of Windows' most hated features just helped catch a 19-year-old hacker」(Windows最招人恨的功能之一,刚刚帮忙抓到了一名19岁黑客)——副标题更狠:「Using a VPN couldn't save him」(用VPN也救不了他)。

▲ TechSpot标题直言:Windows最被讨厌的功能帮忙抓到了黑客,VPN救不了他
按照起诉状的描述:微软的记录,把某一个GDID和创建ngrok账号的行为精确关联到了分钟级——2025年5月12日19:21(UTC),这个GDID访问了ngrok注册页面;约三小时后,同一个代理访问了零售商网站。
拿到这个GDID之后,微软能给出的是这台设备完整的IP访问历史。
再把这份IP历史,和Stokes的Apple、Snapchat、Facebook账号登录记录做时间线交叉比对——塔林、纽约、泰国,地点和时间全部对得上。
VPN从头到尾都在工作,藏住了他的公网IP。但那台电脑本身,一直在向微软"报到"。
GDID到底是什么?想象一张"安装身份证"
想理解这件事,你可以把GDID想象成:每一次Windows安装,都会被贴上一张"身份证"。
拿Windows产品密钥类比不合适(那是授权凭证),拿浏览器Cookie类比也不合适(Cookie还能清掉)。它更接近"这次系统安装,在微软服务器网络里的内部编号"。
微软自己的公开技术文档里,是这么定义它的:
"Microsoft internal Global Device Identifier."
「微软内部全局设备标识符。」
这句话,出现在Azure Monitor的UCUpdateAlert表字段说明里——一个几乎只有企业IT管理员才会打开的技术参考页。

▲ 微软Learn官方文档:UCUpdateAlert表中,GlobalDeviceId字段被定义为"Microsoft internal Global Device Identifier"
Proton在文章里点出了最要命的一点:在微软浩如烟海的公开文档里,GlobalDeviceId这个词,只出现过一次,还被埋在一个极其冷门的技术参考页面里。
普通用户在装系统时的引导流程(OOBE)里,从来没有被问过一句「是否同意生成并保留这个标识符?」——它就那样悄悄写进了系统,连个能点开看看的开关都找不到。
重装能洗白吗?不能
很多人第一反应是:那我重装系统总行了吧?
起诉状白纸黑字写着:系统更新不会改变GDID;但重装Windows,会生成一个全新的GDID。
听起来是个好消息。但Proton紧接着又浇了盆冷水:
新装确实会拿到新ID,但微软系统里,旧的记录并不会因此消失。
也就是说,重装只能切断"未来"的关联,切不断"过去"已经被记录下来的调证轨迹。
社区里的技术逆向讨论(GitHub仓库gdid-reversal)进一步指出:即便GDID变了,设备的设备哈希、TPM、Autopilot类标识依然可能跨重装存活。想靠"重装大法"彻底洗白,是一厢情愿。

▲ GitHub仓库gdid-reversal的技术逆向分析:确认GDID是64位标识符(非此前网传的128位),格式为g:加十进制数字,由微软账号体系分配后写入注册表并上报
这份逆向分析还原了GDID的技术链条:微软账号服务(wlidsvc)向login.live.com注册设备后,服务器分配一个Device PUID(设备唯一ID),写入本地注册表;随后由Connected Devices Platform登记进微软的Device Directory Service(设备目录服务);最终由Delivery Optimization等模块以GlobalDeviceId字段上报——即便你从没登录过微软账号,系统也存在匿名设备路径,照样会生成一个GDID。
Proton的原话:"他犯了一个致命的新手错误"
Proton这篇博客的作者Douglas Crawford,用词毫不客气。他这样描述Stokes的失误:
"But he made a fatal rookie mistake: he used Windows."
「但他犯了一个致命的新手错误:他用了Windows。」
文章接着写道:
"You are never asked to agree to the GDID on your device, and there is no easy way to remove it."
「你从未被要求同意设备上的GDID,也没有简单的方法能移除它。」

▲ Proton官方博客文章,标题为"Microsoft GDID: How a secret Windows identifier may have led to Scattered Spider",作者Douglas Crawford,发布于2026年7月7日
值得注意的是,Proton在文章里也留了一句公道话:这起案子里,系统"按设计工作"。FBI通过合法的法院命令和传票拿到微软数据,流程完全在法律框架内。
换句话说,Proton并没有说"抓黑客是错的"。它想说的是另一件事:同一套让执法能"钉死"嫌疑人的能力,对一个安分守己的普通用户来说,意味着一份自己完全无法察觉、也无法拒绝的持久档案。
VPN到底能做什么,不能做什么?
这次事件把一个长期被模糊的问题,摆到了台面上——VPN的能力边界,到底在哪里。
VPN能做的:对网站隐藏你的真实公网IP,对ISP隐藏你访问过哪些域名,降低基于IP的地理追踪。
VPN做不到的:阻止操作系统自己向厂商回传数据,删除设备上已经生成的持久标识,让你的Apple、Google、社交账号也自动"干净"。
安全博主@cyber_rekk的推文,把这件事讲得再明白不过:
"A VPN protects the network path. It does nothing about the thousand small signals your OS, your accounts, and your habits generate around it. Anonymity isn't one setting. It's an entire operational discipline."
「VPN保护的是网络路径,对操作系统、账号和日常习惯周围产生的大量微小信号毫无办法。真正的匿名,考验的是一整套操作纪律能不能贯彻到底,单靠摁一下开关做不到。」
推特用户@JureUrsic的评论,则更加尖锐:
"A VPN is a tunnel, not a shield against a compromised host. If your OS is phoning home with a unique hardware fingerprint, you have already lost the privacy war at Layer 7."
「VPN只是隧道,扛不住一台已经被攻破的主机。操作系统要是带着唯一的设备指纹回传数据,你在应用层这场隐私战争,早就输了。」
也有网友试图给Windows"辩护"。@SAP127001分析称,如果攻击者从头到尾都用VPN,并且持续轮换出口节点,GDID能拿到的就只是一串VPN出口IP列表,很难再和真实的社交账号对齐。
问题是,Stokes没有做到"从头到尾"。他的Snapchat上,还留着炫耀现金、名表、酒店的自拍——技术上的谨慎,挡不住社交平台上的表演欲。
换Linux就安全了?没那么简单
评论区里最常见的一种声音是:赶紧换Linux吧。
@szalony321建议干脆装Linux发行版。但@TheManDocSmurf很快泼了盆冷水:
"Reminder that if you use any linux install infected with Systemd you also have a unique identifier. Use anti systemd distros or at the least rotate this on every boot."
「提醒一下:如果你用的是带Systemd的Linux发行版,其实也有一个唯一标识符。要么用anti-systemd发行版,要么至少每次启动都轮换这个ID。」
Linux确实有个叫machine-id的东西(由systemd管理)。但它和GDID最大的不同在于:这个世界上不存在一个单一的商业实体,同时掌握着操作系统遥测、消费级账号图谱、云同步和企业合规接口。
Proton自己也承认,macOS、iOS、Android同样能在厂商侧唯一标识设备。开源系统的优势,从来跟"有没有ID"关系不大,关键在于可审计、可轮换、默认不必接入单一的商业中枢。
把Linux当成隐身衣,本身就是另一种误导。
争议的核心,不在"有没有ID"
看到这里,很多人可能觉得:所有联网设备都有标识符,这有什么好大惊小怪的?
真正让这件事从技术细节升级成公共争议的,是这个ID背后连着的东西——
一份厂商侧可查询的、跨越时间的、能和第三方服务时间线精确拼接的安装档案。
清Cookie没用,开隐私模式没用,换IP也没用。这些动作打在了错误的层级上。
Proton要靠"Windows很脏"这套说法去卖它的隐私产品;执法机关需要"Windows很吵"来破案。同一个GDID,一边是营销文案的素材,一边是法庭证据附录的核心证物。
结尾:从"要不要清Cookie",到"要不要运行一个会为你生成全球档案主键的系统"
这起案子最终会怎么判,还要等法庭审理。Stokes目前仍是被指控,而非定罪,依法享有无罪推定。
但这件事留下的问题,已经不只关于一个19岁嫌疑人。
如果一种能力,已经在法庭上被证明足以跨越VPN关联出真实设备,它该不该在用户协议里,被讲得明明白白?消费者,该不该拥有一个真实的、看得见的拒绝权?
就像@JureUrsic说的那样:
"If you do not own the code running your kernel, you do not own your data. Simple as that."
「如果你不掌握运行在你内核里的代码,你就不拥有自己的数据。就这么简单。」

▲ 网友JureUrsic的评论:VPN只是隧道,扛不住已被攻破的主机;不掌握内核代码,就谈不上真正拥有自己的数据
这场围绕GDID的争论,才刚刚开始。
夜雨聆风