SuperAPI AI 工具集

investigation-report

安全与审计

查看项目

更新于 10-15 10:06

技能介绍

用途

这是一个面向 Base 链(chainid=8453,浏览器 basescan.org)代币的调查技能,定位是“把关于这个代币的一切都告诉我”。它不是手动逐项跑六个检查,而是把它们组合到一份带选择器的结构化报告之后,并在报告顶部给出单行总结。

主要能力(六项检查)

rug-scan(地毯风险扫描)

给出快速且明确的 rug 判定:合约是否允许某人增发、冻结或抽干资金,供应量与流动性是否集中到足以被抽走。评估信号包括:未验证源码(+3)、铸币权限(+2)、黑名单/冻结(+2)、可暂停转账(+1)、可变更费用/税(+2)、owner 未放弃(+1)、代理/可升级(+2)、交易开关(+1)。同时读取 owner() 状态、持币集中度快照(top-1 >30% 加 +2,top-10 >70% 加 +1)、LP 是否置于已知锁仓或销毁地址(若由部署者 EOA 持有则 +2)。按总分给出档位:0–2 为 LOW,3–5 为 ELEVATED,6–8 为 HIGH,9+ 为 CRITICAL;判定必须来自该表。

contract-audit(合约审计)

深度结构检查:存在哪些权限、由谁持有、是否仍可行使。包括源码验证状态(未验证则说明无法静态分析、审计置信度低)、代理/可升级性(Proxy=="1" 或源码含 delegatecall 时读取 EIP-1967 实现槽)、所有权与管理员角色探测(owner()、admin()、paused())、危险函数面枚举(增发、访问控制、经济参数、控制权、抽干资金等)。深度模式下运行完整的基于源码的函数面枚举。只有当权限处于活跃状态且未被放弃时才计为风险。

deployer-trace(部署者追踪)

面向实体情报,识别连续发币者。先解析代币的创建者,再枚举其合约创建交易,对共享信号(相同字节码、相同代币名模板、相同 owner、分钟级连续部署)进行模式关联,并对每个合约做命运判定:ALIVE、ABANDONED 或 RUGGED(仅在 LP 被移除且价格归零时判定为 RUGGED,绝不只凭余额低推断)。若部署者只有一个部署,则如实报告。

holder-concentration(持币集中度)

在剔除 LP、锁仓、销毁后计算真实流通供应的集中度。先获取供应量与顶层持有人,对每个持有人打标签(LP / LOCK / BURN / CONTRACT / EOA),再计算 top-1/5/10/50 占比、HHI 等指标,并进行巨鲸集群检查。判定:top-1 EOA >30% 或 HHI >2500 为 CONCENTRATED,top-10 EOA >70% 为 CONCENTRATED,LP 未锁且 top-1 >20% 为 FRAGILE,分布广泛且 HHI <1000 为 HEALTHY。

honeypot(蜜罐检查)

通过 eth_call 模拟卖出,无需资金、不发交易,在 Base RPC 上无 key 运行。先确认目标为合约,再采样一个近期真实持有人,读取其余额并模拟 transfer,根据结果判定:回滚或返回 false 为 LIKELY_HONEYPOT,成功返回 true 为 SELLABLE,无法采样为 INCONCLUSIVE。SELLABLE 不代表卖出税低,需另行检查税。

lp(LP 锁仓检查)

识别代币的主要池(Base 上的 Aerodrome / Uniswap V3),判断 LP 是否位于已知锁仓或销毁地址,或由部署者 EOA 持有。

使用方式

调用时传入一个变量:代币地址,可选标志 --checks=rug,contract,deployer,holders,honeypot,lp 与 --depth=quick|deep。第一个 token 是被调查的合约地址(0x… 开头,必填);--checks= 为逗号分隔列表,默认六项全开;--depth= 默认 deep,quick 走轻量路径。若代币地址为空,记录 REPORT_NO_TARGET 并干净退出,不发送通知。

示例:

  • 0xToken → 全部六项检查,深度报告。
  • 0xToken --checks=honeypot → 仅蜜罐模拟,精确复现独立 honeypot-check,含其 HONEYPOT_* 结束状态。
  • 0xToken --checks=rug,lp --depth=quick → rug 判定 + LP 锁仓,快速路径。
  • 0xToken --checks=contract,deployer,holders --depth=deep → 结构审计 + 部署者实体情报 + 完整集中度。

选取单项检查时,组合技能的行为等同于该单项分析器:相同步骤、相同阈值、相同通知格式、相同状态码。

数据来源与配置

  • Etherscan v2 统一 API(https://api.etherscan.io/v2/api?chainid=8453&…)——供 rug、contract、deployer、holders 使用,无 key 可运行但速率较低。
  • Base RPC(${BASE_RPC_URL:-https://mainnet.base.org})——供 honeypot、lp 以及其他检查中的 eth_call/eth_getLogs/eth_getStorageAt/eth_getCode 读取使用,无 key,任何标准 JSON-RPC 端点均可。
  • 可选密钥:ETHERSCAN_API_KEY(亦称 BASESCAN_API_KEY,同一个 Etherscan v2 key),通过 ./secretcurl 的 {ETHERSCAN_API_KEY} 占位符附加到 Etherscan URL,可提升速率限制并解锁已验证源码、完整部署者历史与持有人列表;BASE_RPC_URL 覆盖默认公共 Base RPC,被所有 RPC 读取使用,对 honeypot 和 lp 最为关键。

适用场景

适合需要在一次调用中全面了解某个 Base 代币安全状况的场景:代币尽调、尽职调查初筛、部署者背景排查、流动性风险评估等,也支持通过 --checks 只关注单项风险。

限制与设计约束

各检查彼此独立,某一节需要密钥或返回空时标记为 unavailable,而不会中止其余部分,即设计上优雅降级。未验证合约无法进行静态分析,审计置信度低。蜜罐检查仅使用 eth_call,绝不发送交易。快速模式下部分检查会跳过完整分析(如 holder 的 HHI 与集群、deployer 的逐合约命运判定)。若持有人数据只能通过 RPC 重建,会明确说明并降低置信度。判定档位与结束状态均按文档给定的固定表与状态码输出,不自行发挥。