
Reversecore_MCP v3.0.3
セキュリティファーストのMCPサーバーであり、AIエージェントによる自動リバースエンジニアリング、マルウェア解析、フォレンジック、脆弱性調査、SASTを実現します。Radare2、YARA、LIEF、Capstone などによって動作します。
Reversecore MCP
Model Context Protocol による AI 搭載リバースエンジニアリング & セキュリティ分析
Claude や Cursor などの AI アシスタントに、自然言語を通じてリバースエンジニアリング、マルウェア解析、脆弱性調査、デジタルフォレンジック、ソースコード監査を実行する能力を与える MCP サーバー。
目次
- Reversecore MCP とは?
- アーキテクチャ
- ツールカタログ(151 ツール)
- ガイド付き分析プロンプト(22 モード)
- MCP リソース(11 URI)
- クイックスタート
- AI クライアントへの接続
- 設定
- セキュリティモデル
- 開発
- CI/CD パイプライン
- Docker ビルドアーキテクチャ
- システム要件
- プロジェクト構成
- エラーハンドリング
- 新しいツールの追加
- コントリビューション
- ドキュメント
- ライセンス
Reversecore MCP とは?
Reversecore MCP は、151 の分析ツールを AI アシスタントが自然言語を通じて呼び出せる単一のインターフェースにラップする Model Context Protocol サーバーです。
何十もの異なるツールのコマンドライン構文を覚える代わりに、やりたいことを記述するだけです:``` "Decompile the main function of this malware sample, extract all network IOCs, map the behavior to MITRE ATT&CK, and generate a triage report."
AIアシスタントはこれをツール呼び出しに分解します:```
r2_decompile("sample.exe", "main")
→ extract_iocs("sample.exe")
→ add_mitre_technique(technique_id="T1071.001", ...)
→ create_analysis_report(template_type="quick_triage")
各ツールは、AIが推論し、後続のクエリに連鎖させ、またはユーザー向けにレンダリングできる型付きデータを持つ構造化されたToolResult(ToolSuccessまたはToolErrorのいずれか)を返します。
対象範囲
| ドメイン | できること |
|---|---|
| 静的解析 | 逆アセンブル、逆コンパイル(r2ghidra)、バイナリ解析(LIEF)、パッカー検出(DIE)、ケイパビリティ検出(CAPA)、文字列抽出、ファームウェアスキャン(binwalk) |
| 動的・シンボリック | ESILエミュレーション、angrシンボリック実行、テイント解析、ファジングハーネス生成 |
| マルウェア解析 | IOC抽出、YARAスキャン、休眠バックドア検出、適応型ワクチン生成、自律的脆弱性ハンティング |
| 脆弱性リサーチ | 危険なAPI検出、ROPガジェット探索、ヒープエクスプロイト解析、クラッシュトリアージ、PoC生成 |
| デジタルフォレンジック | メモリフォレンジック(Volatility3)、PCAP解析(Scapy)、ディスクフォレンジック(Sleuth Kit)、アーティファクト相関 |
| ソースコード監査 | Python ASTスキャン、C/C++正規表現パターンスキャン |
| レポーティング | MITRE ATT&CKマッピング付きセッションベースレポート、SIGMAルール生成、VEXレポート、メール配信 |
アーキテクチャ```
AI Client (Claude / Cursor / any MCP-compatible client) │ MCP Protocol (stdio or HTTP/SSE) ▼ ┌──────────────────────────────────────────────────────┐ │ FastMCP 3.4.4 Server │ │ 151 registered tools · Fully async │ │ Python 3.10–3.12 │ ├────────────────────┬─────────────────────────────────┤ │ Guided Prompts │ Dynamic Resources │ │ (22 analysis │ (11 URI-based: per-binary │ │ modes) │ strings, IOCs, ASM, CFG, …) │ ├────────────────────┴─────────────────────────────────┤ │ Core Infrastructure │ │ Config · Security · Validators · Exceptions (17) │ │ R2 Pool · Metrics · Memory (SQLite) · Task Queue │ │ MITRE Mapper · Evidence Engine · Resilience Layer │ │ Arch Registry (x86/ARM/MIPS/RISC-V/PPC) │ │ Result Cache (SHA256) · Analysis Cache (Redis+SQL) │ │ SAST (Python AST + C/C++ Regex) · Plugin System │ ├──────────────────────────────────────────────────────┤ │ Analysis Engines │ │ Radare2 6.0.4 │ YARA 4.3.1 · LIEF · Capstone │ │ r2ghidra │ CAPA · angr · Qiling │ │ Volatility3 · Scapy│ DIE · Binwalk · Sleuth Kit │ │ pwntools · ROPgadget│ Keystone (assembler) │ └──────────────────────────────────────────────────────┘
サーバーは Python 3.10~3.12 をサポートしています。オプションの `angr` シンボリック実行エンジンは、安全な互換リリースが利用可能な Python 3.12 以降にインストールされます。Python 3.10 および 3.11 のインストールでは `angr` は省略されます。
### コアインフラストラクチャ (37 モジュール)
`reversecore_mcp/core/` ディレクトリには、すべてのツールが基盤とする共有インフラストラクチャが含まれています:
| モジュール | 目的 |
|---|---|
| `config.py` | 34 以上の環境変数を持つ Pydantic BaseSettings |
| `security.py` | 入力サニタイズ、コマンド引数の検証 |
| `validators.py` | TOCTOU 対策とシンボリックリンク解決を備えたファイルおよびバイナリパスの検証 |
| `r2_pool.py` | サイズ設定可能なスレッドセーフな Radare2 接続プール |
| `r2_helpers.py` | 構造化された Radare2 出力のパース |
| `metrics.py` | ツールごとの実行時間、呼び出し回数、エラー率、キャッシュ統計 |
| `memory.py` | セッションをまたいで分析結果を永続化する非同期 SQLite ベースの AI メモリストア |
| `mitre_mapper.py` | MITRE ATT&CK テクニック ID マッピングエンジン |
| `evidence.py` | 証拠分類システム: `OBSERVED`、`INFERRED`、`POSSIBLE` |
| `resilience.py` | リトライ、サーキットブレーカー、タイムアウトのデコレータパターン |
| `task_queue.py` | Redis + arq によるバックグラウンドタスクキュー |
| `extension_registry.py` | プラグインの登録とライフサイクル管理 |
| `arch_registry.py` | マルチアーキテクチャマッピング (x86、x86_64、ARM32、ARM64、MIPS、RISC-V、PPC → r2 arch/bits/registers) |
| `result_cache.py` | SHA256 ベースのツール結果キャッシュデコレータ (`@cache_tool_result`) |
| `analysis_cache.py` | 多層デコンパイルキャッシュ (L1: Redis、L2: SQLite) |
| `result.py` | `ToolSuccess` / `ToolError` Pydantic モデル |
| `exceptions.py` | `RCMCP-E*` エラーコードを持つ 17 の例外クラス |
| `decorators.py` | `@log_execution`、`@track_metrics` |
| `error_handling.py` | `@handle_tool_errors` デコレータ |
| `error_formatting.py` | 構造化されたエラーレスポンスのフォーマット |
| `execution.py` | タイムアウトと出力制限を備えた安全なサブプロセス実行 |
| `command_spec.py` | サブプロセス呼び出しのためのコマンド仕様 |
| `loader.py` | 動的ツールモジュールローダー |
| `plugin.py` | プラグインベースクラス |
| `extension.py` | 拡張ベースクラス |
| `container.py` | コンテナ/サンドボックス実行サポート |
| `audit.py` | 監査ログ |
| `binary_cache.py` | バイナリファイルのキャッシュ |
| `json_utils.py` | orjson による JSON シリアライゼーション (標準ライブラリの json より 3~5 倍高速) |
| `logging_config.py` | Loguru ベースの構造化ログ |
| `report_generator.py` | レポートレンダリングエンジン (Markdown、xhtml2pdf による PDF) |
| `resource_manager.py` | MCP リソースのライフサイクル管理 |
| `sast/python_ast_scanner.py` | Python AST ベースの脆弱性スキャナ |
| `sast/regex_scanner.py` | C/C++ 正規表現ベースの脆弱性スキャナ |
| `sast/rule_manager.py` | SAST ルールの読み込みと管理 |
---
## ツールカタログ (151 ツール)
> 📖 **[権威あるツールカタログ & パラメータリファレンス (151 ツール)](https://github.com/sjkim1127/reversecore_mcp/blob/main/docs/TOOLS.md)**
> 📊 **[ツールプロファイルフットプリント & コンテキストベンチマークマトリックス](https://github.com/sjkim1127/reversecore_mcp/blob/main/docs/benchmarks/profile_footprint.md)**
すべてのツールは構造化された `ToolResult` を返します — 型付きの `data` を持つ `ToolSuccess` か、`RCMCP-E*` エラーコードを持つ `ToolError` のいずれかです。ツールは 5 つのモジュラー実行プロファイル (`full`、`static`、`malware`、`forensics`、`vuln-research`) にわたる 11 のドメインプラグインに整理されています: