·
1404 个钱包,104 分钟:Qubic 栽在随机数上
Qubic 在 104 分钟内被扫走 1404 个钱包、2.94 万亿枚 QU。原因不是链被攻破,而是钱包种子用了 Math.random();87% 资金已冻结,但旧种子依然暴露。
昨晚到今早,Qubic 的 Computor(就是它的验证节点)干了件在公链世界挺少见的事:直接把整条链按了暂停。
原因不是共识崩了,不是桥被掏了,是一个比这些都朴素的问题——钱包的助记词不够随机。
10 月 17 日 23:42 到 18 日 01:26,104 分钟,1404 个钱包被扫空,2.94 万亿枚 QU,按当时价格大概 130 万美元。平均每分钟 13 个钱包,每个约 1000 美元。这个数字很说明问题:不是盯着大户去的,是脚本在批量跑。
漏洞在哪?老版本钱包生成种子用的是 JavaScript 的 Math.random()。这玩意儿是给”抽个随机背景色”准备的,不是给私钥准备的。熵不够,攻击者不需要破解任何东西,只要把可能的那一小撮种子重新算一遍,再去看哪些地址里有钱。
受影响的范围 Qubic 列得很具体:2026 年 10 月 18 日之前在 iPhone/iPad 的任何浏览器里生成的种子,同日期之前在 Mac Safari 里生成的,以及 2025 年 7 月之前 Qubic iOS App 生成的。
修复是 v4.26.4 把 Math.random() 换成了 crypto.getRandomValues()。但有个细节很多人会忽略:补丁只管新种子,已经用旧方法生成的私钥不会变。也就是说,只要你的钱包是在上面那几种环境里建的,补丁打完你依然是裸奔状态,唯一解法是新建一个种子、把资产转过去。
我的看法:这次 Qubic 处理得算及格。87.1% 的钱还在链上冻着,12.9% 到了 MEXC 一小时内被冻结,Bitget 也停了充提,能在两小时内把损失控制在这个比例,说明节点愿意为了止血牺牲”链不停”的叙事。但这背后是个更尴尬的事实:一条主打高性能的公链,最后被一行 Math.random() 放倒。TPS 可以堆,共识可以设计,唯独随机数这种东西,用错了就是零。
另外这不是孤例。今年 7 月 Coldcard 的种子问题,2023 年 Trust Wallet 浏览器插件、Libbitcoin Explorer 的 “Milk Sad”,全是一个路子:不是密码学被攻破,是实现者随手拿了个”够用”的随机源。
给普通人的行动项只有一条:如果你的钱包是在手机浏览器、Safari 或者某个老版本 App 里生成的,别等官方赔付方案,先建新钱包搬家。种子这东西没有”应该没事”,只有”能不能被算出来”。
免责声明:以上内容仅供娱乐交流,不构成任何投资建议。DYOR。
cryptocurrencies # blockchain # pickful
Repost this post?
Share with your followers.
Reply