Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
slither-mcp — SolidityスマートコントラクトのSlither静的解析用MCPサーバー | Kitploit
ツール/GitHubGitHub/trailofbits/slither-mcp
静的分析脆弱性分析コード分析APIセキュリティテストDevSecOpsAIセキュリティ
GitHubtrailofbits/slither-mcp

slither-mcp

SolidityスマートコントラクトのSlither静的解析用MCPサーバー

リポジトリを見る
961046ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Slither MCP サーバー

Tests Python 3.11+ License: AGPL v3

Slither を使用して Solidity スマートコントラクトに静的解析機能を提供する Model Context Protocol (MCP) サーバーです。

概要

この MCP サーバーは Slither の静的解析機能をラップし、Model Context Protocol を通じてアクセス可能にします。Solidity プロジェクト(Foundry、Hardhat など)を解析し、コントラクト、関数、継承階層などに関する包括的なメタデータを生成できます。

また、Slither MCP を、他のユースケース向けの使いやすい Slither API として使用することもできます。

機能

  • キャッシュ: Slither の実行結果は {$PROJECT_PATH}/artifacts/project_facts.json にキャッシュされ、以降の読み込みが高速化されます。
  • MCP ツール: MCP ツールを通じてコントラクトと関数の情報を照会します。
  • セキュリティ解析: Slither ディテクタを実行し、フィルタリング付きで結果にアクセスします。
  • 包括的解析: 以下に関する詳細情報を抽出します:
    • コントラクトのメタデータ(abstract、interface、library フラグ)
  • 関数シグネチャと修飾子
  • 継承階層
  • 関数呼び出しの関係(内部、外部、ライブラリ呼び出し)
  • セキュリティ脆弱性とコード品質の問題
  • ソースコードの場所
  • これは v1.0 リリースですが、さらなるフィードバックを受けて API が変更される可能性があります。

    インストール

    このプロジェクトはパッケージ管理に UV を使用しています:

    root@kitploit:~
    # Install dependencies
    uv sync
    
    # Or install in development mode
    uv pip install -e .
    

    使用方法

    基本的な使い方

    Slither MCP サーバーを起動します:

    root@kitploit:~
    uv run slither-mcp
    

    すべてのツールは、解析対象の Solidity プロジェクトを指定する path パラメータを受け取ります。プロジェクトは <path>/artifacts/project_facts.json に自動的にキャッシュされ、以降のクエリを高速化します。

    Claude Code での使用

    root@kitploit:~
    claude mcp add --transport stdio --scope user slither -- uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp
    

    Cursor での使用

    sudo ln -s ~/.local/bin/uvx /usr/local/bin/uvx を使用して、uvx が Cursor の PATH に含まれるようにしてください。

    ~/.cursor/mcp.json に以下を記述します:

    root@kitploit:~
    {
      "mcpServers": {
        "slither-mcp": {
          "command": "uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp",
        }
      }
    }
    

    メトリクスとプライバシー

    Slither MCP には、LLM が各ツールをどの程度の頻度で使用し、どの程度の成功率で呼び出しているかを把握することで信頼性の向上に役立てる、オプトアウト方式のメトリクスが含まれています。メトリクスはデフォルトで有効ですが、完全に無効にすることもできます。

    収集される情報

    • ツール呼び出しイベント(どのツールが使用されたか)
    • 成功/失敗ステータス

    収集しないもの: ツール呼び出しパラメータ、コントラクトの詳細、関数名、プロジェクト固有の情報は一切収集しません。

    メトリクスの無効化

    完全にオプトアウトするには:

    root@kitploit:~
    uv run slither-mcp --disable-metrics
    

    詳細については、METRICS.md を参照してください。

    MCP ツール

    このサーバーは、コントラクトと関数の情報を照会するためのツールを公開しています。すべてのツールは、解析対象の Solidity プロジェクトディレクトリを指定する path パラメータを受け取ります。

    クエリツール

    1. list_contracts - フィルタ付きでコントラクトを一覧表示

    必須: path(プロジェクトディレクトリ) タイプ(concrete、abstract、interface、library)またはパスパターンでコントラクトをフィルタリングします。

    2. get_contract - 詳細なコントラクト情報を取得

    関数、継承、フラグを含む完全なコントラクトメタデータを取得します。

    3. get_contract_source - コントラクトのソースコードを取得

    指定したコントラクトを含む Solidity ファイルの完全なソースコードを返します。

    4. get_function_source - 関数のソースコードを取得

    特定の関数のソースコードを行番号付きで返します。集中した解析に役立ちます。

    5. list_functions - フィルタ付きで関数を一覧表示

    コントラクト、可視性、または修飾子で関数をフィルタリングします。

    6. function_callees - 関数の呼び出し関係を取得

    関数の内部、外部、ライブラリ呼び出し先を、低レベル呼び出しの検出を含めて返します。

    7. function_callers - ターゲット関数を呼び出す関数を取得

    指定したターゲット関数を呼び出すすべての関数を、呼び出しタイプ(内部、外部、ライブラリ)ごとにグループ化して返します。これは function_callees の逆です。

    8. get_inherited_contracts - コントラクトの継承を取得

    コントラクトが継承するすべてのコントラクト(親と祖先)の再帰ツリーを返します。

    9. get_derived_contracts - このコントラクトを継承するコントラクトを取得

    コントラクトを継承するすべてのコントラクト(子と子孫)の再帰ツリーを返します。

    10. list_function_implementations - 関数の実装を検索

    複数のコントラクトにわたって、関数シグネチャのすべての実装を検索します。

    11. list_detectors - 利用可能な Slither ディテクタを一覧表示

    Slither ディテクタに関するメタデータ(名前、説明、影響レベル、信頼度評価)を返します。名前または説明によるフィルタリングをサポートします。

    12. run_detectors - フィルタリング付きでディテクタ結果を取得

    キャッシュされたディテクタ結果を返します。ディテクタ名、影響レベル(High、Medium、Low、Informational)、または信頼度レベル(High、Medium、Low)でフィルタリングできます。

    すべてのツールは、success ブール値と、データフィールドまたは error_message のいずれかを含むレスポンスを返します。詳細なスキーマと使用方法については、slither_mcp/tools/ 内の各ツールの実装を参照してください。

    クライアントの使用法

    slither-mcp パッケージには、Slither MCP サーバーとプログラム的にやり取りするための型付き Python クライアント(SlitherMCPClient)が含まれています。これは、Solidity プロジェクトを照会する必要があるツール、スクリプト、またはエージェントを構築する際に役立ちます。

    このクライアントが提供するもの:

    • すべての MCP ツールに対する型安全なメソッド
    • Pydantic モデルの自動シリアライズ/デシリアライズ
    • 一般的なパターンのためのヘルパーメソッド
    • pydantic-ai エージェント統合のためのツールラッパー

    詳細な使用例とドキュメントについては、CLIENT_USAGE.md を参照してください。

    要件

    • Python 3.11+
    • Solidity コンパイラのセットアップ(Foundry、Hardhat など)
    • Slither とその依存関係

    開発

    Pre-commit フック

    コミット前にリンティングを実行するための pre-commit フックをインストールします:

    root@kitploit:~
    pre-commit install
    

    テストの実行

    root@kitploit:~
    uv run pytest
    
    ツールをダウンロード