基于以太坊的 DeFi 协议 SIR.trading(也称为 Synthetics Implemented Right)在 3 月 30 日的一次漏洞利用中被彻底耗尽,其锁定的总价值 355,000 美元全部损失。
区块链安全公司 TenArmor 在 3 月 30 日的一篇帖子中首次报道了此次攻击。TenArmor 标记了几笔可疑交易,并指出被盗资金已转移到 RailGun,这是一个有助于隐藏交易的隐私平台。
随后,安全平台 Decurity 透露,黑客利用了 SIR.trading 的 Vault 合约中的一个漏洞,具体来说是在一个名为“uniswapV3SwapCallback”的函数中。Decurity 将这次黑客攻击称为“巧妙的攻击”。
在另一篇 X 帖子中,区块链研究员 Yi 解释说,漏洞是由于合约验证交易的方式造成的。通常,它应该只允许来自 Uniswap (UNI) 池或其他可靠来源的交易。
然而,该合约依赖于临时存储,这是在以太坊 (ETH) EIP-1153 升级(也称为 Dencun 硬分叉)中引入的一种临时存储技术。
问题是什么?临时存储仅在交易结束后重置,但合约却被黑客操纵,在合约仍在运行时覆盖了重要的安全数据。黑客继续欺骗合约,让其信任他们的虚假地址。
他们通过暴力破解一个独特的虚荣地址来做到这一点,从而使合约能够将他们的假地址注册为合法地址。然后,黑客利用自定义合约从 SIR.trading 的保险库中抽走所有资金。
SIR.trading 的匿名创建者 Xatarrer 在攻击发生后承认了这一事实,称其为“协议可能收到的最坏消息”。他们向社区征求关于下一步行动的反馈,并表示尽管遭受了损失,他们仍有兴趣重建。
由于这次攻击可能是黑客在现实世界中首次利用以太坊这一新功能,因此它引发了人们对临时存储安全性的质疑。安全专家警告称,除非开发人员在智能合约中建立更强大的保护措施,否则可能会发生类似的攻击。