基于以太坊的新期权交易协议上线即遇重大代码问题
近日,一个建立在以太坊上的新期权交易协议刚刚上线主网,但其代码却出现了重大问题。在Hegic于4月23日部署其智能合约仅数小时后,一个代码漏洞导致价值28,000美元的用户资金被锁定在该平台的智能合约中。这些资金大部分是以DAI稳定币形式存在,其余则是ETH。
代码漏洞引发争议
Hegic团队承诺将自掏腰包赔偿所有受影响用户,尽管这些资金将永久锁定在智能合约中。然而,令社区感到不满的是,该团队最初称这个漏洞是"拼写错误"所致。两天后,在社区以及审查其代码的独立团队指出该漏洞是一个本可轻易避免的bug后,Hegic团队改口了。
负责审查Hegic代码的软件审计公司Trail of Bits向Decrypt表示,该交易所忽视了有关该bug以及其他关键缺陷的警告;相反,Hegic只是草草修补问题,急于推出其尚不成熟的代码。
Trail of Bits首席执行官Dan Guido告诉Decrypt:"这显然是一个错误,如果他们编写了任何单元测试,这个错误本可以很容易被发现。"
Hegic的态度转变
当Decrypt联系Hegic寻求评论时,Hegic回复了公司的官方事后分析报告。在该事件发生两天后,报告"为将此称为拼写错误而非bug或安全问题向每位Hegic用户(持有者和写作者)道歉"。
在早前解释该问题的推文中,Hegic声称代码中的"拼写错误"阻止了交易者从已到期的期权合约中解锁资金。在期权交易中,交易者购买一份合约,使他们有权在特定到期日以特定价格买入或卖出资产;Hegic的"拼写错误"导致用户在合约到期后无法访问锁定在这些合约中的资金。
审计公司的严厉批评
但审查Hegic代码的安全审计公司Trail of Bits称这是一个bug,而非Hegic最初声称的拼写错误。Trail of Bits的首席执行官指责Hegic在将安全评估(即代码的简要审查)当作审计(即更全面的代码审查)时,错误地描述了交易所的安全性。
Guido在事件后的Twitter帖子中表示,Hegic忽视了Trail of Bits的许多建议,对其上线过于轻率。他说,该公司在4月初审查Hegic代码时发现了"10个关键缺陷"。
Trail of Bits建议Hegic推迟其主网上线。但Guido表示,这家DeFi初创公司拒绝了,并"修补了我们发现的少数bug,没有做出进一步改动,将我们为期3天的代码审查错误表述为'审计',然后立即部署。"
Guido说,这给用户造成了Hegic是安全的错误印象,尽管该项目没有公开文档,也没有发布或可验证的软件测试。
对以太坊生态的潜在危害
Guido表示,恶意或信息不足的团队对安全审计的错误表述对整个以太坊和DeFi都是有害的。
以太坊以前也遇到过类似情况。正如区块链平台MyCrypto在Twitter上指出的那样,2017年Parity钱包事件(一名匿名开发者删除了Parity DAO中价值2.8亿美元的钱包库)表面上看也是一次意外。但无论是否是意外,这个bug都被利用了,最终Parity以一个有争议的硬分叉收场,导致以太坊分裂成两条链以恢复丢失的以太币。
这次事件可能不会导致分叉,但错误就是错误——无论你试图称其为拼写错误多少次。