前几天在 X 上刷到一条有意思的推文,推文作者看了 Cyberleek(GTA6 黑客)网站后,感慨网站的加密通信系统设计得十分优雅和专业,他认为这并非一人所为。
作者提到的一系列加密手段引起我的兴趣,于是花了两天时间进行调查,复现了 Cyberleek 加密通信的完整流程。本文是这次学习探索的记录,分享给同样感兴趣的核友们。
本人加密技术知识有限,文中难免出现遗漏和错误,欢迎指出交流。
看完这篇推文,我首先想到的是自己浏览一下 Cyberleek 网站,验证实际情况是否与推文作者分析的一样。
那么第一个问题来了,Cyberleek 没有在中心化的社交媒体为自己发声,他的网站也被大部分主流网关封禁,如何才能找到安全的网站入口?
在社交平台上搜索点击别人分享的链接是低效且危险的。特别是在如今的 AI 时代,不用想都知道一定会有人 Vibe Coding 伪造网站来博人眼球,更坏的情况是内嵌了恶意脚本的钓鱼网站。当然硬要说的话,大海捞针肯定也有一定几率找到正确网址。
我的想法是从 Cyberleek 网站的第一个特殊之处出发:这个网站没有部署在传统的云服务器上,而是选择了 Arweave。
Arweave 是一个专门用于存储数据的区块链。支付一次代币费用后,数据将被永久存储在全网节点中,数据上链后不可篡改和删除。如果是部署在普通服务器上,R 星可以向供应商发送 DMCA 要求删除数据,但任何执法机关和云服务厂商都无法将已经上传区块链的文件强行下线,包括 Arweave 自己。
文件打包上传 Arweave 后,区块链会为这组文件生成唯一的 43 位哈希交易 ID(txId),所以接下来的目标是找到 Cyberleek 网站的 txId。
在 Reddit 上浏览讨论 Cyberleek 的帖子时,发现一个回帖分享了网站 txId。保存在 Ardrive(一个基于 Arweave 的网盘)上,说明这个链接相对来说会靠谱一些。
果然在这个 Ardrive 链接里找到了 Cyberleek 网站的 txId。
大多数的区块链是公开透明,可追踪的(当然也有例外,马上会提到),我们可以通过交易 ID 跟踪交易。在 arscan.io(一个 Arweave 区块链查询网站)上输入 txId,就找到了这笔交易的详细信息。
交易信息记载了这笔交易是 2026 年 8 月 22 日创建的,但这不代表网站是在这一天部署的,这笔交易保存的数据是网站的 Manifest 文件,相当于把网站文件一起打包的列表。
交易发起者的 ID 是 7gFAEaOIEHNhx2BqiVtpCgF_7HUePnN8E2aejRR6vTE,这就是 Cyberleek 的 Arweave 钱包地址,接着查询这个地址会发现其中有 36 笔交易,时间跨度为 8 月 15 日到 8 月 22 日,这与 Cyberleek 首次出现在大众视野的时间点吻合。
让 AI Agent 批量抓取分析了这 36 笔交易记录,发现了一些有意思的事情。
Cyberleek 在 8 月 15 日到 8 月 22 日之间一共更新了 7 个网站版本(不包括网站正常更新的动态数据),尤其是 8 月 16 日在 40 分钟内连续修改上传了 3 个版本,这是独立开发者快速构建和修补 Bug 的开发节奏,而且没有测试好再上传,似乎有一些即兴成分,我推测 Cyberleek 大概率不是计划周密的多人合作黑产团队。
Arweave 是一个去中心化协议,而 arweave.net 是 Arweave 团队在美国设立的合规网关,网站版本迭代到 v6 和 v7 最终版时,开始提供下载泄密视频和赞助商招募功能,触发了 Rockstar 的 DMCA 投诉,于是网站的 txId 被 Arweave 公共网关屏蔽,大概相当于 Rockstar 在 Cyberleek 高速公路的出入口不断放置栅栏,但没有办法拆掉道路本身。
试着从链上拉取网站文件,一共有 4 个文件,分别是网站 html 页面、js 脚本、大葱头像以及网站图标。
自行创建一个本地网关,就可以避开官方网关黑名单,进入 Cyberleek 网站。
Meme 币、泄露列表、社区投票,以及……激昂的黑客宣言
Cyberleek 似乎打算在网站上搞一个游戏内容泄露的小型社区。
首先是在 Solana 区块链上发起 Cyberleek 同名 Meme 币,并提供了几个去中心交易所的链接。
Leeks 栏目是定期更新的 GTA6 泄露信息,有图片和视频。
最后一个栏目是社区投票,决定下一个泄露内容是什么,我觉得他设置的问题不怎么样。每个投票选项对应一个钱包地址,玩家从交易所买来 Cyberleek 同名 Meme 币,打入想要投票的钱包里。
在 About 页面里,可以看到一篇很长的黑客宣言,就是全球的游戏媒体前几天都报道的那一篇。
CYBERLEEK 诏令
CYBERLEEK 诞生于网络之中。它见证过游戏最辉煌的模样,也目睹了业界如何一步步将其摧毁。缓慢而周密,一次敛财手段接一次。
发行商兜售许可权,却称之为购买;他们发售未完成的游戏,却美其名曰“持续运营服务”;他们将光盘中的内容锁定,却称作可下载内容(DLC);他们扼杀游戏,却照单全收利润。每年,反消费者行径的枷锁愈发收紧,而玩家所获却逐年减少。
为打赢这场战争,CYBERLEEK 正在为一项秘密计划筹集资金。具体细节尚不能公开;向大型 corporations 亮出底牌只会给予它们构筑防线的时间。必须明确一点:这绝非敛财之举。所筹资金将用于构建实施打击所需的基础设施,以及抵御必然到来的企业反扑所需的安全与防护体系。
CYBERLEEK 一直很有耐心。但这份耐心已耗尽。接下来是三条诫命。若 CYBERLEEK 将某家发行商列为目标,那是因为该发行商违反了其中一条。CYBERLEEK 绝不会停止行动,直到对方发布公开声明与道歉,并作出切实改进的承诺。空话不足为凭;赔偿势在必行。
诫命一:汝不得售卖数字预购
任何消费者均不得在游戏发售及独立评测之前,通过数字 storefronts 支付游戏费用。实体媒介的实物预购仍被允许。
预购制度并非为玩家而设。它的诞生是因为实体光盘存在生产限制。而在数字分发中,并无库存概念,也不存在缺货问题。数字副本不可能售罄。然而发行商却保留了预购体系,同时剥夺了其唯一对消费者有益的要素。如今玩家提前付款,换来的却只有一个倒计时计时器和一款皮肤饰品。
如果发行商希望在游戏发售前获得收入,他们可以压制光盘、印刷包装盒,并将它们摆上货架,通过实体生产来赚取这笔钱。
第二条诫命:不可出售虚假的单人游戏可下载内容(DLC)
任何发行商都不得向消费者出售其已购买的基础游戏文件中本就存在的单人游戏内容的访问权限。这意味着禁止使用解锁密钥、禁止提供仅 1MB 的占位文件,也禁止仅仅通过将变量从“锁定”切换为“解锁”来开放那些早已存在于光盘或下载内容中的内容。
当有人花费 70 美元或以上购买一款游戏时,他们买下的是全部数据。若再向他们出售一个仅将单人任务、角色、武器或故事章节的状态从"locked = true"改为"locked = false"的文件,就等于对同一产品重复收费。
第三条诫命:汝当保全单人游戏内容
任何包含单人游戏内容的作品,必须提供离线备用方案。当服务器支持终止时,发行商必须发布最终补丁,解锁所有单人游戏内容,供玩家本地无限期游玩。
《飙酷车神》曾拥有单人战役模式。玩家支付了全额价款。然而育碧关闭服务器后,整款游戏随之消亡——连单人内容也未能幸免。没有退款,没有补丁,也没有替代方案。单人游戏内容所依赖的,唯有消费者已拥有的硬件设备。一旦服务器关停便令其变砖,无异于盗窃。
结语
这三条戒律是可接受行为的底线,而非上限。若发行商违反这些戒律,将成为我们的目标。CYBERLEEK 将持续干扰其运营,直至对方发表公开声明与道歉,并作出切实承诺以弥补所造成的损害。拒绝私下谈判,拒绝秘密和解。要么让公众看到结果,要么"leeks"绝不会停止行动。
发行商务必警惕。既然 CYBERLEEK 能触及 Rockstar,便无人能够幸免。这是给所有大型企业的警告:守规矩,否则将成为下一个目标。
此即 CYBERLEEK 诏令,不容协商。
更让我感兴趣的是 Contact 页面里的内容,不过先接着分析网站整体架构。看了网站代码发现,网站的所有动态数据都保存在 Solana 区块链上,同样没有使用传统的中心化服务器。因为需要从链上读取数据,页面刷新会慢一点。
链上的动态数据包括泄露视频的标题和链接(指令前缀 G6JNBZ2BSey)、社区投票主题和选项(指令前缀 5Qpj1hsHT4k)、实时公告(指令前缀 NjkxTouaByo)、Meme 币地址,以及 Contact 页面需要的加密算法参数。
如果黑客打算更新网站信息,在 Solana 链上向对应智能合约发起新的交易即可。智能合约地址(7rAgHPLDc9NryZmNdeEzyDui6D9PHkvTxMjKhNSa7w3a)硬编码保存在 index-B5VI5ckO.js 文件里。
和 Arweave 区块链一样,Solana 区块链也是公开的,通过查询网站 solscan.io 可以找到这个智能合约的交易记录。
这个智能合约也是 8 月 15 日建立的,一共有 47 笔交易,再次让 AI 批量处理,整理时间轴。
这些记录提供了一条清晰的更新路径,Cyberleek 一开始使用 Arweave 网关和 Upload.ee 上传图片和视频,遭到投诉后转向了免疫管辖的俄罗斯服务器,对抗 DMCA 下架通知,8 月 26 日再次升级为加密效果更好的网盘,进一步提高抗审查性。
奇怪的是在 8 月 26 日泄露 Lucia 序章视频后,Cyberleek 似乎就人间蒸发了。或许是 R 星已经锁定了他的身份,也有可能正在准备更大的爆料,到底是怎么回事,我们不得而知。
Cyberleek 消失前留下了一个花活儿,我认为是这个网站设计得最精妙的地方。
Cyberleek 在 8 月 22 日实装了网站的 Contact 页面,向有意者提供高级广告位和独家内容合作机会。
合作门槛是先向 Cyberleek 付一笔联络费,然后通过匿名聊天软件 Session 联络,协商合作事宜。
合作方案有购买泄密视频的水印广告,或者是根据客户需求制作指定的游戏画面。有意思的一点是,Cyberleek 规定广告可以宣传几乎任何内容,包括赌博和成人内容,但唯独不能是诈骗。
点击页面上的“GENERATE CONTACT DETAILS”按钮,10 秒后就会生成以下信息。
与 Cyberleek 商谈的第一步是下载 Session 聊天软件,使用网页生成的那串助记词登录 Session 账号。第二步是向 Cyberleek 指定地址转入准确金额的门罗币,地址下方有一段警告:付款只能使用个人钱包,千万不要经由交易所转账,因为交易所手续费会破坏原来的交易金额,导致 Cyberleek 无法还原出 Session ID。第三步是等待,Cyberleek 会在确定收到联络费后在 Session 上联系你。
这笔联络费必须由门罗币支付,金额为 400 XMR(约 20 万美元),值得注意的是,这笔接近 150 万人民币的转账只是开启对话的资格。
与上文提到的可以公开查询链上数据的 Arweave 和 Solana 不同,门罗币(Monero)是一种特殊的加密货币,它的交易记录是完全隐匿和不可追踪的。
在一笔门罗币交易中,收款方使用一次性的隐匿地址(Stealth Address)收款,相当于真实钱包的“替身”地址。而付款方的公钥与多个历史交易的公钥混合在一起签名,形成环签名(Ring Signature),别人无法确定哪一个才是真正的付款方,所以收款方和付款方都不知道对方的真实身份,交易金额也只有交易双方知道,外界只能观察到链上出现了一笔新的匿名交易。
如果 Cyberleek 收到一笔 400 XMR 的联络费,按理说不知道付款方是谁,那么怎么才能联系上付款方呢?答案就在门罗币支付金额的设计上。
加密货币都是按整数计算,门罗币的最小不可分割单位是 1 Piconero,等于 0.000000000001 XMR,所以转账金额的小数部分最大可以精确到 12 位(从 000000000000 到 999999999999)。
Cyberleek 自己构建了一套 Session-Monero 加密算法,让门罗币支付金额的 12 位小数和 Session ID 可以相互转换,所以付款者的身份信息并不用保存在其他任何地方,而是借助门罗币的交易金额传递,进行一次隐秘交易就能建立通信。
这套加密算法的代码是公开的,记录在网站文件的 index-B5VI5ckO.js 脚本里。看过脚本代码,我大致理清了 Session-Monero 加密算法的运行逻辑。
第一步是通过 48-bit 拒绝采样算法生成一个 12 位 Nonce 值。这个随机生成的 12 位 Nonce 值对应门罗币金额小数点后十二位。
有一个问题是计算机生成二进制随机数的范围上限不是 999999999999 的整数倍,直接生成会导致随机数不够均匀,因此使用拒绝采样算法让每个 12 位 Nonce 值的出现几率严格等于 999999999999 分之一。
第二步是使用 PBKDF2(基于密码的慢速密钥派生函数)派生出 128 位私钥种子。
一部分派生参数是从 Solana 链上读取的,密码是固定的“cyberleek”,盐值是上一步随机出来的 Nonce 值,迭代次数是 1 亿次,哈希算法是 SHA-256,输出长度是 16 字节(128 位)。
JS 脚本要在浏览器里执行迭代 1 亿次的密钥派生,这就是为什么每次点击“生成联系信息”按钮都要等 10 秒左右才能显示结果。
使用 PBKDF2 慢速密钥派生的目的是防止彩虹表攻击。12 位的 Nonce 只有一万亿种组合,如果直接使用快速哈希(比如单次 SHA-256),把 Nonce 全部组合都计算一遍也只需要几分钟时间,然后制作出一张把 Nonce 值、密钥种子、Session 助记词、Session ID 对应在一起的彩虹表,监听 Session 节点,在彩虹表里反查节点出现过的 Session ID,如果击中就锁定了买家身份,使用彩虹表里对应的助记词登录 Session,读取监听买卖双方的交易对话。
但换成迭代一亿次的密钥派生并不代表绝对安全,如果 R 星真的为了找到他而不惜重金,制作一张 10 的 20 次方的彩虹表也是可行的,这主要得看 R 星想要抓他的意愿有多强烈。这个 Session-Monero 加密算法的真正缺陷是 Nonce 熵太低,密钥空间只有 40 bit。
第三步是用 128 位私钥种子生成 13 个单词的 Session 助记词。助记词由付款方自行保密,作为登录 Session 的账号和密码。
第四步是用 128 位私钥种子生成对应的 Session ID。Cyberleek 收到门罗币后还原付款方的 Session ID 才需要计算这一步,所以没有写在网站的脚本代码里。Session ID 是可以公开的公钥,只有 Session ID 无法还原出支付金额和助记词。
讲到这里应该有一些朋友已经头晕了,让我们用具体实例来复现这一流程,这样更加直观。
假设机核网西蒙有一天看到 Cyberleek 网站后动了念,打算买下 GTA6 泄露视频的水印广告权宣传核聚变,提高核聚变的国际影响力。
西蒙点击了网站 Contact 页面的“生成联络详情”按钮,浏览器消耗 10 秒时间执行 Session-Monero 加密算法。
脚本这次计算出来的助记词是 “hitched doctor hiding goat nouns auctions nephew cigar ribbon keyboard laptop okay okay” 这 13 个单词,门罗币支付金额是 400.712997816689。
西蒙使用这组助记词登录了 Session,显示的 Session ID 是 058b6c1097f3bc91103d78e63579ec88ca46c9998d3dfe6fb43f761cd3e74b2864。
然后西蒙把 400.712997816689 XMR 转账给 Cyberleek 的子地址。Cyberleek 收到联络费后,提取支付金额小数点后十二位的 712997816689,作为 Nonce 值。
让 AI 构建了一个复刻 Session-Monero 加密算法的 Python 脚本,把 Nonce = 712997816689 传入参数,然后就会计算客户的 Session ID 是 058b6c1097f3bc91103d78e63579ec88ca46c9998d3dfe6fb43f761cd3e74b2864,与西蒙登录 Session 的 ID 一致。
最后 Cyberleek 在 Session 上添加西蒙的 Session ID,双方开始洽谈打水印广告的事宜,核聚变即将无人不晓!
总结一下 Session-Monero 加密算法的完整流程:
48-bit 拒绝采样算法(随机生成 12 位 Nonce)
PBKDF2 慢速密钥派生(12 位 Nonce -> 128 位 Seed)
助记词编码(128 位 Seed -> 13 词助记词)
椭圆曲线映射(128 位 Seed -> 66 位 Session ID)
付款方视角:网站脚本随机生成 Nonce ,Nonce 生成 Seed,Seed 生成用于登录 Session 的助记词。脚本再把 Nonce 拼入支付金额小数点后十二位,付款方支付 Cyberleek 对应金额的门罗币。
收款方视角:Cyberleek 收到门罗币后,从门罗币金额中提取 Nonce,用 Nonce 计算出 Session ID,联系付款方。
虽然 Nonce 同时还能计算出助记词,但 Cyberleek 登录付款方的 Session 账号没有任何好处,这个付款方账号只用于与 Cyberleek 联络。
分析了 Cyberleek 网站应用的各项技术后,我认为 Cyberleek 是单兵作战的可能性较大,或者是少人团队,毕竟游戏数据如何从 Rockstar 工作室泄漏出来才是那个更大的谜。
除了提供下载的游戏泄露视频使用网盘保存以外,整个流程的其他地方没有使用任何中心化服务器作为后端(包括暗网),所有数据都保存在不可篡改和删除的区块链上,由此推测 Cyberleek 具有一定程度的 Web3 开发背景和加密知识,并且坚信传统的中心化服务器无论多么安全和隐秘,最终一定会数据泄漏和被审查,就像 GTA6 一样。
实际上 Cyberleek 并非毫无破绽,这套看似理想的隐匿通信系统的外围,还有无数个切入点可能暴露他的行踪:比如他发行的同名 Meme 币的流动是可跟踪的,门罗币虽然匿名,兑换成其他加密货币或法币时也有一定几率暴露;Cyberleek 网站和泄密视频的消息最初如何流入中心化互联网环境同样是个问题,总是存在一个起始点;从网站的黑客宣言以及泄露视频的水印留言来看,Cyberleek 不太像是一个非常谨慎和沉稳的人,万一有人从过去的互联网记录里挖出与之产生关联的信息也说不定。
还有一些其他路径,比如像上文提到的高成本彩虹表攻击,通过 Session 节点监听可能出现的交易。但是 Take-Two 作为一家巨型游戏公司,是否有那么重视这件事,以至于无论付出什么代价都要找到 Cyberleek,我同样保持质疑。
通过这次探索,反而让我觉得 Cyberleek 泄密这件事本身还挺 GTA 的。作为一名游戏玩家,GTA6 这款梦幻游戏最终会给我们带来什么样的体验,真的难以想象。距离 GTA5 发售已经过去了 13 年,现实世界发生了天翻地覆的变化,是否会有类似 Cyberleek 的赛博黑帮和加密世界出现在游戏里,以及会有什么样的呈现,很是期待。
评论区
共 19 条评论热门最新