7 月 31 日凌晨,Curve Finance 官方宣布由于 Vyper 部分版本出现故障,许多使用 Vyper 0.2.15 版本的稳定币池 (alETH/msETH/pETH) 遭到不同程度的攻击。其中 CRV/ETH 池在几分钟内就被盗空了,攻击事件导致 Curve 约损失 4200 万美元。这一攻击事件发生的背后,Vyper 语言是否存在漏洞?攻击事故的发生会否给智能合约审计、DeFi 市场情绪、投资者信心等带来打击与震动?面对这一系列的话题,我们依旧需要探寻链上世界运行安全性与可持续性之间的平衡路径与应对策略,更好地共建 DeFi 生态,第 25 期 TinTinWeekly 活动交出了这些问题的答卷。
精彩观点
- Vyper 存在技术漏洞——0day 漏洞,引爆 Curve 稳定币池攻击事件
- Curve 稳定币池遭攻击,或带来用户流失、投资积极性下降等影响
- DeFi 项目设计初期应将安全性作为首要考虑因素,提高应对风险能力
多重因素造成 Curve
稳定币池遭受攻击
自 Curve 稳定币池遭到攻击后,各路专业人士开始对本次事件进行事故原因的分析,综合直播间嘉宾老师们的看法,不外乎从技术、业务、市场等几个方面进行的探索和思考。当我们面临此类事故时,只有寻其根本才能找到对症下药的良方。
重入锁失效成技术层面主要原因
Curve 攻击事件涉及的范围之广,究其根本是智能合约基础设施 Vyper 的 0.2.15、0.2.16、0.3.0 版本存在重入锁设计的不合理。Adam 老师犀利地指出,“Vyper 三个版本里重入锁失效的技术漏洞引起了本场事故。漏洞显现后,很多白帽子、灰帽子纷纷加入测试,造成多个项目受到类似攻击。” 而 Vyper 存在的技术漏洞其实是很典型的 0day 漏洞(指未被公开的安全漏洞,发现这种漏洞的行为被称为漏洞挖掘),这种漏洞可能是由黑客团体挖漏洞发起攻击造成事故,也可能是线技术人员遇到漏洞却没有及时察觉。当前,许多开发团队在进行 Vyper 语言的开发中,产出了类似 Vyper 的智能合约,碰巧测试功能用例时与重入锁的逻辑重合(存在漏洞的板块),发现了 0day 漏洞后作出了攻击性行为。
Curve 自身机制助推攻击事故发生
除了技术层面的硬性影响因素以外,Curve 自身的机制特点也为本次事故推波助澜。“Curve 自身的不可升级性导致其流动性池的迁移成本非常高昂、程序也异常繁琐,面对风险并没有及时可供应对的紧急策略机制,这可能直接导致了本次攻击事件的爆发”,Bruce 老师认为Curve 作为相对成熟的项目却没有应对风险的紧急策略机制,这对任何事故的防御来说都是非常不利的。
而站在市场环境的角度来看,Curve 自身要承载着用户将海量资金沉淀在链上的技术承诺,这种高度集中资产的汇聚地必然会引来部分黑客产生攻击的欲望。面对采用的 Vyper 语言,相关审计公司的审计能力也相对不足,这种安全性保障的缺失,让 Curve 也极有可能一触即溃。
动摇 DeFi 生态,
更应看到积极信号
毋庸置疑的是,Curve 稳定币池遭攻击这一事件的发生,必然会对整个 DeFi 生态带来不小的冲击,尤其对用户、投资者、开发人士等投入 DeFi 生态的信心与热情带来消极影响。然而事有两面,面对 DeFi 生态可能产生的动荡,我们或许更应该看到从中释放的积极信号。
用户重创效应明显,市场投资热情下降
“事实上,Curve 稳定币池遭攻击这一事件的发生,是我们非常不愿意看到的”,Bruce 老师在面对 Curve 遭受攻击事件时表现得有些沮丧。在他看来,Curve 吸纳了一个很大的 TVL 在里面(即 Curve 的流动性极强),能提供比较稳定的收益来源,一旦出现系统性崩溃,就有可能对链上资金的安全性带来冲击,用户很难在短时间内找到一个与 Curve 量级媲美的协议去存放自己的资金,如此对 DeFi 生态的运作带来非常重大的影响。如果这个收益来源在一段时间内都无法修复,那么就会带来用户流失,他们可能会去转投 CeFi(中心化金融项目),毕竟相较之下 CeFi 不太会有那么严重的安全问题。
对于市场情绪层面来说,用户、社区开发者等都会将 Curve 事件的崩溃与创始人清算问题联系起来。大家非常担心市场流动性不足,导致 Curve 创始清算 CRV 价格的飞速下跌。资金效益的流失最能触动市场情绪,也是 Curve 遭攻击事件带来的直接影响。对此,Loopy 老师也表示认同,并补充道,“在 DeFi 生态里有这样的一种逻辑:一个平台运行地越久,它的 TVL 值就越高,我们更可能认为其是一个更加安全的平台,以此提升了平台的知名度和影响力。而像 Curve 就是 DeFi 生态里处于第一梯队的安全平台,所以客户经历了攻击事件后,Curve 的 TVL 值直接腰斩,这对 DeFi 用户的信任度和信心值都是一种‘致命打击’”。这种影响或许会直接导致 DeFi 在吸引资金方面落后于整个市场,对投资者来说也需要很长一段时间才能重新建立起对 DeFi 的热情和积极性。
注重技术解决方案,寻找重振行业方向
Curve 稳定币池遭攻击事件已然发生,与其一昧苛责种种因素与主体,不如寻找新的启示与改进方向。在 Steven 老师看来,本次事件对用户和开发者的信心产生不小影响,后续可能仍然需要全新的行业叙事和创新才能挽救 DeFi 生态,重塑 Curve 的影响力。具体到实际方案中来说,开发者团队可以更加注重修补技术漏洞细节、完善底层基础设施、加强去中心化监管……这都是可以重振开发者、投资者信心的现实举措。
“面对 Curve 事件的影响,启示开发团队要在去中心化服务器建设中加入重计算、重安全的技术应用手段。不断加强 DeFi 平台的安全性,才能获得更多的项目发展空间”,Kartin 老师补充建议道。
提高 DeFi 安全性:
Vyper 重入锁失效的启示
Vyper 编程语言递归锁失效(重入锁失效)导致本次技术漏洞,必然引起了开发者和项目方的重视。事实上,重入锁漏洞很常见且不断在发生,而常见问题的不断发生也反映了开发者和项目方对智能合约本身的安全性重视度不够,忽视了安全风险问题。当前,区块链金融安全问题频现,也从侧面展现了大众对链上资产安全方面的技术素养和知识积累比较匮乏。
对此,Adam 老师认为,作为一个完全去中心化项目,Curve 等 DeFi 项目需要在一开始的设计中就把安全性作为首要考虑因素,不断提高安全性和应对风险能力。对任何 DeFi 项目而言,光有审计是不够的,应该要建立一个贯穿事前到事后防患于未然的应急响应机制,一旦发现任何问题要能够及时止损,比如冻结资金、追讨账户等举措。这是 Curve 稳定币池遭攻击后,由 Vyper 重入锁失效这一技术层面的分析带给我们的启示和思考,“我们看到 DeFi 项目的安全问题时,应该采取一个更加立体化的视角,从不同主体去思考优化解决的方案。”
平衡 DeFi 效率与准确性:
坚持三重路径
完善技术安全性是重新挽回 DeFi 生态口碑的第一步,那么更好平衡 DeFi 效率与准确性则是发挥 DeFi 生态影响力的第二步。面对类似的攻击事件,DeFi 项目需要在智能合约代码审计方面继续提高效率和准确性。Adam 老师从自动化引擎、漏洞披露机制、团队水平提升三个方面给出如下建议:
Curve 稳定币池遭攻击事件本身或许不能够完全颠覆 DeFi 生态的运作节奏,但也足以成为 DeFi 赛道的开发者、用户、投资者进行深入学习和思考的范本。未来我们依旧需要寻找提升 DeFi 生态安全性与持续性发展的技术工具和运作方式,推动 DeFi 生态繁荣成长。
第三,提升团队业务能力和水平。DeFi 项目的风险虽有技术层面的原因,但更多来自于业务层面。所以代码审计这一块需要审计工程师、审计专家提高业务水平和技能素养,发现更多不确定性的风险。
第二,搭建漏洞的发现和披露机制。Curve 事件提示项目团队需要提高漏洞挖掘能力,包括在生态里提出一些赏金机制,让 0day 漏洞的发掘和利用更多地集中于想要做好事的安全研究员身上。
第一,引入动态扫描机制工具。自动化引擎的加入能够提升防御攻击的能力,还能够提高扫描的准确性,并实现不断升级和再造。
提升团队业务能力,更好地推动 DeFi 生态繁荣发展