2026年10月23日:NEM 代币合约漏洞遭套利攻击:流动性池机制被操纵,损失约 82.2 万美元
【摘要】区块链安全机构慢雾(SlowMist)发布安全预警,NEM 代币合约 NemTokenV2 遭遇黑客智能合约漏洞攻击,损失金额约 821,920 美元。
本次攻击发生在 PancakeSwap 的 USDT/NEM 交易对流动性池中。攻击者利用 NemTokenV2 合约在逻辑设计上的缺陷——将代币转入流动性池(LP)记入卖出量但未验证兑换结算结果,通过连续 42 次操纵 LP 储备压低余额,随后以高价抛售 NEM 套现 USDT 离场。
一、 攻击核心参数与涉及资产
NEM 漏洞攻击事件核心参数
· 预警发布机构:慢雾 (SlowMist)
· 受攻击代币合约:NemTokenV2
· 涉及 DEX / 交易对:PancakeSwap (USDT/NEM) │
· 预估损失金额: ~821,920 美元 (82.2 万美元)
· 核心漏洞类型 :缺少兑换结算验证 / 流动性池储备操纵漏洞
· 循环攻击执行次数:42 次
二、 漏洞攻击链路与技术机制拆解
NEM 漏洞套利攻击链路
·第 1 步:转账入池:将 NemTokenV2 转入 PancakeSwap LP 池,(合约误将此转账直接记入卖出量)
·第 2 步:清除储备:调用 skim() 强制清除转入的代币资产
·第 3 步:销毁/回收:调用 flushLpSellRecycle() 销毁储备
·第 4 步:循环操纵:重复以上步骤 42 次,持续压低池内 NEM 余额 │
·第 5 步:高价套现:以被抬高后的价格卖出剩余 NEM,套取 USDT
* 逻辑缺陷根源:
NemTokenV2 智能合约在设计上存在校验遗漏。当代币被转移进 DEX 流动性池时,合约自动将其判定并计入卖出量(Sell Volume),但未建立对后续实际兑换结算结果的验证机制。
* 重复操纵储备平衡:
攻击者利用该校验漏洞,发起自动化攻击合约,反复套利:
* 向 LP 池转入代币触发卖出统计;
* 调用 PancakeSwap 的 skim() 函数清除多余代币;
* 调用合约内部的 flushLpSellRecycle() 机制销毁或回收储备。
* 完成价格挤压与离场:
上述流程连续执行了 42 次,导致 LP 池内的原有 NEM 储备余额被快速压低。在池内储备失衡、价格被人为抬高后,攻击者一举卖出手中剩余的 NEM 代币,成功提取大量 USDT 逃逸。
三、 防范建议与项目方应对 SOP
1、代币经济与 DEX 交互逻辑二次审计:
针对带有“自动卖出、回购、销毁或分红”等自定义逻辑的 ERC-20 / BEP-20 代币,必须对与 AMM 流动性池交互的中间状态(如 skim()、sync() 及转账事件)进行严格的结算状态校验,严禁仅凭单边转账即触发合约内部逻辑。
2、部署防闪电贷/高频调用限制:
对合约内部敏感的回收与销毁函数(如 flushLpSellRecycle)增加权限控制或单区块调用频次限制(Cool-down Period),防止黑客在同一笔交易(Single Transaction)中通过循环调用放大攻击效应。
3、黑灰产地址追踪与拦截:
目前慢雾(SlowMist)已公开发布攻击者地址、攻击合约以及受漏洞影响的 NemTokenV2 合约地址,相关 DEX 及中心化交易所(CEX)已启动对涉案地址的资金流向监控与拦截机制。