Iron Fish:一个2019年写下的bug,为什么能让整条链直接关停?
Iron Fish官方X在北京时间10月31日凌晨发了长帖:当天正式结束对Iron Fish网络的全部剩余支持。原因写得很坦白,我拆成几条:
1. 起因:几天前,他们发现wIRON和ChainPort跨链桥有异常活动。和ChainPort一起查日志后,确认根子在Iron Fish链本身的一个增发(inflation)漏洞。
2. 源头:追到2019年初Merkle树实现里的一次代码提交。由于note的nullifier(作废标记,正常用户花钱靠它)计算方式上的细节,攻击者能把同一个note花不止一次。
3. 退出:攻击者把漏洞反复利用、合并手里的note,再经ChainPort跨链桥离场。
4. 收尾:补丁已经提交,PR里附了详细事后报告,然后关停并归档代码仓库。
几句实话:
· 最扎心的一句:这段代码在内部和外部审计范围内,但审查时没发现。“审计过”从来不等于“没漏洞”。
· 损失多少,官方长帖没写。网上的数字先别信,我也不替它算。
· 一个能“同一笔钱花多次”的bug躲了好几年,在隐私设计的链上更难被外人一眼看出来。但这不等于“隐私链都不安全”,别脑补。
· Iron Fish的反思(这是项目方观点):不能立即升级的软件——也就是大部分加密软件——处境非常危险;找漏洞、利用漏洞的能力正变得廉价,而修漏洞的一方未必跑得过。
你持有的项目,出事后有能力多快发补丁?还是像这样,补丁发出来那天就是关门那天?
#IronFish #隐私链 #安全审计