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