最近几个月,DeFi 行业经历了一些动荡,不少攻击和未披露漏洞被曝光。
虽说 Bug 不可避免,但如果采取一些有效措施仍可减少问题发生的频率、并降低由此带来的负面影响。
作为审核员,我们希望在这方面提供一些帮助。为了让开发人员可以优先考虑安全性问题,用户做好能早点提出一些棘手问题,只有当这些问题得到满意答复之后,才能放心把钱投入到相应的协议项目里。
要想搞清楚 DeFi 项目开发团队的安全立场,本文会列出的一些有用的问题,这些问题的答案并不能简单地用「对 / 错」来衡量,因为某些团队(或独立开发人员)可能并没有足够资源来解决所有问题。事实上,用户只能根据自己所能获得到的信息来判断是否愿意承受相应的风险级别。
当然,我们希望下面这些问题能够推动 DeFi 项目朝正确的方向发展。
数据:当前DeFi协议总锁仓量为2465.9亿美元:12月17日消息,据Defi Llama数据显示,目前DeFi协议总锁仓量2465.9亿美元,24小时减少0.79%。锁仓资产排名前五分别为Curve(214.1亿美元)、Maker DAO(181.4亿美元)、Convex Finance(160.4亿美元)、AAVE(138.4亿美元)、WBTC(122亿美元)。[2021/12/17 7:46:02]
大多数知名 DeFi 协议都是以某种形式被中心化控制的,支持特定「管理员」以强有力的方式进行干预。
虽然这种方式在安全性上有些好处,但也意味着你必须信任管理员不会滥用自己的特权。另一方面,如果攻击者窃取了管理员私钥及其附带的所有特权,那么也会增加项目风险。
DeFIL 联合发起人Marvin :首个FIL矿池与DeFi相结合的去中心化平台DeFIL将助力Filecoin生态发展:据官方消息,2021年05月06日晚,由Gate.io主办的直播专访节目《酒局币赴》邀请到DeFIL 联合发起人Marvin直播分享近期最新发展。直播期间Marvin与Gate.io立春就DeFIL及其相关事项进行了探讨与交流。
Marvin表示,DeFIL(全称Decentralized Finance of Filecoin)是基于以太坊开发的一个DeFi借贷平台,致力于打造一个FIL矿池与DeFi相结合的去中心化平台,主要目的是增加Filecoin的流动性,服务FIL矿工和FIL持有者两类人群。普通的FIL持币散户也能低门槛参与,并且投资者还有多重DeFIL的参与方式来享受高收益。
在未来,除了拓宽生态边界,DeFIL还将推出更多功能,从投资者需求出发,全方面优化升级,包括在功能开发、经济模型、社区治理等方面,链上交易速度和 UI 优化。此外,DeFIL还会与更多的资源机构以及社区合作,将 DeFIL的价值理念带入整个到 Filecoin生态中,助力Filecoin的生态发展。[2021/5/6 21:30:45]
管理员账户通常会采用几种可能的形式,包括:对单个地址、多重签名钱包、以及由投票流程控制的去中心化自治组织(DAO)。这里要询问的安全性问题包括:
聚币 CEO:看好DeFi未来 短期投资注意甄别:聚币CEO Jeff 今日在聚币直播间,探讨DeFi市场发展趋势话题时表示, DeFi项目用户参与门槛较高,市场仍存在泡沫现象,但看好DeFi的未来。DeFi并非新概念,由于流动性挖矿产品的的兴起促使DeFi类项目收益短时间内提高。长期来看,市场确实存在去中心化金融借贷等金融产品的需求。近期,市场上出现了不少模式相似的新DeFi项目,短期投资者要注意甄别和风险把控。[2020/8/19]
管理员可以采取哪些特殊措施?
能否暂停系统?
能否修改余额?
能否将代币 / 用户列入白名单 / 黑名单?
能否升级系统子集?
能否升级所有系统(等同于无所不能)?
分析师:DeFi市场由业内人士驱动,没有太多新参与者:金色财经报道,加密货币分析师Alex Krüger今日发推称,“加密DeFi 2020”已经成为了一个由追求利润的加密业内人士所驱动的,重新激烈定价的故事。这次没有太多的新参与者。即使在代币完全没有价值的情况下,这一次大多数投资者都知道他们在投机毫无价值的代币。[2020/8/15]
是否具有实施其他特殊措施的能力?
上述行为中,哪些会有时延、哪些没有?
如果有时延,具体会延长多久时间?
有多少人具有管理员权限?
在执行某些操作之前,必须获得多少个管理员批准?
是否有任何行政行为被链上治理控制,比如 DAO?
对于拟议的协议更改,可以在哪里查询到最新状态?
声音 | Tether首席技术官:USDT可以很好地作为许多DeFi项目的抵押品:金色财经报道,Bitfinex和Tether的首席技术官Paolo Ardoino在采访时表示,考虑到与区块链平台相关的不确定性,比如ETH从工作证明转向权益证明,其透露了团队决定USDT在哪个区块链上发布的标准。Ardoino表示,已经有了安全和业务审查,第一个过程是检查社区是否有兴趣在其平台上发布USDT。以ETH为例,USDT是在2017年12月左右在ETH上发布的。考虑到2017年比特币高昂的交易费用,公司决定将业务扩展到ETH。此外,他表示,USDT可以很好地作为许多DeFi项目的抵押品。[2020/1/7]
上述某些信息已能在 DefiWatch 中进行跟踪。
以太坊区块链中充满对抗性参与者,一般而言,开发人员应该尽量避免对其他系统的合约行为作出任何假设。然而在许多 DeFi 应用中,这几乎是不可能的,因为服务本身就是建立在现有合约之上。
因此在涉及有关外部依赖关系风险时,下面这些问题可能会有一定帮助:
你的系统依赖哪些预言机?
你的系统依赖哪些交易所?
你的系统使用了哪些第三方智能合约来构建(比如 OpenZeppelin)?
你的系统支持哪些代币?你对这些代币的功能做了哪些假设?
对于那些高智商黑客而言,攻击 DeFi 协议能让他们获得巨大的经济收益。因此你其实可以尝试制定一个赏金计划,为提供系统漏洞的人提供一些资金奖励,这样就能减少漏洞被黑客利用。实际上,通过赏金计划举报漏洞对黑客声誉也有好处,因为这样他们就不必通过非法手段来获利了。
出于对客户资金保护的目的,任何一家运行 DeFi 协议的公司都应该考虑黑客赏金计划,对此我们可以针对相关计划和披露流程提出以下一些问题:
你的合约源代码是否能公开获得?
能否在你的网站和 GitHub 代码库上快速找到安全联系信息?
你的合约上有赏金计划吗?
赏金计划包含了哪些合约?
赏金额度范围有多少?
你此前是否支付过赏金?
你此前是否拒绝为报告 Bug 的人支付赏金?
能否在你的网站和 GitHub 代码库上快速找到赏金计划的细节内容?
理想情况下,这些信息都可以在项目官方网站的安全网页 / 栏目中找到,或是利用 GitHub 的 SECURITY.md 功能也能找到相关信息。
在遭遇安全事件时,随着各种新信息不断涌入,开发人员通常很难理清思路,因为会有大量用户在 Twitter、Telegram、Discard 上提出各种各样的棘手问题……
所以,你需要制定计划来确保安全事件朝着健康的方向发展。虽然对于 DeFi 项目团队而言公开完整计划可能没有太大意义,但他们最好能够回答以下几个问题:
你是否有书面计划概述如何处理安全事件?
你的计划考虑了哪些方案?
如果你的系统是可升级的,那么所有执行操作步骤是否被记录在案?
如果发现了导致资金面临风险的漏洞,你是否会先发制人处理问题以保护资金安全?
审计不是万灵药,也不是所有审计都能做到公平对待。但是对于 DeFi 合约而言,正式部署之前进行安全审计仍是至关重要的一步。
虽然不是每个问题都能有「正确答案」,但项目开发团队给予的反馈和回复至少能让社区成员可以了解他们的安全立场,下面这几个问题值得关注:
你的项目上一次审计是在什么时候?
审计工作需要多少工作量(以人 / 小时为单位)?
哪家公司对你进行的审计?
审计报告是公开的吗?
你的系统有哪些部分被排除在审计之外了?
自从上次审计以来,你的合约是否升级?如果升级了,发生了哪些变化?
你是否与安全公司保持长期关系?
在代码合并之前,开发人员是否会在 GitHub 里检查彼此的 Pull Request (至少在 Solidity 文件里)?
单元测试会涵盖合约代码的哪些部分?
流程中是否使用过任何其他安全分析工具?
对于有兴趣跟进这些问题的 DeFi 用户,另一个值得关注的项目是 ConsenSys 的 DeFi Score,该项目正在执行一项艰巨的任务,即评估各个主要 DeFi 项目上的审计质量和其他安全流程质量。
最后,谢谢 Emilio 和 Ernesto (Telegram 上的 @eboado),他们都是 Aave 开发人员,以及 DeFi Score 的 Jack 为本文早期草稿提供的反馈。
来源链接:diligence.consensys.net
撰文:John Mardlin,ConsenSys Diligence 安全工程师翻译:卢江飞
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。