Volatility3 Mcp Server について
Volatility3 Mcp Server は、Volatility 3 のメモリフォレンジック用プラグインを MCP 経由で利用できるサーバーです。Windows、Linux、macOS のメモリダンプを分析するセキュリティ担当者向けで、非同期実行や JSON 出力に対応します。
主な機能
- 01Windows、Linux、macOS のプラグイン実行
- 02フォレンジックプラグインの非同期実行
- 03JSON 形式での結果出力
- 04プラグインの登録と拡張
- 05エラー処理と入力検証
活用シーン
- 01メモリダンプ内のプロセスやネットワーク情報の調査
- 02マルウェアやファイルシステム関連のスキャン
- 03クロスプラットフォームのメモリ分析の自動化
MCP 対応
FastMCP を介して Volatility 3 のプラグイン実行機能を MCP クライアントに公開します。stdio と SSE のトランスポートで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
❄️ Volatility MCP サーバー
📌 概要
Volatility MCP サーバーは、Volatility 3 を活用した強力なメモリフォレンジック自動化ツールキットです。Windows、Linux、macOS のメモリダンプに対して Volatility プラグインを実行するための、モジュール式で拡張可能なインターフェースを提供します。
以下の機能により、メモリ解析をより迅速かつ手軽に行えます。
✅ プラグインの自動化
✅ クロスプラットフォーム対応(Windows、Linux、macOS)
✅ モジュール式のプラグインアーキテクチャ
✅ 見やすい形式での詳細なログ記録
✅ プラグインの登録と管理が簡単
💡 主な機能
- 🔍 Volatility 3 を活用
- 🧠 Windows、Linux、macOS のプラグインに対応
- ⚙️ 非同期プラグイン実行
- 📤 JSON 出力形式
- 📊 エラー処理と検証機能を内蔵
- 👨💻 FastMCP サーバーインターフェース
- 🐳 Docker 対応環境
📦 要件
python 3.11+
pip install -r requirements.txt
requirements.txt:
fastmcp
rich
python-dotenv
📁 プロジェクト構成
Volatility-MCP-Server/
├── volatility_mcp_server.py # Main server implementation
├── plugins/ # Plugin modules
│ ├── base_plugin.py # Base plugin class
│ ├── plugin_factory.py # Plugin registration
│ ├── windows/ # Windows plugins
│ ├── linux/ # Linux plugins
│ ├── mac/ # macOS plugins
│ └── common/ # Common plugins
├── requirements.txt # Dependencies
└── README.md # This file
🖥️ 使い方
🔧 ローカル接続
stdio を使用する場合
次の内容で .cursor/mcp.json ファイルを作成します。
{
"mcpServers": {
"Volatility3": {
"command": "fastmcp",
"args": ["run", "path/to/volatility_mcp_server.py:mcp", "--transport", "stdio"]
}
}
}
sse を使用する場合
次のコマンドでサーバーを実行します。
fastmcp run volatility_mcp_server.py:mcp --transport sse
Claude デスクトップアプリの場合
{
"mcpServers": {
"volatility3": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8000/sse"]
}
}
}
Cursor の場合
{
"mcpServers": {
"Volatility3": {
"url": "http://localhost:8000/sse"
}
}
}
📊 利用可能なプラグイン
Windows プラグイン
- プロセス:
PsList、PsTree、PsScan - メモリ:
Malfind、MemMap - ネットワーク:
NetScan - レジストリ:
RegistryHiveList、RegistryPrintKey - システム:
SvcScan、CmdLine、DllList、Handles、FileScan - ディスク:
ADS、MFTScan、ResidentData
Linux プラグイン
- プロセス:
PsList、PsTree、PsScan、PsAux、PsCallStack - システム:
Bash、Boottime、Capabilities - ネットワーク:
IpAddr、IpLink、Netfilter - メモリ:
Malfind、ModuleExtract - ファイルシステム:
Files、InodePages、RecoverFs
macOS プラグイン
- プロセス:
PsList、PsTree、Psaux - システム:
Bash、Dmesg、Lsmod - ネットワーク:
Ifconfig、Netstat - セキュリティ:
Check_syscall、Check_sysctl、Check_trap_table
共通プラグイン
- フレームワーク:
Banners、ConfigWriter、FrameworkInfo、IsfInfo、LayerWriter - スキャン:
RegExScan、YaraScan、Vmscan - タイムライン:
Timeliner
🐳 Docker の使い方(何をしようとしていたのか分かりませんが、将来役立つかもしれません)
⚙️ 1. Docker イメージをビルドする
ルートディレクトリから実行します。
docker build -t volatility-mcp .
▶️ 2. サーバーを実行する
docker run --rm -it \
-v $(pwd)/memdumps:/memdumps \
-v $(pwd)/output:/output \
volatility-mcp
🔧 開発者/コントリビューター向けガイド
🧱 仮想環境をセットアップする
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
🧪 ローカルで実行する
python volatility_mcp_server.py
✍️ カスタマイズのヒント
- 📀 新しいプラグインを追加するには、
BasePluginを拡張し、plugin_factory.pyに登録します。 - 🧩 新しい OS を追加するには、新しいプラグインディレクトリを作成し、プラグインを実装します。
- 📚 新機能を追加するには、モジュール式アーキテクチャにより簡単に拡張できます。
🙋 よくある質問
🟠 Volatility 2.x に対応していますか?
🔻 いいえ。このサーバーは、最新のプラグインに対応するため、Volatility 3 のみをサポートしています。
🔵 カスタムプラグインを追加できますか?
✅ はい!BasePluginクラスを拡張し、ファクトリーに登録してください。
🔴 FastMCP を使う理由は何ですか?
適切なエラー処理と非同期処理のサポートを備え、Volatility プラグインを実行するための、シンプルで効率的なインターフェースを提供します。
📜 ライセンス
MIT ©️ 2025
🌐 ほかのツール
こちらもおすすめです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。