欢迎光临
我们一直在努力

Rug Pull (跑路盘) 识别与防御

目录

  • Rug Pull (跑路盘) 识别与防御
    • 1. 什么是 Rug Pull
    • 2. 受害者视角:典型剧本
    • 3. 常见手法 (按发生位置分类)
      • 3.1 Liquidity Rug (抽 LP) — 最经典
      • 3.2 Mint Rug (无限增发砸盘)
      • 3.3 Ownership / Proxy Rug (升级合约逻辑)
      • 3.4 Approval Rug (永久授权)
      • 3.5 Slow Rug / Soft Rug (慢性跑路)
      • 3.6 Exit Liquidation Rug (借贷型跑路)
    • 4. 红旗清单 (Red Flags)
    • 5. 自动化检测方案
      • 5.1 静态合约风险扫描
      • 5.2 实时链上监控 (核心,最有价值)
      • 5.3 行为指标打分 (慢性 rug)
      • 5.4 综合分层方案 (推荐)
    • 6. 面向普通用户的现成工具
    • 7. 给安全平台的实践建议
    • 8. 真实案例参考
    • 9. 参考资料
    • 10. 一句话总结

Rug Pull (跑路盘) 识别与防御

面向新人和安全研究者。读完应该能回答:什么是 rug pull?它和貔貅币 ([[honeypot-pixiu-token]]) 有什么区别?常见手法有哪几类?我作为用户怎么避坑?我作为安全平台怎么自动检测和监控?


1. 什么是 Rug Pull

Rug pull 字面意思是 “把地毯抽走” —— 你站在地毯上,项目方猛地一抽,你直接摔到地上。在 Web3 语境里:

项目方在筹集到足够资金 / 流动性 / 持有者后,通过某种方式把池子里的真金白银 (ETH / BNB / USDT) 卷走,留给散户一堆归零的代币。

和貔貅币的关键区别:

维度貔貅币 (Honeypot)Rug Pull (跑路盘)
用户能不能买 能 能
用户能不能卖 不能 / 极高税 一开始能,后来不能
项目方核心动作 让你永远卖不掉 自己先跑
时间窗口 部署即陷阱 通常需要等"养盘"
关键合约权限 _transfer 限制 LP / Owner / Mint / Proxy

实际上很多骗局是 “养盘 → 拉盘 → rug → 顺手开貔貅模式” 的组合拳。


2. 受害者视角:典型剧本

Day 0 匿名团队部署合约 + 加 LP (10 BNB) + 在 Telegram/X 建群
Day 1 "网红" / KOL 开始喊单,FOMO 进场
Day 3 K 线连续阳线,$XYZ 涨 10 倍,群里晒收益截图刷屏
Day 7 持有人破万,TVL 200 BNB,看似"基本面良好"
Day 8 凌晨 3 点 (亚洲深夜 / 美国凌晨):
① 项目方调用 removeLiquidity 抽走 LP → 币价瞬间归零
② 或 owner 调用 mint 增发 1 万亿枚砸盘 → 稀释归零
③ 或 owner 调用 setTax(99) 变成貔貅 → 谁都跑不出来
Day 8.1 群被解散 / Telegram 频道删除 / 网站关闭
Day 9 链上分析: 资金通过 Tornado Cash / 跨链桥洗走

整个链路在合约层面通常是合法的——owner 行使了合约赋予 owner 的权力,只是这种权力本来就不该给。


3. 常见手法 (按发生位置分类)

3.1 Liquidity Rug (抽 LP) — 最经典

最朴素的一种,直接调用 router:

// 项目方钱包持有 LP token (因为是它加的池子)
IUniswapV2Router02(router).removeLiquidity(
tokenA,
WETH,
lpAmount,
0, // amountAMin = 0
0, // amountBMin = 0
deployer,
block.timestamp
);

执行后:

  • 池子里的 ETH / BNB 全部进入 deployer 钱包
  • 池子里只剩项目方代币 (一文不值)
  • 用户钱包里的代币变成纯空气

前提条件:deployer 持有 LP token (即流动性没被锁死)。

3.2 Mint Rug (无限增发砸盘)

合约里留了 owner-only 的 mint / _mint 函数:

function mint(address to, uint256 amount) external onlyOwner {
_mint(to, amount);
}

部署初期发行量 100 万,等用户买了一堆后,owner 增发 10 亿全部砸到池子里换走 ETH。用户手里的代币因为通胀稀释到接近 0。

变种:

  • Hidden mint:用名字诡异的函数 (updateBalance / airdrop / claim) 偷偷做 mint
  • Modifier 绕过:通过 transferFrom + 永久 allowance 给一个内部地址,等价于无限 mint

3.3 Ownership / Proxy Rug (升级合约逻辑)

合约用 EIP-1967 proxy。初期 implementation 看着很干净,等持仓上来 owner 调用 upgradeTo(newImpl),新逻辑里:

  • 把 _transfer 改成貔貅
  • 加一个 drain() 函数把所有余额转给 owner
  • 改税率到 99%

审计陷阱:第一次审计只看了当时的 implementation,没看 proxy admin 权限,不能发现这种风险。

3.4 Approval Rug (永久授权)

不是改合约,而是利用用户给的 ERC-20 授权:

  • 项目方诱导用户对一个"质押合约"或"领空投合约"做 approve(spender, MAX_UINT256)
  • 等大量地址授权后,spender 调用 transferFrom 把所有授权地址的代币 / USDT 一次卷走

这类常见于:

  • 假空投网站 (Connect Wallet → Sign → 实际 approve)
  • 假 DEX 前端 (改了路由地址,approve 给攻击者)
  • EIP-2612 Permit 钓鱼 (一个签名就授权,连 gas 都不用)

3.5 Slow Rug / Soft Rug (慢性跑路)

不是一次抽光,而是慢慢拿。常见模式:

  • 持续高税进 deployer 钱包:每笔交易 5% “marketing tax” 实际进 owner,慢慢累积
  • 质押 / 挖矿合约的虚假 reward:用户存 ETH 进去挖代币,实际 ETH 被转走
  • “Marketing wallet” 隐性砸盘:deployer 持有 20% 初始供应,分批小额抛售

特征:链上看每天都很正常,但 90 天后回头看 LP 变小一半。

3.6 Exit Liquidation Rug (借贷型跑路)

针对借贷协议或 perp DEX:

  • 项目方部署一个"高 APR"的借贷池
  • 用某个垃圾代币做抵押,借出真金白银 (USDC / ETH)
  • 不还款,让抵押品被清算 (但抵押品是垃圾,根本卖不出)
  • 协议产生坏账,存款人 (LP) 承担损失

2022 年的 Mango Markets, Aave 上的 CRV 攻击都是类似手法的衍生。


4. 红旗清单 (Red Flags)

给散户的"投前 5 分钟必查":

红旗怎么查严重程度
团队完全匿名 + 没有任何过往项目 项目官网 / Twitter / LinkedIn ⚠️⚠️
合约未开源 Etherscan / BscScan 的 Contract 标签 ⚠️⚠️⚠️ 直接 pass
Owner 未 renounce (owner() ≠ 0x000) 合约 read 函数 ⚠️⚠️
LP 未锁仓 / 锁仓时间 < 6 个月 Mudra / Unicrypt / PinkLock ⚠️⚠️⚠️
合约里有 mint / setTax / setBlacklist 源码搜索 ⚠️⚠️
合约是 proxy (可升级) 看是否是 EIP-1967 proxy 模式 ⚠️⚠️
Top 10 持仓 > 50% BscScan Holders 标签 ⚠️⚠️
Deployer 钱包持仓 > 5% 且未锁 链上分析 ⚠️⚠️
部署时间 < 7 天 Etherscan Contract Creation ⚠️ (新盘风险高)
TG / Discord 禁止讨论价格 / 频繁踢人 社群观察 ⚠️
APR / 收益高得离谱 (>1000%) 文档 / DApp UI ⚠️⚠️⚠️

经验法则:红旗 ≥ 2 个直接放弃,不要博侥幸。


5. 自动化检测方案

5.1 静态合约风险扫描

部署时一次性扫描合约的"危险权限"。核心要返回的字段:

risk_report = {
# Owner 风险
"owner_renounced": bool,
"is_proxy": bool, # 可升级 = 高危
"proxy_admin_renounced": bool,

# Mint / Supply 风险
"has_mint_function": bool,
"has_hidden_mint": bool, # mint 但函数名不叫 mint
"max_supply_capped": bool,

# Transfer 风险 (和貔貅币高度重叠)
"can_modify_tax": bool,
"max_buy_tax": float, # 看代码上限
"max_sell_tax": float,
"has_blacklist": bool,
"has_pause": bool, # owner 可暂停所有转账

# 流动性风险
"lp_locked": bool,
"lp_lock_until": timestamp,
"lp_lock_amount_pct": float, # 锁了多少比例 LP

# 持仓集中度
"top10_holding_pct": float,
"deployer_holding_pct": float,
}

工具栈:

  • GoPlus Token Security API — 上述大部分字段可以直接拿
  • Slither (有源码时) — 检测 mint / proxy / dangerous-modifier
  • 自建反编译扫描 — 没源码时用 Panoramix 反编译扫 selector

5.2 实时链上监控 (核心,最有价值)

静态扫描只能告诉你"风险存在",真正止损的是实时监控触发预警。监听以下事件:

监听对象触发条件告警级别
LP token Transfer event 中 from = locker contract,且 value 大 🔴 LP 解锁 (跑路前兆)
Pair 合约 Burn event (即 removeLiquidity) 数额超过池子 10% 🔴 正在抽 LP
Token 合约 OwnershipTransferred 到一个全新地址 🟠 owner 换人
Token 合约 Upgraded event (proxy 升级) 🔴 逻辑被改
Token 合约 Mint / Transfer(from=0x0) 大额 🟠 突然增发
Token 合约 owner 调用 setTax / setBlacklist 🟠 规则突变
Deployer 钱包 大额转账 / 提币到 CEX / Tornado 🟠 可能在洗钱

技术方案:

  • 节点 WebSocket 订阅 (eth_subscribe newHeads / logs),实时推送
  • Tenderly Alerts / Forta Network — 托管方案
  • 自建 indexer:Hive 数仓接入链上交易表,按 token 维度跑分钟级聚合

5.3 行为指标打分 (慢性 rug)

针对 slow rug,离线跑指标:

— 伪 SQL
SELECT
token_address,
— LP 流失速度
(lp_30d_ago – lp_now) / lp_30d_ago AS lp_drain_30d,
— Deployer 净流出
deployer_outflow_usd_30d AS deployer_dump_30d,
— 持有人增长是否停滞
holders_now – holders_30d_ago AS holder_growth_30d,
— 卖单是否被少数地址垄断
unique_sellers_30d / total_sells_30d AS seller_concentration
FROM token_metrics_daily
WHERE block_date = current_date
HAVING lp_drain_30d > 0.3 OR deployer_dump_30d > 50000

这类查询在 Hive 数仓 (参考 hive-data-query-guide.md) 里能跑出全市场 rug 风险榜单,反向用于交易所上币审查 / 钱包风控。

5.4 综合分层方案 (推荐)

[T-0 上币 / 部署时]
Layer 1 静态扫描 (GoPlus + Slither)
↓
[T+0 ~ T+∞ 持续监控]
Layer 2 事件订阅 (LP / Owner / Proxy / Mint)
↓
[T+1d ~ T+30d 慢性指标]
Layer 3 行为打分 (LP drain / deployer dump / 集中度)
↓
[异常触发]
Layer 4 人工 review + 用户预警 (钱包插件 / 通知)


6. 面向普通用户的现成工具

工具用途链支持
RugDoc 专门审 farm / vault / 收益聚合器 rug 风险,给"安全等级" BSC / Polygon 等
Token Sniffer 综合百分制评分,覆盖 owner / LP lock / clone scam ETH / BSC
De.Fi Scanner 综合代币 + 协议 rug 风险报告 全链最广
GoPlus Security 底层 API,DEXTools / Dexscreener 都在用它 全链
Mudra / Unicrypt / PinkLock 查 LP 是否真的锁了、锁到什么时候 多链
钱包插件: Pocket Universe / Wallet Guard / Blockaid 在签名前实时模拟交易后果,挡 approval rug EVM 全链

实战流程:

  • 投前 — Token Sniffer + GoPlus + Mudra (LP 锁仓) 三件套
  • 投中 — 钱包插件做签名拦截,杜绝 approval / permit 钓鱼
  • 投后 — 关键 token 加入 De.Fi / Forta 的 watchlist,事件实时推送

  • 7. 给安全平台的实践建议

    如果在做"代币 / 项目跑路风险"服务,分阶段建设:

    MVP (4 周)

    • 接入 GoPlus + Token Sniffer API,覆盖静态风险
    • 输出统一 schema 的 risk report (字段见 5.1)
    • 风险等级映射:SAFE / LOW / MEDIUM / HIGH / CRITICAL

    V2 (3 个月)

    • 自建实时事件监控 (LP burn / Owner change / Proxy upgrade / Large mint)
    • 推送通道:Webhook / Telegram / Email / 钱包插件
    • 对所有"用户已持仓"的 token 自动加监控

    V3 (6 个月)

    • 离线行为指标打分 (Hive)
    • 全市场 rug 风险榜单 (反向用于上币审查)
    • 联动 SAR (Suspicious Activity Report) 与合规系统
    • 资金流追踪 (deployer → mixer → CEX) 用于事后追赃

    8. 真实案例参考

    • AnubisDAO (2021) — 募资 13,556 ETH 后 deployer 钱包私钥被"泄露",全部资金消失 (典型 deployer rug)
    • SQUID Token (2021) — 蹭《鱿鱼游戏》IP,2 周涨 23 万倍,deployer 抽 LP 跑路
    • Thodex (2021) — 土耳其 CEX 跑路,CEO 卷走 20 亿美金
    • Compounder Finance (2020) — proxy 升级 rug,逻辑改完直接 drain
    • Magnate Finance (2023) — Base 链借贷协议 rug,deployer 与 SolFire / Kokomo 是同一团伙

    9. 参考资料

    • GoPlus Security Docs: https://docs.gopluslabs.io/
    • Forta Network: https://forta.org/
    • Tenderly Alerts: https://tenderly.co/alerts
    • RugDoc Wiki: https://wiki.rugdoc.io/
    • SlowMist 慢雾年报: https://www.slowmist.com/
    • “Do Not Rug on Me: Leveraging Machine Learning Techniques for Automated Scam Detection” (Mazorra et al., 2022)

    10. 一句话总结

    Rug pull 的核心是项目方手里捏着一把"合法的开关"——抽 LP、增发、改税、升级 proxy、卷 approval。 防御的底层逻辑只有一句:把用户从信任开关持有者,迁移到信任开关被锁死本身。 工具都只是辅助,看到红旗别 FOMO,比任何检测器都管用。

    赞(0)
    未经允许不得转载:171主机测评 » Rug Pull (跑路盘) 识别与防御
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址