无预言机架构下的清算机制失守

Ajna Protocol 作为一款不依赖外部价格馈送的借贷协议,其核心理念是通过内部机制实现资产定价与清算。然而,近期发生的攻击事件揭示了这一设计背后的潜在脆弱性。攻击者未动用第三方价格源,而是通过对清算流程中的会计逻辑进行操控,成功提取资金。受影响的流动性池包括 syrupUSDC、wstETH、rETH、cbETH、WBTC、WETH/USDC 和 sDAI,总损失达约77.5万美元。该事件动摇了“无需治理、无预言机”模型在实际运行中的可信度。

剔除预言机的背后逻辑与风险转移

多数借贷协议依赖 Chainlink 等服务获取抵押品价格,而 Ajna 明确舍弃此类外部输入。其白皮书强调协议为非托管、点对点、无需许可的系统,依靠池子自身状态决定利率与清算条件。贷款人将资金投入固定金额的“桶”中,由智能合约自动执行清算规则。发起清算需支付保证金,若操作不当则面临经济惩罚。此举旨在减少预言机相关的攻击面。然而,安全公司 MixBytes 指出,虽然外部价格操纵被规避,但协议仍需信任内部计算结果。本次攻击正是针对这一信任基础展开。

预警未被响应的紧急时刻

Defimon 在攻击发生前一小时已识别异常行为,并通过 Discord 向 Ajna 团队发出警告。但协议未能及时采取防护措施。随后,攻击者依次渗透多个流动性池,其中 syrupUSDC 池损失最为严重,约为17.37万美元。根据当时的 DefiLlama 数据,Ajna V2 的总锁仓价值(TVL)仅约20.6万美元,而此次损失已超过该数值,反映出事件对协议稳定性的重大冲击。

是代码缺陷,还是系统逻辑欺骗?

关键问题在于:攻击是否源于底层代码漏洞,还是通过构造虚假交易使系统误判状态?链上分析显示,此前审计报告曾指出清算过程中“take”计算存在错误,以及桶状态会计处理偏差。这些问题虽被标记为修复,但仍表明清算逻辑存在可被利用的间隙。类似案例如 Moonwell 事件中,攻击者通过抬高非流动性代币价格诱导合约生成扭曲估值,进而借入真实资产。这说明,即便没有预言机,只要合约对内部数据的信任可被诱导,攻击依然可行。

V2 架构中的信任假设成为突破口

当前数据显示,Ajna V2 TVL 约为45万美元,30天变化-17.1%,活跃贷款仅3.02万美元,占总量的约6.7%。这一比例提示:损失可能涉及未偿债务会计或流动性池状态,或两者兼有。核心疑问在于——V2 引入了哪些不可证伪的假设?这些假设如何被转化为可套利的行为?攻击者并非破解代码,而是让系统相信一个本不应成立的状态,从而完成资产转移。

小规模攻击背后的系统性警示

尽管77.5万美元在年度大额攻击中不算突出,但其模式具有代表性。TRM Labs 报告称,今年上半年共发生207起黑客攻击,创历史新高,平均单次损失约21.9万美元。其中超百起源于小型智能合约漏洞,而基础设施与运营入侵虽占比不足15%,却导致约76%的总损失。Ajna 事件再次印证:安全威胁不再局限于交易所或私钥泄露,更可能深藏于复杂金融逻辑的设计假设之中。