82万美元瞬间蒸发:NEM合约漏洞遭精准利用

区块链安全机构慢雾于10月22日发布紧急警报,指出NEM项目遭受攻击,预估损失金额高达821,920美元。此次事件并非外部入侵,而是源于项目自身智能合约中存在的一个关键逻辑缺陷。

漏洞根源:错误的代币记账机制

根据慢雾的分析,问题的核心出在NemTokenV2合约的卖出量计算逻辑上。该合约存在一个设计失误:当用户将代币转入流动性资金池(LP)时,这部分转账会被系统错误地记录为“卖出”行为。然而,合约并未对随之应发生的“兑换结算”流程进行必要验证。

这意味着,系统错误地将增加流动性的操作,视作了市场抛售,但后续的结算检查却是缺失的。这个漏洞为攻击者打开了一道后门。

攻击者如何步步为营

攻击者精准地利用了上述逻辑缺陷,执行了一套组合操作:

  • 第一步:重复注入与清除:攻击者反复执行转账操作,将代币转入流动性池。
  • 第二步:调用关键函数:随后立即调用skim()函数清除刚转入的代币,并调用flushLpSellRecycle()函数处理所谓的“卖出回收”。
  • 第三步:循环耗尽储备:整套操作被重复执行了42次。这个过程逐步销毁了流动性池中原有的代币储备,同时人为地压低了池中NEM的余额。

当流动性池被掏空、NEM储备余额被压至极低水平后,池中代币的价格已被严重扭曲并拉高。此时,攻击者以被异常抬高的价格出售手中剩余的NEM代币,最终从流动性池中提取出等值的USDT,完成套利。

安全启示:合约审计与逻辑验证至关重要

本次事件再次凸显了DeFi领域智能合约安全的重要性。漏洞并非高深的加密算法破解,而是源于基础的业务逻辑验证缺失。对于项目方而言,在合约上线前,除了常规的代码审计,更需要针对复杂的金融交互逻辑进行多维度、贴近真实场景的压力测试。对于投资者而言,理解所参与协议的核心机制与潜在风险,是资产安全的第一道防线。