北京时间11月23日晚,鱼池F2Pool创始人神鱼于微博转发安全组织Rugdoc的风险提示称:“有在Celo链上挖矿的请注意,跨链桥的多签被人换了,疑似有问题,降低风险的办法是把Celo链上的其他资产卖成Celo,目前卖的人还不多,亏几个点。大家自行判断风险,是一还是止损,全凭实力,胆子大的还可以套利。”
作为Celo官方牵头构建的跨链桥协议,Optics是当前资金从外部生态流入Celo的主要渠道,该桥出现问题,无疑会对整个Celo生态的资金流通造成影响。因此,在Optics的问题被爆出之后,恐慌情绪也开始在社区之内弥漫。
根据来自Celo背后开发团队cLabs的首席执行官TimMoreton的事件解释声明,多签权限被替换是因为有人单方面激活了GovernanceRouter合约上的Optics修复模式,虽然桥梁服务一切正常,但这一操作导致Optics协议被修复管理账户完全控制,原本的多签权限也被覆盖。不过,Tim认为锁定在桥上的资金当前没有风险。而从Tim披露的链上事务记录可以看出,该事件实际发生于25天之前的10月29日,也就是说,在10月29日后,Optics一直处于修复模式之中,但cLabs团队直到11月22日才向社区公开披露了事态情况。
最值得注意的是,除了解释多签权限被替换的技术原理之外,Tim还提到了一位已被cLabs开除的前高级开发者JamesPrestwich。Tim声称,修复模式被激活就发生在James因行为不当而被解雇后的15分钟,且在Optics的部署过程中,James曾为配置创建过一个包括修复地址的pullrequest,且曾请求确认过这个地址并要求报销费用。Tim还表示,自从发现问题后,cLabs曾想尽了一切办法与James接洽以解决问题,但迄今并未成功。
不过,对于Tim的“指控”,James本人却回应称:“我从来都不是Optics修复模式的密钥持有者;我很失望cLabs和Celo选择将他们的欺凌公开化,他们正通过撒谎来攻击我的声誉;根据律师的建议,我现在什么都不会说。”显然,Tim与James的说法存在矛盾,如果二人都没有说谎,那么究竟是谁激活了修复模式呢?在事件发生之后,社区之内也通过链上记录展开了调查,社区成员@diwu1989指出,在激活修复模式的最后一笔交易中,修复管理地址从「0x3d9330014952bf0a3863feb7a657bffa5c9d40b9」被修改成了「0xdcbf2088b7a6ef91f954be9ca658ea5b8e9b62d4」,而后者系由「0x2f4bea4cb44d0956ce4980e76a20a8928e00399a」创建,所以问题的关键就是要找到0x2f开头地址的所属。
另一位社区成员@Ryan沿着这一思路继续调查发现,该地址与另一家项目PartyDAO存在关联,因其是当前少数持有PARTY代币的地址之一,如果可以联系到该项目,或可知晓其身份。社区成员@Deepcryptodive也指出,0x2f开头地址的资金来自于0x2a98开头的Kucoin地址,通过Kucoin的KYC系统,应该也可查出此人的身份。在多人的共同调查之下,真相最终水落石出,由去中心化内容平台Mirror的地址备注中可知,0x2f开头地址的资金归属于一名叫做Anna的人,那么Anna会是激活了修复模式的那个人吗?
答案似乎是肯定的,社区用户从Github记录上查到,正是在26天之前,一名头像和姓名都相同的社区开发者,在Github上报告了一个关于Optics修复模式时间锁的漏洞,为了补上漏洞,需要激活修复模式并更换为一个更加安全的多签地址。此外,从历史提交代码上看,Anna也的确参与了PartyDAO的开发工作。
至此,真相基本水落石出,链上地址对的上,报告中提及的漏洞与解决方案与此次事件也相吻合,所以基本可以判断正是Anna激活了Optics的修复模式,修复管理账户大概率也在Anna的控制之下。不过,虽然事态脉络已然厘清,但部分社区成员对于CELO以及cLabs在此事中的处理方式却很不满意。作为Celo的开发团队,cLabs理应比任何外部调查者都更清楚事情的来龙去脉,但在Tim的声明中却并没有给出一个清晰的解释,反而是做了一些毫无根据的猜测,将矛头引向一个已被解雇的开发者James。除此之外,另一些社区成员也对Tim在声明中提到的“桥上资金没有风险”相当不满,因为单从Tim的描述推断,合约当前的控制权显然并不在cLabs或其他已知社区成员的掌握之中,所以单方面声称“资金没有风险”是极其不负责任的。推特大V@MonetSupply就此事总结了该团队所范的三个错误:
没人在应用上线前检查已部署的合约;迟迟25天没有向社区做任何披露;Tim那则诡异的声明。MonetSupply最后将这一切归因于Celo内部管理的混乱,并表示自己将因此看跌CELO。昨日晚间,为了为了平息社区内的恐慌及不满情绪,Celo官方组织了一场AMA对话,并就此事在官方论坛再次发声加以解释。这一次,代表cLabs发声的不再是首席执行官Tim,而是换成了另外两名开发者Eric和Marek。新的声明披露了一些关键信息,包括将对Optics合约进行一定审计并向社区披露,以及通过发布OpticsV2来迁移用户资金。Marek还提到:“我们肯定会从这次事件中吸取教训,我们将继续分析哪里出了问题,以及为什么会出问题。为此,我们计划尽快发布一份完整的事件回顾报告。”事已至此,虽然很多细节问题仍需等待Marek提到的报告发布后才可进一步明晰,但事态基本情况已大体明了。整体来看,此次的“Optics安全事件”多少存在一定的“虚惊”成分,作为社区开发者,Anna替换多签的目的更像是在修复bug而非作恶,这也是为什么过去25天Optics没有出现任何资金流失。不过,凡事也不能太过乐观,在事件彻底收官之前,建议大家短期内尽量减少Optics的使用频率,如有跨链需求,可尽量选择同样支持Celo生态的Anyswap,或如神鱼建议的那样将桥接资产兑换为CELO,再利用中心化交易所出入。跨链赛道一直都是安全事故的高发领域,虽然暂时没有造成任何资金损失,但此次事件所敲响的警示同样不容忽视,希望Celo开发团队以及其他项目方能够以此为戒,改善内部管理秩序,提高透明度,带给用户更安全、更放心的跨链体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。