一个新工具利用了 k-id 年龄验证系统的漏洞,可以自动将 Discord、Twitch 和 Snapchat 等平台上的用户账户认证为成年人。该工具通过模拟合法的加密请求和伪造面部扫描元数据,绕过了 k-id 及其合作伙伴 faceassure 的安全检查。其核心原理是利用了 k-id 系统出于隐私保护,只传输面部元数据而非真实视频的设计缺陷,从而让伪造数据得以通过验证。
如何在 Discord 上完成验证
此方法适用于所有地区的用户,包括那些尚未强制要求年龄验证的地区。验证过程通过在 Discord 网页版的控制台中运行一段脚本来完成。
- 第一步: 前往
discord.com/app并按 F12 打开开发者工具。 - 第二步: 切换到“控制台”(Console)标签页。
- 第三步: 将指定的脚本粘贴到控制台中并按回车执行。
- 第四步: 解决弹出的验证码,页面会自动跳转并完成验证流程。
脚本会自动向 Discord API 发送请求,获取验证链接,并引导用户完成后续步骤。
如何在其他平台完成验证
对于 Twitch、Kick、Snapchat 等其他使用 k-id 系统的平台,流程更为简单。
- 第一步: 在该平台的年龄验证页面选择“自拍验证”选项。
- 第二步: 获取页面上显示的二维码(QR code)对应的 URL 链接。
- 第三步: 将该链接输入到工具的指定位置,即可完成验证。
工作原理:利用隐私设计漏洞
这个工具的成功源于 k-id 系统的一个核心设计选择:为了保护用户隐私,它不传输或存储用户的真实面部视频。
系统仅向服务器发送关于面部特征和处理过程的元数据。虽然这比其他发送真实视频的服务商更注重隐私,但也为伪造请求打开了方便之门,因为服务器无法轻易分辨数据的真伪。
相比旧的绕过方法,新工具攻克了 k-id 合作伙伴 faceassure 增加的几项新安全检查。
关键破解步骤
复制加密负载:
- 旧方法缺少
encrypted_payload、auth_tag等关键加密参数。 - 新工具通过分析发现,这些参数是使用 AES-GCM 加密算法生成的。
- 通过复制这一加密过程,工具可以生成看起来完全合法的请求。
- 旧方法缺少
伪造预测数据:
- 即使加密正确,服务器仍会检查负载内的实际数据,特别是名为
prediction的数据数组。 - 工具通过反复试验发现,服务器会检查
outputs、primaryOutputs和raws这几个数组之间的逻辑关系。 - 通过模拟合法的原始数据生成过程,并确保设备名称、操作时间线等细节符合逻辑,工具最终能够生成无法被识破的伪造数据,从而成功通过验证。
- 即使加密正确,服务器仍会检查负载内的实际数据,特别是名为