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(必須): 関係を取得するURLrelationship(必須): 照会する関係の種類利用可能な関係: 分析、コメント、通信ファイル、接続ドメイン、接続 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
必要な 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貢献
リポジトリをフォークする
機能ブランチを作成する (
git checkout -b feature/amazing-feature)変更をコミットします(
git commit -m 'Add amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
ライセンス
このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。
謝辞
APIと脅威インテリジェンスプラットフォームを提供してくれたVirusTotal
サーバーフレームワークのMCPプロジェクト
貢献者とメンテナー
サポート
サポートについては、以下をご覧ください。
ドキュメントを確認する
既存の問題を検索
必要に応じて新しい問題を作成してください
安全
APIキーや機密性の高い認証情報を決してコミットしないでください
設定には環境変数を使用する
脅威インテリジェンスデータを扱う際は、セキュリティのベストプラクティスに従う