周日,多个去中心化金融协议遭到攻击,被窃取的加密货币价值超过 2400 万美元。攻击者利用了自动做市商平台 Curve 上流动性池中的一个漏洞。
据 Curve 在 Twitter 上称,该漏洞可追溯到 Vyper,这是一种用于以太坊智能合约的替代性第三方编程语言。Curve 表示,其他不使用该语言的流动性池也没有问题。
由于重入锁故障,一些使用 Vyper 0.2.15 的稳定池(alETH/mSETH/pETH)已被利用。我们正在评估情况,并将根据事态发展向社区提供最新信息。
其他程序库是安全的。https://t.co/eWy2d3cDDj
– Curve Finance (@CurveFinance) 2023年7月30日
。
流动性池是持有代币的智能合约,它们可以不依赖金融中介机构的方式为加密货币市场提供流动性。但是,正如几个项目在周日了解到的那样,一个小小的漏洞就可能造成巨大损失。
据去中心化金融安全公司 Decurity 称,NFT 借贷协议 JPEG’d 价值 1 100 万美元的加密货币被盗。JPEG’d 是最早发现其 Curve 上的资金池存在问题的公司之一。
“JPEG’d 在 Twitter 上说:”发生了一起攻击。”我们在发现问题后就一直在调查,[……]问题似乎与 Curve 池有关。
JPEG’d 允许用户发布 NFT 作为贷款抵押。就存入 JPEG’d 的资产而言,该协议锁定的总价值(TVL)约为 3200 万美元。JPEG’d 表示,负责保管 NFT 和国库资金的代码不受影响。
根据 CoinGecko 的数据,截至本文撰写之时,该协议的治理代币 JPEG 下跌了 23%。周日,该币值一度跌至 0.000347 美元的历史最低点。
在一条现已删除的推特中,Curve 最初将该漏洞描述为一次普通的只读 “重入性 “攻击,这种攻击本可以避免。当智能合约与另一个合约交互时,会发生重入性攻击,而另一个合约在完全执行之前又会调回第一个合约。
重入性漏洞允许攻击者将多个调用塞进一个函数,诱使智能合约计算不恰当的余额。最突出的例子之一是 2016 年以太坊上价值 5500 万美元的 DAO 黑客攻击事件。
不过,Curve 在稍后回复一个重新发表被刷掉声明的 Twitter 账户时表示,它最初的印象是错误的。
“是的,不是只读的,”Curve 说,并补充道,”集成的项目方,甚至是 vyper 的用户,都没有任何不当行为。”
。
是的,不是只读。整合的项目方甚至vyper的用户都没有任何不当行为
– Curve Finance (@CurveFinance) 2023年7月30日
。
网络安全公司 Cyvers 的联合创始人兼首席技术官 Meir Dolev 告诉 TCN:”重入攻击是攻击者窃取协议的常见手段。
“它们很常见,”Dolev 说。”通过适当的设计和开发是可以避免它们的。
这个问题并不是 JPEG’d 特有的。他说,在 NFT 借贷协议被利用后不久,Alchemix 和 Metronome DAO 以类似的方式分别损失了 1360 万美元和 160 万美元。
Alchemix 在 Twitter 上承认,它正在积极修复其流动性池的问题。MetronomeDAO 在 Twitter 上说,它对所发生事件的调查正在进行中,并将这次攻击描述为 “更广泛的一系列漏洞的一部分”。
Dolev 说,在 JPEG’d 事件中,攻击者是由一个最大可提取值(MEV)机器人在前面操纵的。该机器人识别了潜在攻击者的交易,并支付了一笔费用,以在他们之前执行类似的交易。
Vyper 在 Twitter 上说,是编程语言的编译器出了问题。当开发人员写完代码后,会将其从人类可读的格式编译成计算机可以执行的形式。
多列夫说,这使得重新进入保护–项目代码中包含的、应该能够防范重新进入攻击的保护–无法发挥作用。
“多列夫说:”在某些版本中,编译器未能以正确的方式进行编译。”它存在一些错误或故障。