mcpField
G
gate-info-risk

gate-info-risk

github.com/gateセキュリティ48101 回インストール18 週間前に更新
リポジトリ

gate-info-risk について

gate-info-riskは、Gate CLIと定められた手順でトークン、ウォレットアドレス、プロジェクトのリスクを調べるセキュリティ分析スキルです。証拠に基づく評価とデータ範囲の明示、次の確認事項を重視し、売買助言は行いません。

主な機能

  1. 01トークンコントラクトのリスク評価
  2. 02ウォレットアドレスのリスク確認
  3. 03プロジェクトの事件・告知確認
  4. 04段階別のリスクと根拠の整理
  5. 05データ不足と再試行方法の明示

活用シーン

  1. 01ハニーポットや高税率の兆候を確認
  2. 02ウォレットの制裁情報やリスクラベルを確認
  3. 03プロジェクトの最近のセキュリティ事件を調査

MCP 対応

データ収集はgate-cli経由で行い、事前確認時のMCPフォールバック手順を定めています。CLIルートの場合、Gate MCPツールの呼び出しは禁止されています。

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/gate-info-riskを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
README.md
references/
cli-reference.md
scenarios.md
troubleshooting.md
scripts/
update-skill.ps1
update-skill.sh

詳細

gate-info-risk

一般ルール

⚠️ 停止 — 続行する前に、共有ランタイムルールを必ず読み、厳密に従ってください。 すべてのルールを読み終えるまで、ツールを選択または呼び出してはいけません。これらのルールは最優先です。 → gate-runtime-rules.mdをお読みください → gate-infoおよびgate-newsの共有ルールについては、info-news-runtime-rules.mdもお読みください。

  • このスキルに明示的に記載された MCP ツールのみを呼び出してください。 ここに記載されていないツールは、MCP サーバーに存在していても呼び出してはいけません。

CLI とプレイブックの契約

  1. レガシーコマンドはgate-cli v0.5.2で利用可能でなければなりません。shortcuts_enabled(>= 0.7.6)の場合、プレイブックのshortcutに従い、token_riskではinfo +token-riskを使用できます。失敗した場合、または古い CLI の場合は、check-token-securityにフォールバックしてください。このスキルでは、address_riskに対してcheck-address-riskや+address-trackerは呼び出しません。
  2. playbooks/gate-info-risk.yamlに記載されている場合に限り、gate-cli info …/gate-cli news …を呼び出してください。事前チェックのrouteがCLIの場合、このスキルからGate MCPツールを呼び出してはいけません。
  3. データが欠けている場合、決して「リスクが低い」と判断してはいけません。選択したプレイブックの主要コマンドが利用できない場合、判定はUNABLE_TO_ASSESS(対象範囲は限定されます。ユーザー向けレポートではローカライズされたラベルが表示されることがあります)とし、再試行を明示的に案内してください。
  4. 常に--format jsonを渡してください。必須スロット(token+chain、address+chain、symbol)が指定されている必要があります。不明確な場合はユーザーに確認してください。
  5. レポートは安全性を最優先します。証拠より前に判定を記載し、重大度の高い項目を必ず中程度または低い項目より先に示してください。
  6. 売買の助言はしないでください。価格予測はしないでください。このスキルのロジックでは、判定区分 HIGH / MEDIUM / LOW / UNABLE_TO_ASSESS を使用してください。最終的なユーザー向けレポートでは、これらのラベルをローカライズしてもかまいません。必ず**「次に確認すべきこと」**のリストを含めてください。

ステップ 0 — 事前チェック

skills/_shared/preflight.mdの共有契約に、一字一句従ってください。概要:

  1. gate-cli preflight --format jsonを実行し、.route、.status、.user_messageを解析します。
  2. 分岐:CLI → 続行、MCP_FALLBACK → __FALLBACK__を出力して停止、BLOCK → user_messageをそのまま返して停止します。
  3. status == "ready_with_migration_warning"の場合、ステップ3でレポートの最後に移行に関するヒントを1つ追加します。
  4. ステップ 0.5:skills/_shared/cli-version-routing.mdに従い、cli_versionとshortcuts_enabledを設定します。

ステップ0でroute == "CLI"となるまで、データ収集コマンドを実行してはいけません。



ステップ 1 — 意図の振り分け

playbooks/gate-info-risk.yamlから、プレイブックIDを1つだけ選択してください。

プレイブック ID選択する状況必須スロット
token_risk「このトークンは安全か」「ハニーポットか」「税率が高すぎるか」「保有者が集中しているか」— 対象はトークンコントラクトです。token、chain(tokenスロットにはティッカーまたはコントラクトアドレスを指定できます)
address_risk「このアドレスは安全か」「制裁対象/OFAC対象か」「ブラックリストに載っているか」「このウォレットにはリスクがあるか」。address、chain
project_risk「このプロジェクトにコンプライアンス上またはインシデント上のリスクはあるか」「{project}でセキュリティインシデントは発生したか」「取引所の発表に関するリスク」。symbol
スロット抽出ルール
  • check-token-security では、--token または --address のいずれか一方だけを指定します。CLI は両方の指定を明示的に拒否します(CLI のエラーメッセージを参照してください。相互排他的です)。このスキルでは、フラグが多態的で、ティッカー(USDT)とコントラクトアドレス(0xdAC17F...、SPL ミント、TRX ミント)の両方を受け付けるため、常に --token を使用します。エージェントのスロット抽出ルール:ユーザーがトークンのリスクに関する問い合わせでコントラクトアドレスに言及した場合、そのアドレスを token スロットに直接格納してください。このプレイブックでは、並行して address スロットを作成しないでください。常に --chain と組み合わせてください。
  • chain の正規形式(--chain には常に短縮 ID を送信):eth、bsc、polygon、arb、op、base、avax、solana、tron、…ユーザーが一般的な長形式のエイリアス(ethereum、arbitrum、optimism、avalanche、bnb、matic)を使った場合は受け付け、CLI の呼び出し前に短縮 ID に正規化します。レスポンスの .chain の値はエンドポイントによって異なり、短縮形(eth→eth)の場合も、長形式(arb→arbitrum)の場合もあります。パーサーはどちらのエイリアス形式も受け付ける必要があります。入力の正規化とレスポンス解析に使用する正規エイリアステーブルについては、skills/gate-info-risk/references/troubleshooting.md を参照してください。
  • address はウォレットを指します。ユーザーがトークンコントラクトについて尋ねているものの、アドレスを渡している場合は、どちらを指しているのか確認してください。
  • project_risk の symbol は上場コインのティッカーです。news コマンドを実行する前に、曖昧なプロジェクト名を特定してください。
  • 必須スロットが不足している、または曖昧な場合は、停止してユーザーに確認してください。推測しないでください。
ステップ 1 でのスキル間ルーティング
ユーザーの意図ルーティング先
「このコインの一般的な分析だけを教えて」、安全性に関する観点はないgate-info-research
「このアドレスは誰か/オンチェーンで何をしているか」(リスクを優先しない場合)gate-info-web3
「なぜ下落したのか」/「インシデントに対するコミュニティの見方」gate-news-intel

ステップ 2 — データ収集

すべてのコマンドで --format json を使用します。同じ parallel_group 内のコマンドは並行して実行します。

shortcuts_enabled が有効で、プレイブックで shortcut が定義されている場合は、skills/_shared/cli-version-routing.md に従ってください。+token-risk の出力(risk_level、risk_items、token_identity)を、check-token-security と同じ判定ルールに対応付けます。

token_risk ショートカットの引数:ティッカーにはプレイブックの args(--symbol)を使用します。コントラクト形式の token には、when: contract_address の args_when(--address + --chain)を使用します。ショートカットの成功後も、任意の token_onchain(post_shortcut_optional_ids)を実行してください。ショートカットにはオンチェーンの保有者データが含まれません。

2.A token_risk

ショートカット(>= 0.7.6):プレイブックの shortcut.args / shortcut.args_when から引数を解決します(ティッカーに対して --address をデフォルトで使用しないでください)。ネイティブコインの解決に失敗した場合は、以下の従来のコマンドにフォールバックします。

必須(従来の方法):

  • gate-cli info compliance check-token-security --token {token} --chain {chain} --scope full

任意(上記と並行して実行):

  • gate-cli info coin get-coin-info --query {symbol_or_token} --chain {chain} --scope basic — コンテキストとしてプロジェクトの基本情報を取得します。
  • gate-cli info onchain get-token-onchain --token {token} --chain {chain} --scope full — 保有者の集中度とスマートマネーの資金フローを取得します。
2.B address_risk

必須:

  • gate-cli info onchain get-address-info --address {address} --chain {chain} --scope basic — リスクラベル、タグ、スコープ内の残高サマリー。

任意:

  • gate-cli info onchain get-address-transactions --address {address} --chain {chain} --time-range 30d --min-value-usd 100000 --limit 50 — 最近の大口フロー。ミキシング/取引所間の資金移動の検出に役立ちます。

スコープ制限ルール:gate-cli v0.5.2 では info compliance check-address-risk は公開されていません。get-address-info がリスクラベルまたはタグを返さない場合、最終判定は UNABLE_TO_ASSESS(ユーザー向け出力ではローカライズ)とし、専用のアドレスリスクコマンドのリリース後に再確認するよう注記してください。

2.C project_risk

必須(並列実行):

  • gate-cli news feed search-news --coin {symbol} --limit 10 --sort-by importance --time-range 7d
  • gate-cli news events get-latest-events --coin {symbol} --time-range 7d --limit 20(サーバーの列挙値は 1h|24h|7d です。より長い期間には --start-time/--end-time の Unix ミリ秒値を使用してください)

任意:

  • gate-cli news feed get-exchange-announcements --coin {symbol} --limit 10 — 上場/上場廃止/メンテナンス/緊急のお知らせ。
失敗時のポリシー
  • 必須コマンドの失敗 → プレイブックを中止し、CLI エラーをそのまま表示(認証情報は削除)して終了します。判定は出力されません。
  • 任意コマンドの失敗 → ステップ 3 で該当セクションを scope limited とし、信頼度を下げます。
  • アップストリームが「not found」または空のラベルを返す → データ不足として扱い、低リスクとは見なしません。

ステップ 3 — 統合

レポートは常に次の順序で 5 つのセクションから構成されます:

レポートテンプレート
## Risk assessment — {subject}

### 1. Verdict
- **Level**: {HIGH | MEDIUM | LOW | UNABLE_TO_ASSESS} (you may localize labels in the user-facing report)
- Three short sentences: main basis + data coverage + confidence (whether scope-limited)

### 2. Core risk items
Sort strictly HIGH → MEDIUM → LOW. Each item includes:
- Risk name + taxonomy: `TECHNICAL_CONTRACT` / `ADDRESS_COMPLIANCE` / `PROJECT_LEVEL`
- Evidence (real JSON paths), e.g. `check-token-security.high_risk_list[?risk_key=="is_honeypot"].risk_value == "1"`, `check-token-security.data_analysis.top10_percent`, `get-address-info.risk_labels`
- Impact + trigger (e.g. “tax rises after holding > 7 days”)

### 3. On-chain or compliance context
{Balances / tags / labels / large flows / holder concentration / fundamentals. Sources as hit by playbook:
`info onchain get-address-info`, `info onchain get-address-transactions`, `info onchain get-token-onchain`, `info coin get-coin-info`}

### 4. Event context (if any)
{Last 7–30d news / incidents / announcements from `news feed search-news`, `news events get-latest-events`, `news feed get-exchange-announcements`. Separate **sourced facts** from **community speculation** (mark “needs confirmation” where needed).}

If the playbook did not call news commands, mark **no data**; you may suggest `gate-news-intel` for follow-up.

### 5. What to verify next
- List concrete next commands to close each gap
- If **UNABLE_TO_ASSESS**, the first bullet must tell the user to re-run `check-token-security` / `get-address-info` with the correct `{chain}`
- No buy/sell advice; no price targets
判定ルール(セクション 1 に適用)

check-token-security では意図的に2 種類の型規則を使用しています。エージェントは混同しないでください。

  • トップレベルのフラグ(例:.is_honeypot、.is_open_source)はJSON のブール値(true / false)です。== true / == false で比較し、"1" / "0" とは比較しないでください。
  • high_risk_list[]、middle_risk_list[]、low_risk_list[]、risky_list[]、attention_list[] 内のネストされたリスト項目では、.risk_value は文字列("0" / "1")です。== "1" で比較するか、tonumber で数値に変換してください。
  • 税率フィールド(.buy_tax、.sell_tax、ネストされた .tax_analysis.token_tax.{buy_tax,sell_tax,transfer_tax})は文字列です(% なしのパーセント値)。数値で比較する前に tonumber で変換してください。
  • .data_analysis 内のパーセントフィールド(.top10_percent、.top100_percent、.dev_holding_percent、.insider_percent、.max_holder_percent)は文字列です。比較する前に変換してください。
  • 各ネストされた項目の形式は {risk_key, risk_value, risk_level, risk_name, risk_desc} です。
シグナル(実際の JSON パス)判定への影響
high_risk_list[?risk_key=="is_honeypot"].risk_value == "1"(同等のトップレベル項目は is_honeypot == true — トップレベルは文字列ではなくブール値です)HIGH(即時)
high_risk_list[?risk_key=="is_high_tax"].risk_value == "1" OR tonumber(buy_tax) > 10 OR tonumber(sell_tax) > 10少なくとも HIGH
middle_risk_list[?risk_key=="owner_change_balance"].risk_value == "1"(所有者は任意の保有者の残高を書き換え可能)HIGH(即時)
middle_risk_list[?risk_key=="can_take_back_ownership"].risk_value == "1" OR middle_risk_list[?risk_key=="hidden_owner"].risk_value == "1" OR middle_risk_list[?risk_key=="self_destruct"].risk_value == "1"HIGH(即時)
middle_risk_list[?risk_key=="is_mintable"].risk_value == "1" OR middle_risk_list[?risk_key=="is_proxy"].risk_value == "1" OR middle_risk_list[?risk_key=="is_blacklisted"].risk_value == "1"少なくとも MEDIUM
high_risk_list[?risk_key=="is_open_source"].risk_value == "0"(同等のトップレベル項目は is_open_source == false — トップレベルではブール値です)少なくとも MEDIUM
tonumber(data_analysis.top10_percent) > 70(またはトップレベルの top10_percent)かつロックアップの根拠がない少なくとも MEDIUM
get-address-info.risk_labels に OFAC / sanctioned / mixer / scam / exchange-hack-proceeds / darknet が含まれるHIGH(即時)
get-address-info が risk_labels=[] かつ tags=[] を返すUNABLE_TO_ASSESS(対象範囲に制限あり) — LOW に引き下げないでください
holders.holder_concentration[?label=="No.1-10"].percentage > 0.5 かつ 7 日間に大口の活発な取引量がある(get-token-onchain)MEDIUM の項目を追加
latest-events の event_type == "exploit" / "rug" / "depeg" かつ create_time ≤ 7d深刻度に応じて MEDIUM または HIGH を追加
必須コマンドがすべて失敗するUNABLE_TO_ASSESS + 明確な再試行手順

任意の要約ショートカット:check-token-security.risk_summary.highest_risk_level — 上流から取得する集計済みの 0–3 の深刻度スコア(3 = ハニーポット級)です。highest_risk_level >= 3 で risk_key にフラグが立っていない場合も、risk_summary だけを引用するのではなく、上記のルールに沿って具体的な該当フィールドを示してください。

移行のヒント(Step 0 のステータスが ready_with_migration_warning の場合のみ)

レポートの末尾に、skills/_shared/report-style.md の移行ブロック引用行(⚙️ と gate-cli migrate --dry-run で始まる行)をそのまま追加してください。

移行ステータスを判定条件にしないでください。


スキル間のルーティングと安全性のルール

ルーティング

skills/_shared/routing.md の共通マトリクスに従ってください。リスクスキル固有の追加対応は以下のとおりです。

追加対応の意図参照先
「詳細な調査」/「追いかける価値はあるか」gate-info-research
「このアドレスは何をしているか」/「スマートマネーの動向」gate-info-web3
「なぜ下落したのか」/「この出来事に関するコミュニティの見解」gate-news-intel
ユーザーがチェーンまたはトークンを変更し、新たな評価を希望する新しいスロットを使って同じプレイブックを再実行してください。以前の判定は再利用しないでください。
安全性に関するルール

skills/_shared/report-style.md の共通規約に従ってください。リスク固有の強化ルールは以下のとおりです。

  1. 必須コマンドが失敗した場合、またはリスクラベル/セキュリティチェックのフィールドが返されなかった場合は、LOW と判定しないでください。UNABLE_TO_ASSESS(またはその訳語)を使用してください。
  2. セクション 2 では、3 つのリスク分類(TECHNICAL_CONTRACT/ADDRESS_COMPLIANCE/PROJECT_LEVEL)を厳密に分けてください。
  3. セクション 2 では、HIGH の項目を MEDIUM または LOW の項目より先に記載してください。
  4. 買い/売りの助言は禁止です。許容される最も近い表現は、中立的で指示的でない「回避する/さらに確認する」です。
  5. 判定の根拠となる主張にはすべて、正確な JSON パスを記載してください。例:info compliance check-token-security.high_risk_list[?risk_key=="is_honeypot"].risk_value または info compliance check-token-security.data_analysis.top10_percent。「check-token-security の結果に基づく」のような、コマンド名だけを示す曖昧な記載は避けてください。

参考資料

ファイル読み込むタイミング
skills/gate-info-risk/references/scenarios.mdプレイブック ID の選択が明確でない場合、またはユーザーのプロンプトがシナリオ 4/5(アドレスのリスク、主要コインに関する曖昧さ)に該当しそうな場合。
skills/gate-info-risk/references/cli-reference.mdcheck-token-security、get-address-info、get-token-onchain、または補助的なニュースコマンドのフラグ一覧が必要な場合。
skills/gate-info-risk/references/troubleshooting.mdコマンドが失敗した場合、または get-address-info でリスクラベルが返されなかった場合(check-address-risk の欠落)。
skills/_shared/preflight.mdステップ 0 の規約。
skills/_shared/routing.mdスキル間のルーティング。
skills/_shared/report-style.md安全性とレポートのルール。
skills/_shared/update-workflow.mdスキルの更新ワークフロー。

コメント