时间:2023-08-23|浏览:21220
周六,DeFi协议PickleFinance因其Jar策略中的漏洞而被黑客盗走了2000万美元。之后,由Rekt、StakeCapital团队成员、samczsun等白帽黑客组成的临时小队对Pickle协议内剩余易受攻击的5000万美元用户资金进行了抢救,并由作者Rekt对这次事件进行了总结。
金融的发酵继续进行,即使是酸黄瓜也有保质期。PickleFinance因一个假的「Picklejar」漏洞被黑客盗走了1970万DAI。PickleFinance成为了这次黑客攻击的受害者。
然而,这一次和之前有些不同... 当Twitter上的人们试图接受另一次金融灾难时,Rekt开始调查。我们联系了StakeCapital团队,他们查看了代码并警告我们其他Picklejar存在风险。随后,我们迅速联系了PickleFinance团队,并与SketchCapital的成员(@bneiluj,@vasa_developer)以及经验丰富的开发者@samczsun、@emilianobonassi建立了一个作战室。在我们进行调查后,很明显,我们看到的是与最近几周的DeFi黑客攻击事件非常不同的情况。这不是一次套利。
攻击者对Solidity和EVM非常了解,可能已经密切关注了一段时间的Yearn代码,因为这个漏洞与一个月前在Yearn中发现的漏洞类似。本质上,PickleJar就是以YearnyVaults为基础的,这些Jar由一个名为theController的合约控制,该合约允许用户在Jar之间交换资产。不幸的是,Pickle没有设置白名单,允许哪个Jar使用这个交换功能。黑客制造了一个假的PickleJar,并交换了原Jar中的资金。这是有可能的,因为swapExactJarForJar没有检查「白名单」jar。PickleFinance团队知道他们需要帮助,并非常愿意与其他人合作,以防任何进一步的损害。Pickle曾试图调用「withdrawAll」函数,但这笔交易失败了。这个取款请求需要通过治理DAO,而这存在12个小时的时间锁(timelock)。只有一个Pickle多重签名组的成员有能力绕过这个时间锁,而当时他们正在睡觉。这意味着管理者无法清空PickleJar,但这并不能保护他们免受另一次黑客攻击。随后,PickleFinance和Curve发出警告,要求用户立即从Pickle中提取资金,然而,潜在易受攻击的Picklejar中还有5000万美元,而白帽团队调查了这一漏洞,并检查了剩余资金的安全性。救援小队要么叫醒睡着的管理员,要么自己抽干这些jar内的资金。
这个小队必须克服5大挑战: 1. 让PickleFinance团队跨多个时区聚集在一起,通过将交易推到12小时时间锁(通过6个多重签名中的3个)提取资金,以拯救这些资金; 2. 让成千上万的投资者提取他们的资金,并阻止他们在资金池TVL下降和APY膨胀到1000%以上时再进行再投资; 3. 对其他jar进行安全检查,看看是否有可能发生更多攻击; 4. 在任何人再次攻击这些jar之前,复制这种攻击,将资金转移出来; 5. 在试图挽救剩余的5000万美元资金时,避免被抢先交易。
我们还能依赖伪匿名白帽黑客的帮助多久呢?显然,与保护者相比,攻击者的动机更加一致,那白帽黑客为什么要协调这样一次艰苦的反击?荣誉归白帽,资金却归黑客,这是不可持续的。要让这些白帽变成黑帽需要多久时间?
通过发布这些技术信息,我们意识到我们可能会引发新的黑客攻击。我们与PickleFinance及其他开发人员讨论了潜在的后果,并确认我们不知道Pickle的任何运营分叉可能会受到模仿攻击的影响。选择性披露会带来责任的一个方面,所以我们决定自由发布这些信息。如果有任何协议在运行Pickle的代码分叉,他们应该要意识到正在发生的事件,并采取预防措施来防止黑客模仿者。
看看相对较新的保险协议CoverProtocol如何处理这一事件是有趣的,这对他们的第一笔索赔来说是一笔巨大的金额。你可以在这里找到保险索赔的快照投票。
腌渍酸黄瓜是一个缓慢的过程。几十年来,「敏捷开发」的倡导者一直在告诉开发人员,要快速行动,迅速失败,并发布最小的可行产品。然而,这些想法不适用于在敌对环境中建设。在DeFi中,迅速失败是要付出巨大代价的。我们不需要另一种方法,我们需要一个范式转换,允许快速迭代,同时减少被攻击的可能性。我们不要再认为「拥有审计就拥有了安全的保证」,在大多数情况下,它是在项目进入主网后快照式地应用于移动目标的检查表式安全措施,这些目标通常很快变
用戶喜愛的交易所
已有账号登陆后会弹出下载