金融的发酵还在继续,即使是酸黄瓜也有保质期。PickleFinance的漏洞导致黑客盗走了1970万DAI。PickleFinance成为了这次黑客攻击的受害者。
然而,这次与以往有所不同。当人们试图接受这次金融灾难时,Rekt开始了调查。他们联系了StakeCapital团队,后者查看了代码并警告其他Picklejar可能存在风险。随后,他们迅速与PickleFinance团队以及其他开发者建立了一个作战室。
经过调查,他们发现这次与之前的DeFi黑客事件非常不同,这次不是套利。攻击者对Solidity和EVM有着很好的了解,并且可能已经密切关注了Yearn代码一段时间,因为这次漏洞与一个月前在Yearn中发现的漏洞类似。
从本质上说,PickleJar就是YearnyVaults的分叉,这些Jar是由一个名为theController的合约控制的,该合约具有允许用户在Jar之间交换资产的功能。不幸的是,Pickle并没有设置白名单允许哪个Jar使用这个交换功能。黑客制造了一个假的PickleJar,并交换了原Jar中的资金。这是因为swapExactJarForJar没有检查白名单jar。
PickleFinance团队意识到他们需要帮助,并愿意与其他人合作,以防止进一步的损害。他们尝试调用withdrawAll函数,但这笔交易失败了。取款请求需要通过治理DAO,并存在12个小时的时间锁。只有一个Pickle多重签名组的成员有能力绕过这个时间锁,而当时他们正在睡觉。这意味着管理者无法清空PickleJar,但这并不能保护他们免受另一次黑客攻击。
随后,PickleFinance和Curve发出警告,要求用户立即从Pickle中提取资金。然而,仍有5000万美元的资金存放在潜在易受攻击的Picklejar中。于是,白帽团队进行了调查,并检查了剩余资金的安全性。他们要么叫醒睡着的管理员,要么自己抽干这些jar内的资金。这个小队面临着5个挑战:召集PickleFinance团队跨时区合作,通过提取资金拯救这些资金;让投资者提取资金;对其他jar进行安全检查;在任何人再次攻击这些jar之前,将资金转移出来;在试图挽救剩余的5000万美元资金时,避免被抢先交易。
我们还能继续依赖伪匿名白帽黑客的帮助多久?攻击者的动机更一致,所以为什么白帽黑客要协调这样一次艰苦的反击呢?荣誉归白帽,资金却归黑客,这是不可持续的。要让这些白帽变黑,需要多久时间?
通过发布技术信息,他们意识到可能会引发新的黑客攻击。他们与PickleFinance和其他开发人员讨论了潜在的后果,并确认他们不知道任何运行Pickle的代码分叉可能会受到模仿攻击的影响。选择性披露带来责任,所以他们决定自由发布这些信息,以提醒其他协议采取措施防止模仿攻击。
文章还提到了保险协议CoverProtocol对这一事件的处理,以及快速迭代和安全迭代之间寻找平衡的重要性。未来金融界最伟大的团队将是那些能够在快速迭代和安全迭代之间进行权衡的团队,他们需要定期对其可组合的货币机器人进行持续审计和严格测试。审计应该是一个定期的、持续的过程,而不仅仅是启动前的一次检查。毕竟,腌黄瓜只有在罐子里才能保持新鲜。