登录

合约审计阅读指南:DeFi 参与者该如何看设计报告?

安全
0 6

一个完整的 DeFi = 智能合约 + 前端页面,即便在智能合约安全审计后,还会存在新型攻击和合约篡改等风险。

原文标题:《当我们看合约审计时,我们在看什么?丨目击》
撰文:Blocklike

随着「Swap 系」数量越来越多,DeFi 项目「暴雷」、「跑路」的事件也在增多。

面对社区对于 DeFi 项目风险的担忧,很多项目方都选择了进行合约审计,或是为了自证清白,或是为了取信于投资人,有时,DeFi 项目进行合约审计,也被当做是一种利好来进行解读。

这种方式似乎是有效的:在「寿司」Sushiswap 创始人被爆套现离场、项目控制权易主之后,一条关于「Sushiswap 项目智能合约审计工作进展顺利」的消息,让 Sushi 立刻展示出了小幅度涨幅,也让一部分投资者重获信心;在 JustSwap 连续三个项目均爆出漏洞、并被指项目方未做好详尽的测试和审计之后,Tron 官方挖矿项目 SUN 通过报告审计的消息,也让波场社区的热度再次增加。

同时,也有一些平台因为出现漏洞而在审计上备受质疑,上周,就有投资人对新兴的「Swap 系」平台 Moonswap 提出了关于「发现有预挖」、「合约没有时间锁」、「平台出现多个 Bug」等问题,并对其审计做出质疑,引发社区关注。

合约审计阅读指南:DeFi 参与者该如何看设计报告?

目前,MoonSwap 已于启动当天 18 点多已经加上了时间锁,慢雾安全团队发布了正式安全审计报告。

当在我们看审计报告的时候,我们在看什么?

作为 DeFi 参与者,合约审计能够真正给出哪些借鉴和参考?

在面对这些问题的同时,Blocklike 还发现,对于审计能够起到的作用,有人作出了这样的总结:「代码可以审计,人性无法审计。」

审计范围有限,合约风险暗藏

DeFi 热潮之下,很多投资人的现状可能正如 Primitive Ventures 创始合伙人 Dovey 所描述的那样:「千万别问我 xxx 能不能挖。现在一个人全职帮我看新地,一个人全职帮我看项目,还有两个 trader 全职做交易(各种,包括农产品打理),还有各种内应外援程序员帮我看合约安全,我就是个确认钱包多签的机器人,现代化农业哪里有那么简单。」

的确,合约安全是很多投资者都关心的话题。近期,为了给跟多投资者提示风险,社区就总结出了这样一份 DeFi 生态思维导图及风险点:

1. 合约风险,代码漏洞,未经审计,黑客攻击造成资产损失

2. 私钥风险,没有多签的 DeFi 合约意味着掌握合约私钥的可以随意更改合约或者跑路

3. 无常损失风险,例如流动性挖矿本身的无常损失,尤其是两种风险资产的流动性对收益高风险也高

4. 交易摩擦风险,现在以太坊交易 Gas 费率极高,几个交易下来可能就要花费一个以太,散户的本金来回几次可能都不够折腾

5. 操作失误风险,在转账过程中失误导致资产永久丢失,最近有几次大额转账失误 建议投资国外经过开源审计多签和社区民主自治的项目,仅供参考。

从中看出,风险点之中首当其冲的便是「 合约风险,代码漏洞,未经审计,黑客攻击造成资产损失」。从某种程度上讲,合约审计成为了把握合约风险的第一道门槛。

到了 DeFi 这里,从投资者参与未经审计项目的情况与热度来看,很多人对于安全审计的含义并不明了。早在 Yam 启动之时,市场的 Fomo 情绪已经被带动起来,虽然 Yam 已经被声明了「未经审计」的、一周内写出来的合约,但其所受到的追捧仍让人咋舌。

那么,作为 DeFi 投资者,该如何看待合约审计呢?

Blocklike 从慢雾安全团队处了解到,目前,智能合约基础安全审计主要分为 ETH 部分(波场、币安智能链类似,都是基于 EVM)和 EOS 部分。其中,ETH 安全审计包含 13 个大类,EOS 安全审计包含 15 个大类。

合约审计阅读指南:DeFi 参与者该如何看设计报告?ETH 安全审计样例

不过,由于 DeFi 整个安全模型上会更加复杂,慢雾安全团队将 DeFi 风险点分为了合约层与前端层两个部分:

合约层:

1. 智能合约基础安全审计项,其中精度问题是个需要特别注意点

2. 权限过大风险:铸币,授权迁徙

3. 经济模型风险:预挖、团队分配及用途

4. 同链平台迁移风险

5. 新增池风险:添加恶意 Token 薅奖励

6. 合约直接收到打币风险

7. 代币兼容性风险:通缩型代币,777 代币

8. DoS 风险 : 循环递归,恶意合约拒绝接受以太币

9. 治理合约风险 : 治理投票双花 , 治理垄断风险

10. 链平台迁移风险:各链之间兼容 EVM 的方式可能不一致

11. 闪电贷攻击风险:通过闪电贷对系统稳定性造成影响 (暂定)

12. 预言机操控风险

13. 借贷清算风险:全部清算、部分清算、无人清算、竞价清算

前端层:

1. 精度风险

2. 中间人攻击风险,如替换合约地址

3. 合约替换风险

4. 授权钓鱼风险

5. Gas Limit 限制风险

「这些确实普通用户很难去一一理解」,慢雾安全团队进一步解释道:「但普通用户可以简单理解为:DeFi 通过安全审计后,用户参与进去被安全审计的智能合约里的本金是安全的。至于因为参与 DeFi 导致的炒币经济亏损或在非合约层面导致的亏损,都不在智能合约安全审计范围。」

需要注意的是,根据安全团队的解读,一个完整的 DeFi = 智能合约 + 前端页面。

这即是说,在智能合约安全审计后,还会存在几个风险:第一,安全审计可能都没发现的漏洞或新型攻击方式;第二,智能合约可升级或可篡改,如何让可升级或可篡改成为不可能或有效可信的社区治理行为;第三,随着项目方的发展,智能合约会增加新的,如新池子、新功能模块,需要注意看智能合约安全审计报告明确审计的是哪些。

由于前端页面属于中心化内容,如果前端出 Bug 或漏洞或作恶,实际上危害可能会更直接更大。这个不仅是安全审计机构可以去审计的事(实际上也很难),还是社区监督的事。

而到了 EOS 安全审计上,情况便又有所不同了。

虎符创始人王瑞锡就曾公开表示:「EOS 的合约特性是可修改,大家要看清楚,不要盲目相信审计了。因为目前大多数 EOS 上的合约都没有开源。审计了没开源和没审计是一样的。出了问题审计还背锅,得不偿失。」

对于 EOS 上的智能合约,慢雾安全团队补充道:「如果项目方 Owner 权限已进行多签,需要项目方与至少 2 个可信方共同多签进行合约更新或者转账等操作,且 active 权限已删除项目方私钥权限。就可以比较好控制 EOS 智能合约项目方权限过大问题。」

因此,即便是通过了安全审计的 DeFi 项目,投资者仍然需要仔细甄别,注意风险。

投资人该如何参考?

根据工作经验,慢雾安全团队也对投资者们提出了一些建议:「智能合约安全审计虽然不是银弹,但有总比裸奔好,职业的安全审计机构会大大降低 DeFi 风险;切记不要进入到钓鱼网站,乱授权会导致本金归零;即使去投资被多家安全审计机构审计过的 DeFi,也做好黑天鹅爆发可能性,切勿沉迷;用靠谱的环境去玩靠谱的 DeFi,靠谱环境指(电脑是安全的、浏览器是安全的、手机是安全,使用的钱包是知名的、使用的网络是安全的等);不要把所有资金放到一个篮子里,分散安全管理很重要。」

成都链安智能合约安全负责人对 Blocklike 总结道:「从成都链安的经验来看,合约审计的目的主要是检查代码规范性 、常规漏洞(主要指一般的 Bug,如数据显示错误等)、安全漏洞(比如溢出、重入等常规的安全漏洞)、业务逻辑漏洞。主要排除的风险主要在于两点,减少遭受黑客攻击的可能性、减少因代码导致的业务无法按预期正常运转(比如 Yam 事件)。」

「审计报告会指出业务逻辑和功能描述等,可以对比看看项目方宣传与功能是否对的上;审计报告也会描述权限相关,普通投资者可以根据描述的权限,看看项目方是否有跑路的能力,比如项目方有权利将合约中的钱全部转走等,或者可以控制某些关键参数,变相控制用户资金」,成都链安提出建议。

而目前可以看到的现状是,DeFi 大热导致了很多项目方过于急切,现在明显是安全审计机构远远忙不过来的状况,这对于用户来说不是个好事。由于不少用户缺乏安全意识,即使一个 DeFi 没有通过安全审计,也可能有大量用户直接涌入。

Blocklike 提示各位投资者,在参与 DeFi 项目的同时,注意智能合约安全问题,进行投资时,本金安全作为第一重要的评估参数来看待,面对庞大的参与资金,黑客们可比普通投资者更狂热。

毕竟,早在 8 月中旬,就已经有社区声音对热情的投资者们灵魂发问:「你们想过吗,这些形形色色的 DeFi 项目真是出了问题,维权横幅上面你要印谁的名字?」

来源链接:mp.weixin.qq.com

发表评论

0 个回复