基于零知识证明技术(ZK Rollup)的以太坊L2 扩容方案zkSync,在3 月24 日启动主网zkSync Era 后,灾情频频传出,生态中的DEX 协议Merlin 本周稍早才刚完成审计、开启公募,就遭骇180 万美元,引起加密社群的议论。
延伸阅读: zkSync Era出包》921 ETH卡合约无法领!团队承认:部分函数非EVM等效
社群质疑Merlin 遭骇是Rug Pull
随着案件延烧,根据社群用户@zkaliburDEX 针对Merlin 的合约进行分析,他表示此次遇骇很可能是项目的内部行为:
initialize 函数中的有两行程式码批准将uint256 最大值分配给feeTo 地址(部署者),在这种情况下,feeoTo 地址有可能调用相应的token transferFrom 函数,将token 从合约地址转移到自己的地址。因此这很可能是项目方的内部行为。
另一名社群用户@delucinator 也表示Merlin 百分之百是Rug Pull(意译:跑路)。此外,他还对负责审计Merlin 的安全团队Certik 提出质疑:
Certik 对该协议进行了审计,且不像是被交换掉的前端,Certik 看到了该合约中允许无限制地分配给某个随机地址,但仍然通过了它。
对此,区块链安全公司Verichains 创办人Thanh Nguyen 认同上述社群成员的看法,他指出「Merlin 是一个明显的故意后门插入案例」。
在Merlin 程式码中存在一个“后门”程式码(L87-88),允许MerlinFactory 的feeTo 在交换函数中除了手续费外,转移交易对中的所有资产。这个后门是一个明显的安全风险,因为没有使用场景需要它的批准。
CertiK 必须承认其审计期间未注意到后门的程式码。
CertiK 否认审计失误
针对上述的质疑,CertiK 发文回应称,目前正在调查Merlin 事件,初步调查结果指向一个潜在的私钥管理问题,而不是因为合约漏洞才导致协议遇骇,并表示审计不能防止私钥问题。
然而,令人讽刺的是,同一日(26日)极客公园才刊文Certik 创办人、哥伦比亚大学计算机系教授顾荣辉的专访,他在访谈中骄傲地表示:「CertiK 几乎是靠一己之力把区块链安全变成一个赛道,吸引了很多关注,吃下安全市场70% 的份额,把Web3 安全审计的费用降低了90% 以上。」


