区块见闻 区块见闻
Ctrl+D收藏区块见闻

首发 | Pickle Finance损失近2000万美元攻击事件分析

作者:

时间:

北京时间11月22日凌晨2点37分,CertiK安全研究团队通过Skynet发现Pickle Finance项目遭到攻击,共损失约1975万枚价值近一亿三千万人民币DAI。

自9月10日Pickle Finance开始挖矿起,一直没有什么存在感。

有了食物大军的大幅涨跌经验在前,投资者本身对于异军突起的Pickle项目保持着一定程度的警惕。

但自从9月14日获得V神亲自站台,酸黄瓜在汹涌的DeFi浪潮中凭借其DeFi新玩法及各种背书,可谓是平地起价完成了10倍的涨幅。

“刚用5美元的价格把手里价值1万美元的PICKLE卖掉,睡了一觉它的价值就变成了60美元???这???”

正当各投资者摩拳擦掌预备好入手这一新型食物代币或是已经深陷其中,11月23日传来的消息却令投资者们大惊失色。

据Messari数据显示,自Pickle Finance被黑客攻击后,其原生代币PICKLE暴跌50.12%,直至10.17美元,此后稍有回升,截止当前其市值为11.41美元。

下文将为你带来本次攻击事件详情分析。

整个攻击流程如下:

第一步:攻击者通过StrategyCmpdDAIV2.getSuppliedUnleveraged()的函数获得当前在位于地址0xcd892a97951d46615484359355e3ed88131f829d的StrategyCmpdDAIV2合约中有多少可以被取出的DAI数目,这里记为Amount_A。

第二步:攻击者调用位于0x6847259b2b3a4c17e7c43c54409810af48ba5210地址处的ControllerV4智能合约中的swapExactJarForJar()函数,并在调用时传入1号和2号脏jar,Amount_A以及0,[],[]作为参数。

资管平台Blueshift与多链流动性协议Symbiosis达成合作:据官方消息,基于投资组合的AMM和资产管理平台Blueshift近日与多链AMM DEX和流动性协议Symbiosis达成合作。[2022/5/21 3:32:25]

swapExactJarForJar()函数

其中1号脏jar和2号脏jar由于是攻击者自己部署的,符合IJar接口的智能合约,因此其中的token()函数的逻辑实现以及其他函数都是由攻击者自己决定的。因为Pickle Finance swapExactJarForJar()函数没有对传入的jar是否为官方的智能合约地址进行验证,因此该步骤得以成立。

swapExactJarForJar()函数中传入的jar可以定义代币的类型

调用withdrawForSwap()函数 

随着swapExactJarForJar()函数的执行,当执行到上图289行的位于swapExactJarForJar()函数中的withdrawForSwap()函数时,经过一系列函数调用,最终执行位于0xcd892a97951d46615484359355e3ed88131f829d的deleverageToMin()函数以及deleverageUntil()函数,将当前StrategyCmpdDAIV2中可以被取出的代币(Amount_A)转移到位于0x6949bb624e8e8a90f87cd2058139fcd77d2f3f87地址的PickleJar智能合约中。

信息安全标委会发布58项网络安全国家标准项目立项 包含数字货币安全研究:近日,全国信息安全标准化技术委员会发布《关于2021年网络安全标准项目立项的通知》。通知显示,按照《全国信息安全标准化技术委员会标准制修订工作程序》的有关规定,2021年网络安全标准的立项工作已经完成。项目清单显示,12项标准制定、17项标准修订、29项标准研究,涉及个人信息保护、数据安全、数字货币安全、人脸识别安全等。其中,中国人民银行数字货币研究所、中国人民银行金融科技研究院(深圳金融科技研究院)、长三角金融科技有限公司参与《数字货币安全风险和标准研究》项目研究。(移动支付网)[2021/9/1 22:52:00]

 deleverageToMin()函数以及deleverageUntil()函数

StrategyCmpdDAIV2智能合约向PickleJar智能合约转移代币的内部交易截图

PickleJar智能合约中的earn()函数

第三步:调用位于0x6949bb624e8e8a90f87cd2058139fcd77d2f3f87地址的PickleJar智能合约中的earn()函数(如上图所示)。

总共调用三次,目的是将位于当前PickleJar中的pDAI数目的DAI,从0x6b175474e89094c44da98b954eedeac495271d0f地址转移到位于0x6847259b2b3a4c17e7c43c54409810af48ba5210地址处的ControllerV4智能合约中,并在887行通过调用ControllerV4合约中的earn()函数(如下图所示),在下图152行中通过deposit()函数。

从而实现调用0xcd892a97951d46615484359355e3ed88131f829d的StrategyCmpdDAIV2合约中的deposit()函数,将PickleJar中的pDAI数目的cDAI铸造给StrategyCmpdDAIV2。

ControllerV4智能合约中的earn()函数

StrategyCmpdDAIV2合约中的deposit()函数

第四步:再次调用位于0x6847259b2b3a4c17e7c43c54409810af48ba5210地址处的ControllerV4智能合约中的swapExactJarForJar()函数,并在调用时传入3号和4号脏jar,以及0,0, CurveProxyLogic智能合约地址,0x20作为参数。

此处0x20是一个注入参数,目的是为了与CurveProxyLogic智能合约地址配合,执行位于0x6186e99d9cfb05e1fdf1b442178806e81da21dd8地址的CurveProxyLogic智能合约中的add_liquiditya()函数。

3号脏jar:

0xa2da08093a083c78c21aeca77d6fc89f3d545aed

4号脏jar:

0xa445e12d69e8bd60290f6935d49ff39ba31c6115

CurveProxyLogic智能合约地址: 0x6186e99d9cfb05e1fdf1b442178806e81da21dd8

swapExactJarForJar()函数使用CurveProxyLogic智能合约地址和注入参数来执行指定函数

CurveProxyLogic智能合约中的add_liquiditya()函数

在此步骤之后,在第三步中存储在StrategyCmpDAIV2被从StrategyCmpDAIV2智能合约中转移到ControllerV4智能合约处。

至此所有可以被取出的代币被以cDai的形式存储在ControllerV4智能合约中,并且攻击者拥有取出cDAI的资格。

第五步,攻击者调用位于地址0x5d3a536e4d6dbd6114cc1ead35777bab948e3643的CErc20Delegator智能合约中的redeemUnderlying()函数,内部调用了位于0xbb8be4772faa655c255309afc3c5207aa7b896fd地址处的CErc20中的redeemUnderlying(),redeemUnderlyingInternal()以及redeemFresh()函数。

最终将所有获得的cDAI转换成DAI,提出所有DAI并完成攻击。

CErc20Delegator中的redeemUnderlying()函数

CErc20中的redeemUnderlying()函数

CErc20中redeemUnderlyingInternal()函数

多次的DeFi攻击事件,表明了一个事实:“已审计”并不意味着其拥有了安全保证。

Pickle Finance在10月或更早通过的安全审计,并不代表其新增的智能合约均得到了实时的安全检测。

高收益伴随着高风险,此次漏洞的爆发同样也是一个警示。

完备的安全保障=安全审计+实时检测+资产保障=CertiK审计服务+CertiK实时检测安全预言机+CertiK快速扫描+CertiKShield去中心化资产保障资金池

如您有审计需求,欢迎搜索微信[certikchina]关注CertiK官方微信公众号,点击公众号底部对话框,留言免费获取咨询及报价!  

标签:以太坊ETHJARPICK以太坊交易beth币怎么挖Jared From SubwayNPICK BLOCK

欧易交易所热门资讯
晚间必读5篇 | 扩容:以太坊2.0之路

1.金色硬核|扩容:以太坊2.0之路 随着存入以太坊2.0存款合约中的ETH在11月24日达到524288枚的阈值,基本可以确定,以太坊2.0的信标链将如约在2020年12月1月启动。这也意味着以太坊将要在layer1层正式走向PoS和扩容之路。未来以太坊上的去中心化应用可能不用再忍受2020年夏天DeFi热潮中经历的高昂Gas费之苦。

用数据解释:为什么2020年是比特币特别的一年?

加密货币整个资产类别都是捆绑在一起,每当比特币上涨时,其他加密货币必然会随之上涨,它发生在2017年,现在发生在2020年。 在过去的8周中,比特币一直在攀升,通过多重阻力而加速发展,而其他资产(如以太坊)也纷纷效仿。随着比特币的涨幅再创历史新高,Coinmetrics报告了另一项指数,该指数将2020年的比特币与其他看涨年份区分开来。

金色硬核|全面了解以太坊2.0技术关键:可扩展性

随着存入以太坊2.0存款合约中的ETH在11月24日达到524288枚的阈值,基本可以确定,以太坊2.0的信标链将如约在2020年12月1月启动。 这也意味着以太坊将要在layer1层正式走向PoS和扩容之路。未来以太坊上的去中心化应用可能不用再忍受2020年夏天DeFi热潮中经历的高昂Gas费之苦。

CyberVein立项三周年:三年精耕 强势焕新

——从前的路,感谢你的陪伴;现在的路,感谢你的支持;未来的路,期待你的参与。 过去三年,有的人在勇往直前,有人的还在徘徊不定,有的人已离场……CyberVein也跟随着市场和大环境,经历过爆发和动荡,尝试过沉淀和冲刺。在CyberVein一周年的时候,我们大声喊出“一年之仰,不止于想”;在两周年之际,我们大声喊出“两年沉淀,十足惊艳”。

ETH2.0质押挖矿究竟是怎么回事 如何通过ETH获取BETH?

距离ETH 2.0零阶段开启仅7天,以太坊2.0我们都听说很久了,但是始终没有去认真了解过,只知道ETH2.0将从POW过渡到POS挖矿。 经过认真研究之后,首先你需要持有32个以太坊就可以在ETH实现2.0的时候挖矿。 根据以太坊2.0白皮书的描述,新以太坊代币名称是BETH。

谷燕西:Libra推向市场会产生四大影响

根据《金融时报》报道,Libra稳定币最早会在2021年1月推向市场。它会首先推出Libra美元稳定币,然后会陆续推出基于其它法币的稳定币。我认为,如果Libra推出的话,它会至少带来以下几个方面的影响。 现有的美元目前是在以中心化系统为支撑的清算结算体系之上流通。只有在这样的体系能够触及到的范围之内,美元才可以流通。