
2026 年 1 ⽉ 27 ⽇,我们监控到 BNB Smart Chain 上针对 PGNLZ 项⽬的攻击事件:https://bscscan.com/tx/0xa7488ff4d6a85bf19994748837713c710650378383530ae709aec628023cd7cc
经过详细分析,攻击者在 2026 年 1 ⽉ 27 ⽇,持续对 PGNLZ 项⽬发起攻击,攻击共造成约 100k USD 的损失。
攻击者⾸先从 Moolah Protocol 利⽤闪电贷贷了 1,059 BTCB,

随后,在 Venus Protocol 中抵押了 1,059 BTCB ,从⽽ borrow 了 30,000,000 USDT。

接着,攻击者在 PancakeSwap 调⽤函数 swapTokensForExactTokens ,利⽤ 23,337,952 USDT 兑换了 982,506 PGNLZ ,但是却把这些 PGNLZ 销毁了 ( 兑换给了 0xdead )。

兑换前, PancakeSwap Pool 中有 100,901 USDT 和 982,506 PGNLZ ,此时 PGNLZ 的价格为 1 PGNLZ = 0.1 USDT 。兑换完成后,PancakeSwap Pool 剩余 23,438,853 USDT 和 4,240 PGNLZ ,此时, PGNLZ 的价格为 1 PGNLZ = 5,528 USDT 。
随后,攻击者调⽤函数 swapExactTokensForTokensSupportingFeeOnTransferTokens ,这个函数主要是⽀持 Fee-On TransferToken 也就是买卖带⼿续费的 Token 。 PGNLZ 通过 _update 来处理交易的 fee ,具体的调⽤链为:transferFrom -> _spendAllowance -> _transfer -> _update
因为本次是 sell ,所以会调⽤到 _handleSellTax 。

我们在看 _executeBurnFromLP 是如何实现的,

可以看到, _executeBurnFromLP 会使⽤ _update 来 burn 掉 pendingBurnFromLP 数量的 PGNLZ 。在前⼀个区块查询到 pendingBurnFromLP 为 4,240,113,074,578,781,194,669 。

经过 burn 之后,LP Pool 中的只剩下的 0.00000001 PGNLZ ,此时 1 PGNLZ = 234,385,300,000,000 USDT ,拉升了 40 Billion 倍。

最后,攻击者将 LP Pool 掏空,还清了闪电贷后,获利 100 k USDT 。
本次漏洞的成因是通缩的经济模型,在扣费或者 Burn LP Pool 时没有进⾏验证。导致攻击者利⽤通缩特性操控了 Token 的价格。建议项⽬⽅在设计经济模型和代码运⾏逻辑时要多⽅验证,合约上线前审计时尽量选择多个审计公司交叉审计。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
