mcpField
G
gate-info-riskcheck

gate-info-riskcheck

github.com/gate安全48165 次安装18 周前更新
代码仓库

关于 gate-info-riskcheck

gate-info-riskcheck 是用于评估代币或合约地址风险的技能,面向需要安全检查的用户。它聚合多项风险检测、税费分析和持仓集中度信息;在存在主 CLI 技能时会转交处理。

主要功能

  1. 01聚合 30 多项风险检测
  2. 02分析税费与持仓集中度
  3. 03检查代币及地址风险
  4. 04可路由至主 CLI 技能
  5. 05只读查询 Gate Info 数据

适用场景

  1. 01检查代币是否存在安全风险
  2. 02评估合约地址风险
  3. 03生成结构化风险评估

MCP 相关

在兼容模式下,它使用 Gate-Info MCP 服务进行只读查询,包括代币信息、合规风险、代币安全和地址信息工具;如果路由到主 CLI 技能,则不调用这些 MCP 工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gate/gate-skills --skill gate-info-riskcheck

安装后在 Claude Code 中输入/gate-info-riskcheck确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.clawhubignore
CHANGELOG.md
README.md
references/
mcp.md
scenarios.md
scripts/
update-skill.ps1
update-skill.sh

详细介绍

gate-info-riskcheck

通用规则

⚠️ 停止 — 继续之前,你必须阅读并严格遵守共享运行时规则。 阅读完所有规则之前,不要选择或调用任何工具。这些规则具有最高优先级。 → 阅读 gate-runtime-rules.md → 同时阅读 info-news-runtime-rules.md,了解 gate-info / gate-news 专属规则(工具降级、报告标准、安全、路由降级、存在 scripts/ 时的技能版本检查,以及旧版封装器路由)。

  • 仅调用本技能中明确列出的 MCP 工具。 不得调用此处未记载的工具,即使它们 存在于 MCP 服务中。
  • 旧版 / 路由模式: 当步骤 0 输出 __FALLBACK__ 时,仅使用此文件中列出的 MCP 工具。当步骤 0 输出 __ROUTE_CLI__ 时,不要调用这些 MCP 工具;应根据步骤 0 的指示委派给映射的主技能。

安全防护技能。用户输入代币名称或合约地址后,系统会调用合约安全检测工具,获取 30 项以上风险检测结果、税费分析、持币者集中度和名称风险数据。大模型会汇总结果,生成结构化风险评估报告。地址合规检查将在未来阶段加入。

触发场景:用户提及代币 / 合约地址,并使用 safe、risk、check、audit、honeypot、rug、contract security、scam 等关键词。

按技能更新: 此目录包含 scripts/update-skill.sh,也可能包含 scripts/update-skill.ps1。上传到市场的 ClawHub 软件包通常不包含 update-skill.ps1(上传页面限制所致);GitHub / Bitbucket 源代码树则保留这两个脚本。策略见:info-news-runtime-rules.md §1。以下触发器更新步骤是在 gate-runtime-rules.md 基础上的补充;存在脚本时,执行前请按此流程检查版本。

更新检查 — 用户可见性: 版本检查期间的技术故障(缺少脚本、沙盒、网络、非零退出码、没有可解析的 Result= 行)不得向用户解释;请根据 info-news-runtime-rules.md 继续执行。仅可概述成功的 check / apply 结果(包括 update_available / 严格的 退出码 3;这仍属于成功路径,但必须先征得用户确认才能执行 apply)。不要从网络自动下载 update-skill.*。如果缺少 .ps1,请参阅静态参考:规范脚本位于 gate/gate-skills 下的 skills/<name>/scripts/ 目录中(<name> 与 frontmatter 中的名称相同)。


步骤 0 — 封装器路由探测

此旧版技能是主 CLI 技能 gate-info-risk 的兼容别名。

在触发器更新、选择 MCP 工具或执行任何旧版工作流之前, 运行确定性的 shell 探测:

PRIMARY_SKILL="gate-info-risk"
HAS_PRIMARY=0
for root in \
  "$HOME/.cursor/skills" \
  "$HOME/.codex/skills" \
  "$HOME/.openclaw/skills" \
  "$HOME/.agents/skills" \
  "$HOME/.gemini/antigravity/skills"
do
  if [ -f "$root/$PRIMARY_SKILL/SKILL.md" ]; then
    HAS_PRIMARY=1
    break
  fi
done

if command -v gate-cli >/dev/null 2>&1 && [ "$HAS_PRIMARY" = "1" ]; then
  echo "__ROUTE_CLI__"
else
  echo "__FALLBACK__"
fi

判定方式:

  • __ROUTE_CLI__ → 在此停止。不要运行触发器更新或下方的旧版 MCP 部分。请遵循 https://github.com/gate/gate-skills/blob/master/skills/gate-info-risk/SKILL.md 及其操作手册约定。携带最少必要上下文:根据查询属于代币风险、 地址风险还是项目级风险,提供 token+chain、 address+chain 或 symbol。
  • __FALLBACK__ → 继续执行触发器更新和此文件中的旧版 MCP 工作流。

触发时更新(并执行)

默认(PD / 阻塞): 每次触发时,先运行 check,不要设置 GATE_SKILL_UPDATE_MODE=auto。该脚本只进行比较本地版本与远程版本;如果 Result=update_available,则不会覆盖文件。停止——在执行任何 apply、run 或技能执行之前,先询问用户是否要更新。在沙箱中(例如 Cursor),之后运行 apply 时使用完全 / 所有权限。这符合独立脚本 TEST_REPORT 中的阻塞式更新确认:阻塞由这些 SKILL 说明和仅检查行为共同实现(而非静默自动应用)。

严格检查(Agent / IDE — 建议在运行 check 时使用): 使用 GATE_SKILL_CHECK_STRICT=1。当 Result=update_available 时,check 会以状态码 3 退出,并打印 GATE_SKILL_CHECK_EXIT=3——它只会停止当前 shell 步骤。硬性规则:询问用户后,结束本轮助手对话;不要在同一条消息中调用 apply、run 或 MCP。run 会在没有用户事先确认的情况下应用更新——阻塞流程中不要在聊天中使用 run;请使用 check → 用户确认 → apply。

步骤 1 — 检查

安装根目录: check / apply 会读取 $DEST/SKILL.md。常见的 $SKILL_ROOT:$HOME/.cursor/skills/<name>/、$HOME/.codex/skills/<name>/、$HOME/.openclaw/skills/<name>/、$HOME/.agents/skills/<name>/、$HOME/.gemini/antigravity/skills/<name>/。单参数模式:当 SKILL.md 存在时,脚本会按此顺序解析 DEST;否则 DEST 为 scripts/../。仅工作区目录树需要使用双参数 check / apply,并显式指定 DEST。

Agent 选择规则(下面带围栏的示例最多运行一个;根据操作系统和 $SKILL_ROOT/scripts/ 下的文件进行选择):

  • **macOS / Linux / WSL / Git Bash:**如果存在 update-skill.sh → 仅使用 Bash 示例。
  • **Windows(原生 PowerShell):**如果存在 update-skill.ps1 → 仅使用 PowerShell 示例。
  • Windows(没有 .ps1)(典型的 ClawHub 安装):如果只有 update-skill.sh → 尝试使用 WSL 或 Git Bash(bash),并采用与 Bash 示例相同的命令格式。如果 bash 不可用或执行失败 → 静默跳过步骤 1(不要向用户显示脚本 stderr 或“版本检查失败”消息);继续执行技能。
  • **两个脚本都不存在:**静默跳过步骤 1;继续执行技能。不要臆造 GATE_SKILL_CONFIRM_TOKEN,也不要运行 apply / revoke-pending。

Bash(阻塞式——不自动更新;Cursor 示例):

GATE_SKILL_CHECK_STRICT=1 bash "$HOME/.cursor/skills/gate-info-riskcheck/scripts/update-skill.sh" check "gate-info-riskcheck"

PowerShell:

$env:GATE_SKILL_CHECK_STRICT = '1'
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-info-riskcheck\scripts\update-skill.ps1" check "gate-info-riskcheck"

结果含义:skipped = 不执行任何操作。update_available = 远程版本较新;采用阻塞流程时,未经用户同意不得应用更新。check_failed = 无法进行比较——根据 info-news-runtime-rules.md 使用当前版本继续;不要向用户透露检查失败的技术细节。

Agent 解析(stdout):GATE_SKILL_UPDATE_AGENT_ACTION=…。BLOCK_UNTIL_USER_CONFIRMS_UPDATE → 在执行技能前进行步骤 2。CONTINUE_SKILL_EXECUTION → 检查脚本不会阻止执行技能。

步骤 2 — 确认或拒绝(阻塞)

运行环境: 步骤 2 使用与步骤 1 相同的 shell 类型(Bash 或 PowerShell)。如果跳过步骤 1,则不要运行 apply 或 revoke-pending。

如果为 update_available:

  1. 停止——此时不要继续执行。

  2. 告知用户(例如,有新版本可用;如有帮助,可进行概述)。

  3. 等待用户回复——此步骤会阻塞。

    硬性规则(Cursor / Agent): 当 check 报告 update_available、BLOCK_UNTIL_USER_CONFIRMS_UPDATE 或严格模式下的 exit 3 时,结束本轮回复并提出确认请求。只有在用户的下一条消息中,才运行 apply(如果用户同意)或 revoke-pending(如果用户拒绝)。此流程中,不要在运行 check 的同一轮中接着运行 apply。

    • 用户同意 → 在需要时,使用严格模式 check 的标准输出中的 GATE_SKILL_CONFIRM_TOKEN 运行 apply,然后执行。
    • 用户拒绝 → 运行 revoke-pending,然后基于当前安装执行。

两步门控(严格模式 check): 在 GATE_SKILL_CONFIRM_TOKEN 与 .gate-skill-apply-token 匹配之前,apply / run(未设置 GATE_SKILL_UPDATE_MODE=auto)会失败。用户拒绝时 → revoke-pending。

GATE_SKILL_CONFIRM_TOKEN="<paste from check stdout>" bash "$HOME/.cursor/skills/gate-info-riskcheck/scripts/update-skill.sh" apply "gate-info-riskcheck"
bash "$HOME/.cursor/skills/gate-info-riskcheck/scripts/update-skill.sh" revoke-pending "gate-info-riskcheck"
$env:GATE_SKILL_CONFIRM_TOKEN = '<paste from check stdout>'
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-info-riskcheck\scripts\update-skill.ps1" apply "gate-info-riskcheck"
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-info-riskcheck\scripts\update-skill.ps1" revoke-pending "gate-info-riskcheck"

如果步骤 1 未采用严格模式(没有待处理令牌):允许在不提供 GATE_SKILL_CONFIRM_TOKEN 的情况下运行 apply。

**如果为 skipped 或 check_failed:**不执行更新步骤;继续执行。

可选 — GATE_SKILL_UPDATE_MODE=auto

仅用于 CI / 无人值守自动化:在 check 时设置 GATE_SKILL_UPDATE_MODE=auto,会使脚本在远程版本较新时立即应用更新——无需用户确认,且与阻塞式更新确认测试不兼容。复现阻塞式 PD 流程时,不要在 check 时使用 auto。

参数
  • name:上方 Frontmatter 中的 name;必须与 gate-skills 中的 skills/<name>/ 匹配。
  • 调用方式:使用 $SKILL_ROOT/scripts/update-skill.sh(或 .ps1),其中 $SKILL_ROOT/SKILL.md 是此技能所在位置——例如 ~/.cursor/skills/<name>、~/.codex/skills/<name>、~/.openclaw/skills/<name>、~/.agents/skills/<name>、~/.gemini/antigravity/skills/<name>;不要将 ~/.cursor(或任何不包含 skills/<name>/SKILL.md 的宿主根目录)视为安装目录。传入一个参数时,脚本会按上述顺序解析 $SKILL_ROOT,之后才回退到脚本所在目录;工作区安装需要显式指定 DEST。两个参数的 check / apply / revoke-pending:规范顺序是先传绝对路径 DEST(技能根目录),再传 name;当只有一个规范化路径包含 SKILL.md 时,update-skill.sh / update-skill.ps1 会自动交换参数顺序(例如 Agent 先传 name,再传路径)。
  • **ClawHub 与完整目录树:**未包含 update-skill.ps1 的安装可从 gate/gate-skills 的 skills/<name>/scripts/ 中复制该文件(仅限手动操作;Agent 不得自动下载)。

除调试外,不要将原始脚本日志输出到面向用户的回复中。严格模式下,若 check 以退出码 3 结束,在步骤 2 解决前不要执行。若为 check_failed 或 apply 失败,仍应在运行环境规则允许时执行。


MCP 依赖项

仅适用于旧版路径——当步骤 0 输出 __FALLBACK__ 时适用。

必需的 MCP 服务
MCP 服务状态
Gate-Info✅ 必需
使用的 MCP 工具

查询操作(只读)

  • info_coin_get_coin_info
  • info_compliance_check_address_risk
  • info_compliance_check_token_security
  • info_onchain_get_address_info
身份验证
  • 需要 API Key:否
  • 凭证来源:无;此技能仅使用只读的 Gate Info / Gate News MCP 访问权限。
安装检查
  • 必需:Gate-Info
  • 安装:继续之前,请使用适用于当前主机 IDE 的本地 Gate MCP 安装流程。
  • 仅当所需的 Gate MCP 服务在当前环境中可用后,才继续。

路由规则

仅限旧版路径 — 当 Step 0 输出 __ROUTE_CLI__ 时,路由由 gate-info-risk 负责。

用户意图关键词/模式操作
代币合约安全检查"这个代币安全吗" "PEPE 合约有什么风险吗" "检查 0x... 合约"执行此 Skill(代币安全模式)
地址风险检查"这个地址安全吗" "这个地址是否在黑名单中"执行此 Skill(地址风险模式 — 当前功能降级)
单个代币分析"帮我分析 SOL"路由至 gate-info-coinanalysis
地址追踪"追踪这个地址" "资金流向"路由至 gate-info-addresstracker
代币链上分析"链上筹码分布"路由至 gate-info-tokenonchain
项目尽职调查"这个项目靠谱吗" "团队背景"路由至 gate-info-coinanalysis(侧重基本面)

执行工作流

仅限旧版路径 — 当 Step 0 输出 __FALLBACK__ 时,本节适用。

Step 0:多维度意图检查

执行此 Skill 前,检查用户的查询是否涉及多个分析维度:

  • 如果查询涉及地址安全(例如,“这个地址安全吗”“检查 0x...”),请使用此 Skill(模式 B)——地址风险检查仅由此 Skill 提供,gate-info-research 不涵盖此功能。
  • 如果查询仅涉及代币/合约安全,没有其他维度,请使用此 Skill(模式 A)。
  • 如果查询还涉及基本面、技术面、新闻、情绪、比较或任何其他安全之外的分析维度,请路由至 gate-info-research——它可通过统一的工具去重和连贯的报告汇总处理多维度查询。
模式 A:代币安全检查(核心模式 — 已就绪)
Step 1:意图识别与参数提取

从用户输入中提取:

  • token:代币符号(例如,PEPE、SHIB)——与 address 互斥
  • address:合约地址(例如,0x...)——与 token 互斥
  • chain:链名称(eth / bsc / solana / base / arb 等)——必需

参数补全策略:

  • 如果用户只提供代币而未提供链:询问“请指定链(例如,eth、bsc、solana)”
  • 如果用户提供了合约地址但未提供链:尝试根据地址格式推断(0x 前缀可能表示 EVM 链,但仍需确认具体链)
  • 如果用户询问主流币(BTC、ETH):告知他们“主流币通常没有合约安全风险。如需检查,请指定特定链上的包装代币或 Meme 代币”
Step 2:并行调用 2 个 MCP 工具
步骤MCP 工具参数获取的数据并行
1ainfo_compliance_check_token_securitytoken={token} or address={address}, chain={chain}, scope="full", lang="en"风险级别、30 多项风险项、税费分析、持有者集中度、名称风险、蜜罐检测、开源状态是
1binfo_coin_get_coin_infoquery={token or symbol}代币基本信息(项目名称、所属领域、上线交易所 — 补充背景)是

两个工具并行调用,彼此没有依赖关系。

Step 3:LLM 汇总 — 生成风险报告

将安全检测数据和基本面信息传递给 LLM,使用下方模板生成评估报告。

模式 B:地址风险检查(降级模式)

info_compliance_check_address_risk 尚未推出(P3 阶段)。目前只有 info_onchain_get_address_info 可以提供基本地址信息。

步骤MCP 工具参数获取的数据状态
1info_onchain_get_address_infoaddress={address}, chain={chain}基本地址信息、余额、交易数量✅ 可用
2info_compliance_check_address_risk—地址合规风险标签❌ 尚未就绪

降级处理:告知用户:“地址合规风险检测正在开发中。目前仅提供基本地址信息。如需检查代币合约安全性,请提供代币名称或合约地址。”


报告模板(代币安全模式)

仅适用于旧版路径 — 当步骤 0 输出 __FALLBACK__ 时,本节才适用。

## {token} Contract Security Report

### 1. Risk Overview

| Metric | Result |
|--------|--------|
| Chain | {chain} |
| Contract Address | {address} |
| Overall Risk Level | {risk_level_text} ({highest_risk_level}) |
| High-Risk Items | {high_risk_num} |
| Medium-Risk Items | {middle_risk_num} |
| Low-Risk Items | {low_risk_num} |
| Honeypot Detected | {is_honeypot ? "⛔ Yes" : "✅ No"} |
| Open Source | {is_open_source ? "✅ Yes" : "⚠️ No"} |

### 2. High-Risk Item Details

{If high-risk items exist, list each:}

| Risk Item | Description | Value |
|-----------|------------|-------|
| {risk_name_1} | {risk_desc_1} | {risk_value_1} |
| {risk_name_2} | {risk_desc_2} | {risk_value_2} |
| ... | ... | ... |

{If no high-risk items: "✅ No high-risk items detected"}

### 3. Tax Analysis

| Metric | Value | Status |
|--------|-------|--------|
| Buy Tax | {buy_tax}% | {Normal/Elevated/Extreme} |
| Sell Tax | {sell_tax}% | {Normal/Elevated/Extreme} |
| Transfer Tax | {transfer_tax}% | {Normal/Elevated/Extreme} |

{If multiple DEX pools have different tax rates, list the major pool breakdowns}

### 4. Holder Concentration

| Metric | Value | Status |
|--------|-------|--------|
| Holder Count | {holder_count} | {Many/Normal/Low} |
| Top 10 Holder % | {top10_percent}% | {Normal/High/Extremely Concentrated} |
| Top 100 Holder % | {top100_percent}% | — |
| Developer Holdings | {dev_holding_percent}% | {Normal/High} |
| Insider Holdings | {insider_percent}% | {Normal/High} |
| Largest Single Holder | {max_holder_percent}% | {Normal/High} |

### 5. Name Risk

| Metric | Result |
|--------|--------|
| Domain Token | {is_domain_token ? "⚠️ Yes" : "✅ No"} |
| Contains Sensitive Words | {is_sensitive ? "⚠️ Yes" : "✅ No"} |
| Sensitive Words | {sensitive_words} |

### 6. Project Basic Info (Supplementary)

| Metric | Value |
|--------|-------|
| Project Name | {project_name} |
| Sector | {category} |
| Listed on Major Exchanges | {exchange_list} |

### 7. Overall Assessment

{LLM generates a 3-5 sentence comprehensive risk assessment:}
- Overall contract safety level
- Most critical risk items (if any)
- Whether holder concentration is healthy
- Whether tax rates are reasonable
- Whether further manual audit is recommended

### ⚠️ Risk Warnings

{Auto-generated explicit warnings based on detection results:}
- Honeypot detection (if applicable)
- High tax warning (if applicable)
- Excessive holder concentration (if applicable)
- Contract not open-source (if applicable)

> The above analysis is based on automated on-chain data detection and cannot cover all risk scenarios. Please combine with project due diligence and community research for comprehensive judgment.

决策逻辑

条件评估
is_honeypot == true最高级别警告:“⛔ 检测为蜜罐合约 — 极有可能无法卖出。请勿购买。”
is_open_source == false标记“合约未开源 — 无法审计代码逻辑,风险较高”
buy_tax > 5% 或 sell_tax > 5%标记“税率异常高 — 交易成本极高”
buy_tax > 10% 或 sell_tax > 10%标记“⛔ 税率极高 — 疑似恶意合约”
top10_percent > 50%标记“持仓高度集中 — 存在内部人士/巨鲸抛售风险”
top10_percent > 80%标记“⛔ 持仓极度集中 — 抛售风险极高”
dev_holding_percent > 10%标记“开发者持仓偏高 — 留意抛售风险”
holder_count < 100标记“持有者极少 — 流动性和去中心化程度不足”
high_risk_num > 0列出每项高风险内容及其说明
high_risk_num == 0 && middle_risk_num <= 2标记“合约安全检查通过 — 未发现重大风险”
is_domain_token == true标记“这是域名代币 — 与同名项目无关。请仔细核实。”
is_sensitive == true标记“代币名称包含敏感词 — 可能存在冒充/欺诈风险”
任一工具返回空结果/错误跳过该部分;在报告中注明“数据不可用”

风险等级映射

highest_risk_level 的值风险等级标签说明
0安全✅ 安全未检测到风险项
1低风险低风险仅存在低风险项
2中风险中风险存在中风险项 — 请留意
3高风险高风险存在高风险项 — 请格外谨慎
is_honeypot=true严重风险⛔ 严重风险蜜罐合约 — 强烈建议远离

错误处理

错误类型处理方式
缺少 chain 参数提示用户:“请指定链(例如 eth、bsc、solana、base、arb)”
未提供代币或地址提示用户:“请提供代币代码或合约地址”
合约地址不存在/无法识别提示用户核实地址并确认链
代币是主流币(BTC/ETH 等)告知用户:“主流币通常不存在合约安全风险。如需检查合约代币,请指定特定链上的封装代币或 Meme 代币”
check_token_security 超时/错误返回错误消息;建议稍后重试
地址风险查询(目前不可用)告知用户:“地址合规检测正在开发中。”引导用户使用 gate-info-addresstracker 获取基本地址信息
用户误将普通地址当作合约输入尝试检测;如果结果为空,则告知用户“这可能不是合约地址。如需查询地址信息,请使用 Address Tracker 功能”

跨技能路由

用户后续意图路由至
“帮我分析一下这枚币”gate-info-coinanalysis
“链上筹码分布情况如何?”gate-info-tokenonchain
“最近有什么新闻?”gate-news-briefing
“追踪这个地址”gate-info-addresstracker
“把它和 XX 比较一下”gate-info-coincompare
“这枚币的价格走势如何?”gate-info-trendanalysis

可用工具与降级说明

PRD 定义的工具实际可用工具状态降级策略
info_compliance_check_token_securityinfo_compliance_check_token_security✅ 已就绪—
info_coin_get_coin_infoinfo_coin_get_coin_info✅ 已就绪—
info_onchain_get_address_infoinfo_onchain_get_address_info✅ 已就绪地址模式可获取基本信息
info_compliance_check_address_risk—❌ 未就绪(P3)地址合规风险检测不可用——告知用户并引导其使用地址追踪工具

安全规则

  1. 必须警告蜜罐风险:检测到 is_honeypot=true 时,必须在最醒目的位置显示“⛔ 严重风险”警告,绝不可淡化
  2. 不提供投资建议:风险评估基于链上数据,必须附带“非投资建议”免责声明
  3. 不保证绝对安全:即使所有检查均通过,也要说明“自动检测无法覆盖所有风险”
  4. 数据透明:标注检测数据来源和时间戳
  5. 标明缺失数据:任何维度缺少数据时,都必须明确告知用户,绝不可捏造安全结论
  6. 地址隐私:不要主动披露地址持有人身份——仅展示公开可查的链上数据

评论

支持 Markdown