本文將分析貔貅盤的常見手段及特徵,説明用戶識別貔貅盤,避免資金受損。
作者:Liz,慢霧安全團隊
編輯:Liz
背景
近期,X 使用者 @roffett_eth 發推表示 GMGN 網站的趨勢清單中有許多 ERC20 蜜罐代幣。 即使這些代幣被標記為「Everything is SAFU」,也請保持警惕,因為騙子尚未完成整個 Rug 過程。 慢霧創始人 Cos 表示,這種情況不僅出現在 GMGN 上,DEXTools、DEX Screener 也有類似情況。 基於此,本文將分析常見的貔貅盤作惡手段,列舉其特徵,使沒有技術基礎的使用者也能掌握一些識別貔貅盤的能力,避免資金受損。
貔貅盤風險分析
前段時間,我們在 Web3 安全入門避坑指南|貔貅盤騙局中,講解了使用者陷入貔貅盤的原因及貔貅盤的典型套路。 今天,我們以幾個貔貅盤為例,來看看貔貅盤具體的作惡手段。
我們知道,Burn 通常是一個合法操作,用於永久銷毀代幣,從而減少流通量。 然而,在貔貅盤騙局中,惡意開發者使用特權位址調用 Burn 函數,惡意設計 Burn 操作,使其可以在不經過使用者同意的情況下,銷毀使用者錢包中的代幣,效果與盜取代幣類似。 通過這種方式,惡意開發者可以減少使用者持有的代幣數量,同時利用合約中的其他漏洞或手段,操控市場價格或代幣流通,實現獲利。 例如,Solana 上的 Xiaopang 代幣(6JCQ8Bsx8LcmE8FVsMrDVhXJ9hJYaykTXsoVN67CLsSX)就是一個典型案例:
再來看看 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
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。