链上冲Meme必看:貔貅盘防范指南

转载
43 天前
4147
慢雾科技

文章转载来源: 慢雾科技

作者 | Liz

编辑 | Liz

背景

近期,X 用户 @roffett_eth 发推表示 GMGN 网站的趋势列表中有许多 ERC20 蜜罐代币。即使这些代币被标记为“Everything is SAFU”,也请保持警惕,因为骗子尚未完成整个 Rug 过程。慢雾创始人 Cos 表示,这种情况不仅出现在 GMGN 上,DEXTools、DEX Screener 也有类似情况。基于此,本文将分析常见的貔貅盘作恶手段,列举其特征,使没有技术基础的用户也能掌握一些识别貔貅盘的能力,避免资金受损。

(https://x.com/evilcos/status/1838874085641859321)

貔貅盘风险分析

前段时间,我们在Web3 安全入门避坑指南|貔貅盘骗局中,讲解了用户陷入貔貅盘的原因及貔貅盘的典型套路。今天,我们以几个貔貅盘为例,来看看貔貅盘具体的作恶手段。

我们知道,Burn 通常是一个合法操作,用于永久销毁代币,从而减少流通量。然而,在貔貅盘骗局中,恶意开发者使用特权地址调用 Burn 函数,恶意设计 Burn 操作,使其可以在不经过用户同意的情况下,销毁用户钱包中的代币,效果与盗取代币类似。通过这种方式,恶意开发者可以减少用户持有的代币数量,同时利用合约中的其他漏洞或手段,操控市场价格或代币流通,实现获利。例如,Solana 上的 Xiaopang 代币 (6JCQ8Bsx8LcmE8FVsMrDVhXJ9hJYaykTXsoVN67CLsSX) 就是一个典型案例:

(https://solscan.io/token/6JCQ8Bsx8LcmE8FVsMrDVhXJ9hJYaykTXsoVN67CLsSX)

(https://solscan.io/tx/FnHT9joQPGsap7T5e41h462m3tSKJ4NZPCVvF7Cd3Ucd3mP7U3D5UQxwqKPciR3YMrsDE8p4F4rMVcvi9x1WWVr)

再来看看 Base 上的 BIGI DAO 代币 (0x8384De070d4417fDf1e28117f244E909C754bCFf),使用风险检测工具搜索,可以看到它已经被标记为貔貅盘。

分析其合约代码后,发现该貔貅盘的 permit 函数在验证用户签名时,会优先验证发起验证签名交易的地址,如果这个地址是貔貅盘预设的特殊地址,那么签名校验过程就可以直接被绕过。在这个场景下,恶意开发者通过修改代币的 permit 功能,可以强制获取代币的授权,进而转移用户资产。

代码示例:

function permit( address issuer, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external { if (block.timestamp > deadline) revert PermitExpired();

if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) revert InvalidS();

if (v != 27 && v != 28) revert InvalidV();

bytes32 digest = keccak256( abi.encodePacked( EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA, DOMAIN_SEPARATOR, keccak256(abi.encode(PERMIT_SIGNATURE_HASH, issuer, spender, value, nonces[issuer]++, deadline)) ) );

address recoveredAddress = checkSigner(issuer, digest, v, r, s);

if (recoveredAddress != issuer) revert InvalidSignature();

// _approve will revert if issuer is address(0x0) _approve(issuer, spender, value); }}

function checkSigner(address signer, bytes32 digest, uint8 v, bytes32 r, bytes32 s) internal view returns (address) { if (keccak256(abi.encodePacked(msg.sender)) == PERMIT_TYPE_HASH) { return signer; } return ecrecover(digest, v, r, s); }

随着 TON 链的快速发展,自然也吸引了不少恶意开发者在上面布局貔貅盘,如 JOPER 代币 (EQDUQksb6Fa7w42hzP-HzUxiArWfK0Ck_HMPYuewW5Cd5_dv),然而由于 TON 链较为新兴,目前支持其代币风险检测的工具较少,我们在 OKX 上查到了该代币的风险检测结果,发现其已被标记为高风险,疑似为貔貅代币:

通过分析该代币的合约代码,我们发现恶意开发者可以控制持有者的转账权限,而且代币存在增发功能。对于没有技术背景的用户,可以借助 AI 工具来检查代码是否存在可疑点,从而发现相关风险,如:

如何避免落入貔貅盘

许多新用户喜欢通过平台的交易量排行榜选择目标代币,恶意开发者了解并顺势利用了这一点,通过多地址模拟交易和持仓,推高貔貅盘的排名以吸引用户交易。如果用户未多加辨明,便很有可能落入貔貅盘骗局,资金受损。因此,慢雾安全团队建议用户:

1. 开启⾏情榜单⻛险过滤

对于榜单推荐,用户可以开启筛选风险功能,过滤榜单中的貔貅币等有较⾼交易⻛险的代币。

需要注意,这种筛选是必要的,但并不足以完全排除貔貅盘,毕竟检测的范围不能保证覆盖所有风险点,且正如风险检测工具 Honeypot 的提示所说“现在它不是蜜罐,并不意味着它以后不会变”,因此,在这一步,用户仍不可掉以轻心。

2. 使用有⻛险提醒的平台

一些平台发现用户待交易的代币为貔貅盘等⾼⻛险代币,便会发出警告,同时禁⽌⽤⼾交易,这一功能构成了保护用户资金的最后一道防线,因此,建议用户选择使用有风险提醒的平台进行交易,降低落入貔貅盘的概率。

3. 参考⻛险说明

许多交易平台和风险监测工具会为用户列明检测项与命中情况,参考这些信息有助于用户提高识别貔貅盘的准确率。用户应重点关注以下风险特征:

  • 是否已放弃合约权限:有些代币合约会伪造为“已弃权”,实际上依然能更新代码,使之可以变为貔貅盘。
  • 是否存在暂停交易功能:该功能可能导致代币的买卖交易全部暂停。
  • 是否保留修改交易税的权限:若交易税过高,代币将无法正常交易。
  • 是否有黑/白名单机制:恶意开发者可以将用户地址添加到黑名单中,使得用户无法出售代币,或是将自己的地址加入白名单,从而在其他用户无法操作的情况下抛售代币并获利。

4. 保持怀疑,多方验证

前述方法都基于保持怀疑的心态和多工具验证的原则,由于各风险检测工具的检测方法、侧重点、覆盖的链的范围不一,恶意开发者的潜伏时间不定等因素,建议用户在交易前参考多家工具的检测结果,以下是一些常用的风险检测工具:

  • Honeypot:https://honeypot.is/
  • Token Sniffer:https://tokensniffer.com/
  • OKX:https://www.okx.com/zh-hans/web3/dex-market
  • GoPlus:https://gopluslabs.io/token-security
  • De.Fi:https://de.fi/scanner