Back to Blog

零御机攻击分析

Code Auditing
August 9, 2021
3 min read

2021年8月8日(北京时间,区块高度12982491),Zerogoki遭受攻击,损失约67万美元。经过调查,我们发现此次攻击与被篡改的价格预言机有关。攻击者提供了一个由合法私钥签名的价格预言机,其中包含经过精心构造的待交换代币数量。然而,攻击者能够构造有效签名的原因目前尚不清楚。

代码分析

我们首先对被攻击的合约 (0x80ecdb90)进行了分析。

swap函数调用decode_op以获取预言机中的信息。在执行验证后,合约销毁ns[0]个x.token,铸造ns[1]个y.token,并将交换费用支付给GOV合约。

从decode_op的实现来看,参数中存在三个签名。在执行代币交换(销毁和铸造)之前,需要对这些签名进行验证(及授权)。

总结来说,swap函数的第一个参数ns定义了待交换的代币数量,第二个参数包含需要验证的签名。当验证通过后,交换的代币数量由第一个参数(ns)定义。

攻击分析

在攻击交易0x81e5f715中,攻击者构造了一条包含有效签名的消息,并传入了经过精心构造的ns参数(其中包含大量zUSD)。最终,攻击者使用300个REI换取了70万个zUSD。

与签名相关联的三个地址为:

0x0d93A21b4A971dF713CfC057e43F5D230E76261C
0x3054e19707447800f0666ba274a249fc9a67aa4a
0x4448993f493b1d8d9ed51f22f1d30b9b4377dfd2

然而,目前我们尚不清楚这些地址的私钥为何遭到泄露。

总结

确保DeFi项目的安全并非易事。除了代码审计之外,我们认为社区应当采取主动措施来监控项目状态,并在攻击发生之前将其拦截

关于BlockSec

BlockSec是一家开创性的区块链安全公司,由一群享誉全球的安全专家于2021年创立。公司致力于提升新兴Web3世界的安全性与可用性,以推动其大规模普及。为此,BlockSec提供智能合约及EVM链安全审计服务、面向安全开发与主动威胁拦截的Phalcon平台、用于资金追踪与调查的MetaSleuth平台,以及帮助Web3开发者高效畅游加密世界的MetaSuites浏览器扩展。

迄今为止,公司已为MetaMask、Uniswap Foundation、Compound、Forta和PancakeSwap等逾300家知名客户提供服务,并在两轮融资中获得数千万美元,投资方包括Matrix Partners、Vitalbridge Capital和分布式资本(Fenbushi Capital)等顶级机构。

官方网站:https://blocksec.com/

官方Twitter账号:https://twitter.com/BlockSecTeam

Sign up for the latest updates

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit