➤首先来说,Certik多少是有些问题的。

https://skynet.certik.com/zh-CN/projects/dexx…

第一,打开项目页,首先是评分!一个审计机构,你评分是什么鬼?

我们看审计报告,需要知道的是风险有多大,而不是项目或代码有多好!

第二,上来还有项目亮点。而且你看DEXX这亮点都是啥?推特关注者数量、社群、还有市场稳定性。这和你审计业务有啥关系,就这能叫亮点?

第三,可是涉及到审计的关键问题时,点击”查看漏洞信息“,然后接下来,不但没有显示漏洞信息,整个代码审计这块就没了……不信的话大家可以自己去试一下,我也录了个视频。



第四,其实页面上有pdf审计报告文件可以查看,但是位置不太明显。另一方面,审计报告里的风险事件情况不写在页面上,反而在页面上写一些与安全无关的亮点和评分……

➤其次,外行看审计报告,应该至少看一下风险摘要。

一般审计报告会把风险划分为致命的、主要的、中度、轻度、信息化几个级别。


图像

我们可以看一下每个级别有多少风险问题,有多少已经解决、有多少还没有解决。

像DEXX这个审计报告上写了,有1主要问题——中心化。

4个中度问题——易受攻击代码。这个已经比较直白了。已解决2个,未解决2个。

4个轻度问题——设计问题,已解决1个,未解决3个。

已解决就是已经解决了问题,已知悉,就是没解决的意思哈哈。

这么说吧,审计报告没问题,不一定真的没问题。但审计风险摘要里都有问题的,那确实是真的有问题的。

➤对比其他DEX的审计报告

❚ DYDX

既然说到DEX,我们可以看一下著名的DEX #dydx 的审计情况。

DYDX也没有花钱请certik进行审计,而是由不同的代码审计人员组成审计组进行非正式审计共6次。最近一次审计报告显示:


图像

https://github.com/dydxprotocol/v4-chain/blob/main/audits/Informal-Systems-Audit-Report-2024-Q2%2B.pdf…

共有:
中度风险1项,未解决。
低风险6项,2个已解决,4个暂未解决。
信息性风险7项目,7个暂未解决。

❚ DeGate


图像

再来看一个基于以太坊二层的DEX #DeGate ,2023年8月上线至今天,一共由3家审计机构进行代码,包括 @trailofbits 、@LeastAuthority 和 #Secbit 共进行5次代码审计。

看一下最近一次的审计报告,审计机构是Secbit。审计报告的地址是
https://github.com/degatedev/protocols/blob/degate_mainnet/packages/loopring_v3/security_audit/DeGate_Report_EN-final20230912.pdf… 。

中度风险4个,全部已经解决。
低风险8个,其中5个已经解决,3个暂时未解决。
信息性风险4个,1个已解决,3个暂时未解决。
还有4个讨论级别的风险,2个已解决,2个暂时未解决。这类风险应该是需要讨论的,不确定是否存在问题。

没有发现更高级别的风险了,剩下的最高风险是低风险。

DYDX 和 DeGate审计的共同点是:

第一,都没有花钱给Certik去"镀金",而是由多个审计主体进行了多次审计,这样可以相对更充分的发现代码中的安全问题。

第二,审计报告发布在Github平台,而不是审计机构或项目方的官网,这样可以看见审计报告文件的提交修改删除等行为,更公开更透明。

第三,这两个DEX的审计报告中都没有未解决的中度风险。根据审计情况都把风险控制在低风险级别下。

DYDX V4和DeGate分别已经安全运行了14个月和16个月。

可见,无论是大型DEX还是中小型DEX,都可以对比出DEXX的不安全。

➤写在最后

作为代码小白的我们,听说项目方有代码审计,我们要打开审计报告看了一下。而不是听项目方说有多少个安全性通过。

以DEXX为例,虽然Certik把它的代码排名在10%以内,但是它的评分只有59.31分。这说明DEXX实际的安全性可能更差。只要我们打开这份审计报告,什么也看不懂,起码能看见59.31这个评分。再仔细往下看就会发现"易受攻击代码"的字样。当时看过这两个细节,估计我们也不会去使用这个DEXX了。

打开审计报告以后,即使英文不好,也可以查找Medium这个词,找到风险事件摘要,看一下已发现的各级别的风险问题有多少个,多少已解决、多少未解决。


0:10虽然代码审计安全的项目不一定安全,虽然我们可能看不懂具体的代码风险,但是发现风险级别较高的因素尚未解决,很可能说明项目代码可能处于比较潦草的阶段,还有待的完善安全性,我们在使用时要慎之又慎。

而参与审计的主体多、审计次数多,项目的安全性可能会相对更好一些。当然,也仅仅是相对安全。毕竟很多风险事件不一定是代码层面上的。

提升安全性,我们的资产可以分散存储,大额长期投资使用冷钱包。在应用的用户端,手机电脑的环境保持安全性也非常重要,参与交易和持币的浏览器、设备等与日常使用等进行隔离。在操作资产时,包括交易、游戏等等行为,要慢,要慢,要慢,仔细核对信息……欢迎补充