Skip to main content
Glama

VirusTotal MCP サーバー

鍛冶屋のバッジ

VirusTotal API へのクエリを実行するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、関係性データの自動取得機能を備えた包括的なセキュリティ分析ツールを提供します。Claude DesktopなどのMCP対応アプリケーションとシームレスに統合されます。

クイックスタート(未定)

Smithery経由でインストール

Smithery経由で Claude Desktop 用の virustotal-mcp を自動的にインストールするには:

npx -y @smithery/cli install @emeryray2002/virustotal-mcp --client claude

手動でインストールする

未定

Related MCP server: ADEO CTI MCP Server

特徴

  • 包括的な分析レポート: 各分析ツールは、基本レポートとともに関連する関係データを自動的に取得し、1回のリクエストで完全なセキュリティ概要を提供します。

  • URL分析: アクセスしたドメイン、ダウンロードしたファイル、脅威アクターを自動的に取得するセキュリティレポート

  • ファイル分析: 動作、ドロップされたファイル、ネットワーク接続を含むファイルハッシュの詳細な分析

  • IP分析: 履歴データ、解決策、関連する脅威を含むセキュリティレポート

  • ドメイン分析: DNS情報、WHOISデータ、SSL証明書、サブドメイン

  • 詳細な関係分析: ページネーションをサポートする特定の種類の関係を照会するための専用ツール

  • 高度な検索: VirusTotalデータセット全体にわたる複雑なクエリのためのVT Intelligence検索機能

  • 豊富なフォーマット: 分析結果と関係データを明確に分類して提示します

ツール

レポートツール(自動関係取得機能付き)

1. URLレポートツール

  • 名前: get_url_report

  • 説明: セキュリティスキャンの結果と主要な関係(通信ファイル、接続されたドメイン/IP、ダウンロードされたファイル、リダイレクト、脅威アクター)を含む包括的な URL 分析レポートを取得します。

  • パラメータ:

    • url (必須): 分析するURL

  • 例:

await get_url_report(url="http://example.com/suspicious")

2. ファイルレポートツール

  • 名前: get_file_report

  • 説明: ハッシュ(MD5/SHA-1/SHA-256)を用いた包括的なファイル分析レポートを取得します。検出結果、ファイルプロパティ、主要な関係(動作、ドロップされたファイル、ネットワーク接続、埋め込みコンテンツ、脅威アクター)が含まれます。

  • パラメータ:

    • hash (必須): ファイルのMD5、SHA-1、またはSHA-256ハッシュ

  • 例:

await get_file_report(hash="44d88612fea8a8f36de82e1278abb02f")

3. IPレポートツール

  • 名前: get_ip_report

  • 説明: 地理位置情報、評判データ、主要な関係(通信ファイル、履歴証明書/WHOIS、解決)を含む包括的な IP アドレス分析レポートを取得します。

  • パラメータ:

    • ip (必須): 分析するIPアドレス

  • 例:

await get_ip_report(ip="8.8.8.8")

4. ドメインレポートツール

  • 名前: get_domain_report

  • 説明: DNSレコード、WHOISデータ、主要な関係(SSL証明書、サブドメイン、履歴データ)を含む包括的なドメイン分析レポートを取得します。

  • パラメータ:

    • domain (必須): 分析するドメイン名

  • 例:

await get_domain_report(domain="example.com")

関係ツール(詳細分析用)

1. URL関係ツール

  • 名前: get_url_relationship

  • 説明: ページ区切りをサポートする URL の特定の関係タイプを照会します

  • パラメータ:

    • url (必須): 関係を取得するURL

    • relationship (必須): 照会する関係の種類

      • 利用可能な関係: 分析、コメント、通信ファイル、接続ドメイン、接続 IP、ダウンロード ファイル、グラフ、最後のサービス IP アドレス、ネットワークの場所、参照元ファイル、参照元 URL、リダイレクト URL、リダイレクト先、関連コメント、関連参照、関連脅威アクター、提出

    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)

    • cursor (オプション):ページ区切りの継続カーソル

  • 例:

await get_url_relationship( url="http://example.com/suspicious", relationship="communicating_files", limit=20 )

2. ファイル関係ツール

  • 名前: get_file_relationship

  • 説明: ページ区切りをサポートするファイルの特定の関係タイプを照会します

  • パラメータ:

    • hash (必須): ファイルのMD5、SHA-1、またはSHA-256ハッシュ

    • relationship (必須): 照会する関係の種類

      • 利用可能な関係: 分析、動作、バンドル ファイル、carbonblack_children、carbonblack_parents、暗号化バンドル ファイル、暗号化親、手がかり、コレクション、コメント、圧縮親、連絡済みドメイン、連絡済み IP、連絡済み URL、ドロップされたファイル、メール添付ファイル、メール親、埋め込みドメイン、埋め込み IP、埋め込み URL、実行親、グラフ、itw_domains、itw_ips、itw_urls、メモリ パターン ドメイン、メモリ パターン IP、メモリ パターン URL、オーバーレイ チャイルド、オーバーレイ ペアレント、pcap_children、pcap_parents、pe_resource_children、pe_resource_parents、関連参照、関連脅威アクター、類似ファイル、提出、スクリーンショット、埋め込み js の URL、投票

    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)

    • cursor (オプション):ページ区切りの継続カーソル

  • 例:

await get_file_relationship( hash="44d88612fea8a8f36de82e1278abb02f", relationship="behaviours", limit=20 )

3. IP関係ツール

  • 名前: get_ip_relationship

  • 説明: ページネーションをサポートするIPアドレスの特定の関係タイプを照会します

  • パラメータ:

    • ip (必須): 分析するIPアドレス

    • relationship (必須): 照会する関係の種類

      • 利用可能な関係: コメント、通信ファイル、ダウンロードされたファイル、グラフ、過去の SSL 証明書、過去の Whois、関連コメント、関連参照、関連脅威アクター、リファラー ファイル、解決策、URL

    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)

    • cursor (オプション):ページ区切りの継続カーソル

  • 例:

await get_ip_relationship( ip="8.8.8.8", relationship="communicating_files", limit=20 )

4. ドメイン関係ツール

  • 名前: get_domain_relationship

  • 説明: ページネーションをサポートするドメインの特定の関係タイプを照会します

  • パラメータ:

    • domain (必須): 分析するドメイン名

    • relationship (必須): 照会する関係の種類

      • 使用可能な関係: caa_records、cname_records、comments、communicating_files、downloaded_files、historical_ssl_certificates、historical_whois、immediate_parent、mx_records、ns_records、parent、referrer_files、related_comments、related_references、related_threat_actors、resolutions、soa_records、siblings、subdomains、urls、user_votes

    • limit (オプション、デフォルト:10):取得する関連オブジェクトの最大数(1~40)

    • cursor (オプション):ページ区切りの継続カーソル

  • 例:

await get_domain_relationship( domain="example.com", relationship="historical_ssl_certificates", limit=20 )

5. 高度な検索ツール

  • 名前: advanced_corpus_search

  • 説明: VT Intelligence クエリ構文を使用して、VirusTotal データセット全体で高度な検索を実行します。

  • パラメータ:

    • query (必須): VT Intelligenceの検索クエリ文字列

    • limit (オプション、デフォルト:20):ページごとに返される結果の最大数

    • cursor (オプション):ページ区切りの継続カーソル

    • descriptors_only (オプション): true の場合、完全なオブジェクトではなくオブジェクト記述子のみを取得します。

  • 例:

await advanced_corpus_search( query="type:peexe size:100kb+ positives:5+", limit=20, cursor=None )

要件

  • Python >= 3.11

  • 有効なVirusTotal APIキー

  • 必要な Python パッケージ:

    • aiohttp >= 3.9.0

    • mcp[cli] >= 1.4.1

    • python-dotenv >= 1.0.0

    • タイピング拡張機能 >= 4.8.0

エラー処理

サーバーには、次の包括的なエラー処理が含まれています。

  • 無効なAPIキー

  • レート制限

  • ネットワークエラー

  • 無効な入力パラメータ

  • 無効なハッシュ形式

  • 無効なIP形式

  • 無効なURL形式

  • 無効な関係タイプ

  • ページ区切りエラー

発達

開発モードで実行するには:

python -m virustotal_mcp

貢献

  1. リポジトリをフォークする

  2. 機能ブランチを作成する ( git checkout -b feature/amazing-feature )

  3. 変更をコミットします( git commit -m 'Add amazing feature'

  4. ブランチにプッシュする ( git push origin feature/amazing-feature )

  5. プルリクエストを開く

ライセンス

このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。

謝辞

  • APIと脅威インテリジェンスプラットフォームを提供してくれたVirusTotal

  • サーバーフレームワークのMCPプロジェクト

  • 貢献者とメンテナー

サポート

サポートについては、以下をご覧ください。

  1. ドキュメントを確認する

  2. 既存の問題を検索

  3. 必要に応じて新しい問題を作成してください

安全

  • APIキーや機密性の高い認証情報を決してコミットしないでください

  • 設定には環境変数を使用する

  • 脅威インテリジェンスデータを扱う際は、セキュリティのベストプラクティスに従う

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emeryray2002/virustotal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server