作者:Liz,慢雾安全团队
编辑:Liz
nbsp
nbsp
近期,X 用户 @roffetteth 发推表示 GMGN 网站的趋势列表中有许多 ERC20 蜜罐代币。即使这些代币被标记为 “Everything is SAFU”,也请保持警惕,因为骗子尚未完成整个 Rug 过程。慢雾创始人 Cos 表示,这种情况不仅出现在 GMGN 上,DEXTools、DEX Screener 也有类似情况。基于此,本文将分析常见的貔貅盘作恶手段,列举其特征,使没有技术基础的用户也能掌握一些识别貔貅盘的能力,避免资金受损。
(https//xcom/evilcos/status/1838874085641859321)
nbsp
nbsp
前段时间,我们在nbspWeb3 安全入门避坑指南貔貅盘骗局中,讲解了用户陷入貔貅盘的原因及貔貅盘的典型套路。今天,我们以几个貔貅盘为例,来看看貔貅盘具体的作恶手段。
我们知道,Burn 通常是一个合法操作,用于永久销毁代币,从而减少流通量。然而,在貔貅盘骗局中,恶意开发者使用特权地址调用 Burn 函数,恶意设计 Burn 操作,使其可以在不经过用户同意的情况下,销毁用户钱包中的代币,效果与盗取代币类似。通过这种方式,恶意开发者可以减少用户持有的代币数量,同时利用合约中的其他漏洞或手段,操控市场价格或代币流通,实现获利。例如,Solana 上的 Xiaopang 代币 (6JCQ8Bsx8LcmE8FVsMrDVhXJ9hJYaykTXsoVN67CLsSX) 就是一个典型案例:
(https//solscanio/token/6JCQ8Bsx8LcmE8FVsMrDVhXJ9hJYaykTXsoVN67CLsSX)(https//solscanio/tx/FnHT9joQPGsap7T5e41h462m3tSKJ4NZPCVvF7Cd3Ucd3mP7U3D5UQxwqKPciR3YMrsDE8p4F4rMVcvi9x1WWVr)
再来看看 Base 上的 BIGI DAO 代币 (0x8384De070d4417fDf1e28117f244E909C754bCFf),使用风险检测工具搜索,可以看到它已经被标记为貔貅盘。
火币官网手机版分析其合约代码后,发现该貔貅盘的 permit 函数在验证用户签名时,会优先验证发起验证签名交易的地址,如果这个地址是貔貅盘预设的特殊地址,那么签名校验过程就可以直接被绕过。在这个场景下,恶意开发者通过修改代币的 permit 功能,可以强制获取代币的授权,进而转移用户资产。
代码示例:
nbsp nbspnbspfunction permit( nbsp nbsp nbsp nbspaddress issuer nbsp nbsp nbsp nbspaddress spender nbsp nbsp nbsp nbspuint256 value nbsp nbsp nbsp nbspuint256 deadline nbsp nbsp nbsp nbspuint8 v nbsp nbsp nbsp nbspbytes32 r nbsp nbsp nbsp nbspbytes32 s) external { nbsp nbsp nbsp nbspif (blocktimestamp gt deadline) revert PermitExpired()nbsp nbsp nbsp nbspnbspif (uint256(s) gt 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) revert InvalidS()nbsp nbsp nbsp nbspnbspif (v != 27 ampamp v != 28) revert InvalidV()nbsp nbsp nbsp nbsp bytes32 digest = keccak256( nbsp nbsp nbsp nbsp nbsp nbspabiencodePacked( nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspEIP191PREFIXFOREIP712STRUCTUREDDATA nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspDOMAINSEPARATOR nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspkeccak256(abiencode(PERMITSIGNATUREHASH issuer spender value nonces[issuer] deadline)) nbsp nbsp nbsp nbsp nbsp nbsp) nbsp nbsp nbsp nbsp)nbsp nbsp nbsp nbsp address recoveredAddress = checkSigner(issuer digest v r s)nbsp nbsp nbsp nbspnbspif (recoveredAddress != issuer) revert InvalidSignature()nbsp nbsp nbsp nbspnbsp// approve will revert if issuer is address(0x0) nbsp nbsp nbsp nbspapprove(issuer spender value) nbsp nbsp}}nbsp nbspnbspfunction checkSigner(address signer bytes32 digest uint8 v bytes32 r bytes32 s) internal view returns (address) { nbsp nbsp nbsp nbspif (keccak256(abiencodePacked(msgsender)) == PERMITTYPEHASH) { nbsp nbsp nbsp nbsp nbsp nbspreturn signer nbsp nbsp nbsp nbsp} nbsp nbsp nbsp nbspreturn ecrecover(digest v r s) nbsp nbsp}
随着 TON 链的快速发展,自然也吸引了不少恶意开发者在上面布局貔貅盘,如 JOPER 代币 (EQDUQksb6Fa7w42hzPHzUxiArWfK0CkHMPYuewW5Cd5dv),然而由于 TON 链较为新兴,目前支持其代币风险检测的工具较少,我们在 OKX 上查到了该代币的风险检测结果,发现其已被标记为高风险,疑似为貔貅代币:
通过分析该代币的合约代码,我们发现恶意开发者可以控制持有者的转账权限,而且代币存在增发功能。对于没有技术背景的用户,可以借助 AI 工具来检查代码是否存在可疑点,从而发现相关风险,如:
nbsp
许多新用户喜欢通过平台的交易量排行榜选择目标代币,恶意开发者了解并顺势利用了这一点,通过多地址模拟交易和持仓,推高貔貅盘的排名以吸引用户交易。如果用户未多加辨明,便很有可能落入貔貅盘骗局,资金受损。因此,慢雾安全团队建议用户:
1 开启情榜单风险过滤
对于榜单推荐,用户可以开启筛选风险功能,过滤榜单中的貔貅币等有较交易险的代币。
需要注意,这种筛选是必要的,但并不足以完全排除貔貅盘,毕竟检测的范围不能保证覆盖所有风险点,且正如风险检测工具 Honeypot 的提示所说 “现在它不是蜜罐,并不意味着它以后不会变”,因此,在这一步,用户仍不可掉以轻心。
2 使用有风险提醒的平台
一些平台发现用户待交易的代币为貔貅盘等风险代币,便会发出警告,同时禁交易,这一功能构成了保护用户资金的最后一道防线,因此,建议用户选择使用有风险提醒的平台进行交易,降低落入貔貅盘的概率。
3 参考风险说明
许多交易平台和风险监测工具会为用户列明检测项与命中情况,参考这些信息有助于用户提高识别貔貅盘的准确率。用户应重点关注以下风险特征:
是否已放弃合约权限:有些代币合约会伪造为 “已弃权”,实际上依然能更新代码,使之可以变为貔貅盘。是否存在暂停交易功能:该功能可能导致代币的买卖交易全部暂停。是否保留修改交易税的权限:若交易税过高,代币将无法正常交易。是否有黑/白名单机制:恶意开发者可以将用户地址添加到黑名单中,使得用户无法出售代币,或是将自己的地址加入白名单,从而在其他用户无法操作的情况下抛售代币并获利。4 保持怀疑,多方验证
前述方法都基于保持怀疑的心态和多工具验证的原则,由于各风险检测工具的检测方法、侧重点、覆盖的链的范围不一,恶意开发者的潜伏时间不定等因素,建议用户在交易前参考多家工具的检测结果,以下是一些常用的风险检测工具:
Honeypotnbsphttps//honeypotis/Token Sniffernbsphttps//tokensniffercom/OKXnbsphttps//wwwokxcom/zhhans/web3/dexmarketGoPlusnbsphttps//gopluslabsio/tokensecurityDeFinbsphttps//defi/scanner