DeFi创业者经验谈:如何选择安全审计商 该有怎样的“审计观”_EFI:DEF

PANews特约作者:Leo,DeFi项目联合创始人

在加密行业中,审计是保证项目完整性和安全性的不可或缺的部分,细心观察不难发现,比较优秀的项目诸如Lido、Compound在审计方面的投入是7位数美金起步的「天文数字」,并且往往会就同一批产品代码,雇佣多个审计服务商介入审计。

这一方面可以看出DeFi夏天以来,链上头部业务/产品所获颇丰,有充足弹药持续打出,构筑更纵深的竞争壁垒;另一方面其实也为同行中的诸多项目、创业者展开了审计的一个切面:审计工作并不会只是「花钱-雇人-出报告-宣发」的流程化简单工作,而是应该有一套完整的「审计观」和方法论——什么样的产品交付需要审计?如何挑选供应商?如何最大程度确保审计工作的有效醒?怎样可以最经济实惠又安全完备地完成审计工作?

笔者将在下边的文章中,结合自身经验,从具体做项目,搞创业的角度出发,与各位读者讨论下我心中理想的「审计观」是如何。

审计供应商的可选性在近2-3年的光景中可谓是喷涌式增长,盘点下来市面上比较常见的审计供应商大概有15-20家左右(排名不分先后)。

波卡DeFi项目Acala完成6100万美元募资:9月8日消息,波卡DeFi项目Acala宣布已经从全球超过2600名投资者那里筹集了6100万美元。Acala在Polkadot上推出与以太坊兼容的DeFi智能合约平台后,这些资金将从Acala基金会捐赠给链上Acala财政部。[2021/9/8 23:10:32]

就笔者经验和其他同行的交流,国内的 Peckshield、SlowMist, 海外 Trail of bits, OpenZeppelin的综合美誉度、技术能力和覆盖完整度属于第一梯队。

整体上,华人主导的供应商(主要是第一行)仍然是加密行业中文项目的主要选择,时差为零且语言畅通,报价上也比较高性价比,国产供应商的报价基本上是12K-15K USD/人/周的水平,随着市场的淡季/旺季会有所波动;

相比之下,海外的供应商在中文行业存在度比较低,但这些供应商或因品牌溢价,或因创始团队资源关系,或因覆盖度/技术能力,普遍定价还是明显高于华人供应商,基本上是1.5-2倍的报价差异,并且往往能够出一批巨额的订单,譬如OpenZeppelin曾经被Compound以单季度上百万美金的价格聘请进行审计。

a16z将“开源”其DeFi委托计划:金色财经报道,风险投资巨头Andreessen Horowitz (a16z) 周四在一篇博客文章中表示,将“开源”其去中心化金融 (DeFi)委托计划,并首次揭示了Kiva和Mercy Corps等新受益者。据悉,A16z此前曾透露,已将代币委托给学生经营的组织,包括斯坦福区块链俱乐部、哈佛法律区块链和金融科技计划、加州大学洛杉矶分校的区块链组织和伯克利的区块链组织。然而,该做法是存在争议的。DeFi Watch创始人Chris Blec声称,该计划的提案主要是由a16z委托人决定的。他向a16z发布了一封公开信,呼吁提高该委托计划运作方式的透明度。在周四的博文中,a16z分享了有关其代币委托流程的更多细节,包括最佳实践列表、如何评估代表、法律机制、公司现有代表网络的构成和未来改进的想法。a16z表示,委托是一种鼓励“长期发展一个更高质量的管理机构”的有效方法。a16z鼓励社区自由使用这个框架、修改并提出批评,并最终提供反馈以对其进行改进。[2021/8/27 22:40:08]

与市面上主流的审计供应商平行存在的还有一类服务商,诸如Immunefi、PwnedNoMore。笔者定义为「白帽社区」,在传统的安全圈子中应当属于比较成熟的业态,在加密行业中,属于新近两年冒出来的,不过依然吸引了不少项目进驻采用,基本的运作模式就是项目方去该平台发布希望被审计/debug的模块(前端、后端、合约等),定义bug的严重度以及对应的赏金,以期吸引「白帽」主动report bug,解决问题。这种形式应该视为「公司制审计商」的一种有益补充,须要项目方能够精准,清晰有效地定义bug的分类、层级和需要对方覆盖的范围,并大方地给出悬赏金,往往能获得意外的惊喜。

瑞士数字资产银行Sygnum启动DeFi代币的托管和交易:瑞士数字资产银行Sygnum正在启动一系列去中心化金融(DeFi)代币的托管和交易,包括Aave、Aragon、Curve、MKR、Synthetix、Uniswap和1inchNetwork。Sygnum还为USDC稳定币增加了银行服务,计划为其客户提供一套产生收益的产品,其中包括银行、对冲基金、资产管理公司和家族办公室。[2021/6/15 23:37:59]

对于项目方而言,首次要请审计商review前,需要一定的设计和安排,一般建议要保证做到这几个点:

1-送审的代码在内部要进行过2轮以上的测试,如果时间允许,最好是再有一轮社区的公测后再送审,避免「显而易见」的问题需要付费解决;

2-送审的代码要尽量确保按照项目方的milestone,批量打包,一次性交付审计,避免拉高成本;

3-确保送审的对接人清楚产品整体的运行原理、大致的代码量以及主要模块的分布,避免在initial setup阶段需求传达不清,给项目拿回一份不合适的报价单;

4-排期要比较,重要产品节点有必要付费锁定排期。

DeFi聚合平台Instadapp推出新功能可自动化DeFi债务清算:2月4日消息,DeFi聚合平台Instadapp宣布与Gelato Network合作,启动Instadapp Actions服务。该服务可使DeFi债务功能自动化,以防止由于市场波动而导致用户抵押品被清算。(BeInCrypto)[2021/2/4 18:53:55]

尽管市面上的供应商诸多,但是每家的排期差异巨大,送审人有必要就同一段代码向至少3个审计商发出评估请求,获得排期、报价和工作量评估,重要的产品节点务必预付费一部分(一般建议30%-50%),锁住审计商的排期,避免影响进度。

就笔者的经验,中文供应商的预约建议至少提前2-4个周(相较于希望报告产出的日期),海外供应商的预约至少提前1个月(这里主要是考虑时差、对接人转介以及老外普遍不996的耗时)。

在秉承上边的送审原则后,确定排期、报价,项目代码交付审计商开始review,过程中,比较负责任的审计商一般都会就review中的疑问和项目方进行讨论,具体的对接人 & 项目方的技术人员有责任也有必要多和审计商沟通排解问题,对接人在过程中须要确保:

dForce杨民道:DeFi的产生从4个方面重塑了金融领域:12月23日,在深链财经主办、Thor Chain和HOLD协办的“2020年非共识大会暨DeepChain年度影响力颁奖典礼”上,dForce创始人杨民道发表题为题为“DeFi如何重塑金融”的主题演讲。杨民道表示,DeFi从4个方面重塑了金融领域:第一是产生完全新的货币形态,不在央行的资产负债表体现;第二是统一、无需准入的平行货币市场和即时、全球结算网络;第三是DeFi+, 值得注意的是,DeFi+更像一个横切面似的改革,而非垂直改革。最后是形成一个无国界、非许可的、急速迭代的平行金融网络。[2020/12/24 16:22:29]

1)审计的中间进度如期进行;

2)审计商提供的初版审计报告须要让项目团队中的2位不同技术人员去交叉review,再同步审计商定稿与否;

3)审计对接人要做好勾联同步的作用,确保本团队关键技术、产品人员,与审计商中实际进行代码review的人建立群聊,而不是被动地等待审计商出报告和签字;

4)【锦上添花】对接人能够在审计过程中对市面上其他家审计商发的「安全事件review报告」保持关注,对可能匹配自家项目的情况,主动提出和审计商沟通,前置地把可能没覆盖的问题给debug。

审计公司大多能够完成的工作是代码本身的质量、逻辑、安全性是否完备、十足,对于代码和业务关联触碰很少。往往会出现代码逻辑/安全性上调整到位了,业务逻辑受到了影响的情况。

譬如对于合约权限升级,费率调整、token增销等关键module,从业务早期发展来说,其实需要一个项目方内能做决策的core member单签控制,应对市场变化/突发安全事件及时调整,而不是一味地追求多签控制,影响危机时刻项目的应变能力。

合理的「后门保留」/「超级权限」不仅事关项目,亦可能攸关行业生死,试想,如果BitMex不曾拔网线,Circle不曾停赎回,BNB Chain不曾「停链维护」,行业如今又是什么光景?

审计商的服务只能debug而不能确保100%安全,安全事故总有可能在某个点引发。

一方面项目方要主动和审计公司沟通,商讨如何处置(可能是赔付、免费二审、退款,或者其他方案)

另一方面,每一个安全漏洞的发现 & 补足其实也都事关行业整体的进步,在不涉及项目方关键商业利益的情况下,鼓励所有项目方积极与审计公司一起,公开化地recap每个类似的问题,能更好地让行业共享一套更高的安全标准,其实也是在长期地降低每家项目方审计的成本。

审计是一场旷日持久的资金战争,是项目方竞争的重要壁垒。

一方面应该在每一个产品的milestone之间都持续地投入资金,雇佣知名、可靠的外部审计商来覆盖可能的安全漏洞;另一方面也应该重视社区的力量,鼓励诸如Immunefi、PwnedNoMore这样子白帽社区介入项目的安全buidl。

笔者曾以约30K美金的赏金,成功请到以为社区中的白帽人员,debug并协助修复部署了一个托管百万美金的合约。

少另辟蹊径,多复用成熟合约,也是降本增效的好手段。

加密行业的创业门槛已然大幅提高,数百万美金的融资额即使在眼下的市面上,也属于屡见不鲜的存在。从前边的讨论可以看出,要真正支撑一整套可靠、安全、稳定的dApp非常困难,哪怕是Compound、Lido、Uniswap等行业顶流应用也无法保证十足安全。

所以,从成本集约的角度触发,每个初创项目在合约、模型的选用上要最大可能嵌套入已有的成熟设施,避免另辟蹊径,常见的DEX、Lending、收益聚合器、流动性质押 & 再质押,乃至衍生品交易、合成资产等品类,其实都有一批成熟、可用的基础设施给新晋项目方复用、嵌套,这在给项目方降低安全成本的同时,也有效地增强了项目本身的安全性,并且能够确保系统的安全随着复用对象的升级而进化。

从行业的整体角度来讲,要做到十足的安全,其实需要市场上所有主体的参与和贡献。

对于审计商而言,1)防范项目的小心思。部分项目的常见操作是把真正去审计的代码,和面向社区交付上线的代码搞成两套,这样子审计商其实是白白挂了牌子和责任,所以在项目正式部署后,一般建议审计商再去二次查验下实际版本的代码;2)有必要探索和「保险」的结合,对于采购服务到一定量以上的客户,理应在安全事故发生后有赔付机制,保障项目方的权益;3)更广泛地和同行公布审计案例经验。审计商其实和医疗行业类似,整体的进步一方面依靠长线的技术、科研投入,另一方面高度依赖案例量的积攒。从这个角度看,时常被用户调侃的「PR式审计」其实也是推动行业进步的一种动能,至少更多的审计案例被行业共享。

对于用户而言,1)冷热钱包分离,专门dApp用专门的钱包地址,常常清理陌生授权,不操作莫名的空投token等,degen的时候永远要安全生产;2)高净值的用户有必要养成常常翻阅各家审计商公布的安全事件报告的习惯,对常见的安全风险做到心中有数。

PANews

媒体专栏

阅读更多

金色财经

澎湃新闻

金色荐读

金色财经 善欧巴

链得得

LD Capital

深潮TechFlow

Odaily星球日报

Foresight News

BTCStudy

iBox

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-6:427ms