DeFi 领域从不眠息,黑客也一样。最近,部署在 Linea 区块链、专注于为像 USDT 这样的稳定币提供即时流动性和收益的借贷协议 Astera Finance 遭遇了一起巧妙的利用攻击。最初的报告称预言机将 USDT 报价高达 154 美元,但事实比这更复杂:这是一次对流动性指数的操纵。下面我们逐步拆解,参考区块链安全公司 Phalcon 在其近期线程中分享的见解。
先来给 DeFi 新手做个简短介绍。Astera Finance 本质上是 Aave 的一个分叉,Aave 是一个流行的借贷平台,用户可以在其中存入资产以赚取利息或以存入的资产作为抵押借款。在这些系统中,"AToken" 代表你存入的资产,通过所谓的流动性指数(liquidity index)随着时间累积利息——流动性指数是反映池子中累计利息的一个乘数。
安全研究员 Weilin Li 发起讨论时称这是“教科书式的预言机配置错误”。顺便说一下,预言机是将现实世界价格数据喂入智能合约的服务。根据 Li 的说法,攻击者从 Tornado Cash(一个交易隐私混合器)取出了 10 ETH,大约一周前桥接到 Linea,存入了 6,000 USDT——而错误的预言机将其估值约为 90 万美元,随后攻击者以被抬高的抵押物借出了约 57.3 万美元。即便在掠夺之后,攻击者的健康因子(health factor,衡量借款避免清算安全程度的指标)竟然仍维持在 1.45。
但 Phalcon 出面澄清:这根本不是预言机问题。来自预言机的 USDT 基础价格保持在约 1 美元。真正的手法是通过一连串闪电贷(flashloans)将流动性指数从 1.001 抬高到 154。闪电贷是不需要抵押的贷款,必须在同一笔交易中偿还——非常适合短期操控而不冒自有资金风险。
如上图 Phalcon 的分析所示,攻击者通过反复的借入并还款循环来累积费用并扭曲指数。与通常在空池上对 Aave 分叉链进行的一次性攻击不同,这次采用了多笔交易,因为市场中已有既存流动性。
事件展开如下:
Step 1: Setting Up Positions
主攻击地址(0x61EA1C91d7aE9782223384fAFe3ad81fFb8E0b45)通过向池子存入资产建立了头寸。查看相关交易: 存款交易。
Step 2: Inflating the Liquidity Index
次要地址(0x9520C9040338bE61005590cC1BD15caa10a6613c)随后对池子发起约 100 次闪电贷操作。这样逐步把流动性指数推得非常高。第一次抬高的交易: 首笔抬高交易。而最终敲定一切的那笔交易: 最终抬高交易。
Step 3: Draining the Pool
由于 AToken 的价格被人为膨胀(可查看 USDT 的 AToken 合约: USDT AToken),主攻击者对其存款进行了大量借贷,并从借贷池中抽取了资金。
Astera Finance 在发现漏洞后迅速暂停了其 Core Pool 和 Mini Pools。Phalcon 指出我们仍在等待官方的事后报告以获取全部细节,但这起事件突显了 Aave 分叉协议中的一个关键弱点:在非空市场中对迭代性操控缺乏充分防护。
对区块链从业者和 meme token 爱好者而言,这提醒了 DeFi 借贷中的风险。meme 代币往往依赖于话题性和社区热度,但底层基础设施如借贷池可能成为攻击的重点目标。如果你正在构建或投资类似项目,建议考虑加入防护措施,比如对闪电贷设定频率或金额限制、以及更严格的流动性监控,以防止此类指数抬高。
保持警惕——DeFi 很创新,但同时也是复杂攻击的乐园。想了解更多区块链安全和最新的 meme 代币新闻,请继续关注 Meme Insider。