Ghostmcp について
Ghostmcp は、Windows プロセスのリバースエンジニアリング向けに注入して使う MCP サーバーです。メモリ調査、逆アセンブル、デバッグ、コード注入を複数サーバーのツール群にまとめており、実験段階です。
主な機能
- 01プロセスメモリの読み書きとスキャン
- 02メモリダンプと差分比較
- 03バイナリの逆アセンブルと調査
- 04ブレークポイントと動的デバッグ
- 05コードの実行と注入
- 06API 呼び出しのトレース
活用シーン
- 01プロセス内の値を探して変更
- 02メモリダンプやポインタ経路を分析
- 03関数呼び出しを追跡してブレークポイントを設定
- 04バイナリ内のコードや文字列を調査
MCP 対応
Ghostmcp は互換性のある MCP クライアントに、プロセス調査、メモリ操作、静的解析、デバッグ、コード注入のツールを提供します。複数サーバー構成で、破壊的操作には安全トークンが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Ghost-MCP 👻
バイナリに話しかけましょう。 プロセスを AI に指定して、あとは任せましょう。
Ghost-MCP は、Windows 向けのバイブリバースエンジニアリング用アシスタントとして機能する、インジェクション可能な MCP(Model Context Protocol)サーバーです。メモリの検査、逆アセンブル、デバッグ、コードインジェクションを単一のツールにまとめており、MCP 互換の AI クライアントであればどれでも利用できます。対象プロセスにインジェクションし、自然な会話を通じて操作できます。
⚠️ 実験段階:このプロジェクトは非常に実験的で、現在も開発中です。API は予告なく変更される場合があり、機能が未完成または不安定である可能性があります。また、ドキュメントが現在の状態を反映していない場合があります。自己責任でご利用ください。
何ができますか?
AI アシスタントに、次のようなことを頼めます。
- 「このゲームの体力の値を見つけて、100 に固定して」
- 「この文字列を参照している関数をすべて表示して」
- 「MessageBoxA にブレークポイントを設定して、呼び出されたら教えて」
- 「このアドレスにある関数を逆アセンブルして、何をしているか説明して」
- 「このアドレスにつながるポインターをすべて見つけて」
技術的な詳細は AI が処理します。何をしたいかを伝えるだけです。
マルチサーバーアーキテクチャ
Ghost-MCP は、MCP クライアントの制限内に収めながら 250 以上のツールを提供するため、モジュール式のマルチサーバーアーキテクチャを採用しています。
| サーバー | ポート | ツール | 用途 |
|---|---|---|---|
| ghost-core-mcp | 13340 | 85 | メモリ、デバッグ、実行、安全性 |
| ghost-analysis-mcp | 13341 | 82 | スキャン、ポインター、ダンプ、構造体 |
| ghost-static-mcp | 13342 | 84 | Radare2、IDA、Ghidra、AI、YARA |
| ghost-extended-mcp | 13343 | 85 | インジェクション、アンチデバッグ、入力、スピードハック |
クイックセットアップ:
- エージェントは
13338でリッスンします。コアサーバーはstdioを使用し、分析サーバーと静的解析サーバーは TCP を使用します。 scripts/launch-mcp.ps1で、1 つまたはすべてのサーバーを起動します。- 破壊的な操作には安全トークンが必要です。
safety_request_tokenを呼び出してから、token_idを含めてください。
機能
メモリ操作(Cheat Engine 形式)
値の特定やメモリ操作に必要な機能をすべて備えています。
- メモリの読み書き(整数、浮動小数点数、文字列、バイト列を自動的に型変換)
- 領域の列挙(読み取り可能、書き込み可能、実行可能などの保護フラグ付き)
- パターンスキャン(AOB ワイルドカード対応:
48 8B ?? ?? 90) - 複雑なデータ構造向けのポインターチェーン解決
パターンスキャンと YARA
マルウェア分析やシグネチャスキャン向けの高度なパターンマッチング機能です。
- AOB スキャン(ワイルドカード対応の Array of Bytes スキャン)
- 文字列スキャン(ASCII、Unicode(UTF-16)、UTF-8 のパターンに対応)
- 正規表現パターン(バイトレベルのマッチング。
yara機能が必要) - YARA 統合(ルールを読み込み、メモリに対して実行)
- シグネチャデータベース(名前付きパターンを保存、インポート、エクスポート)
- 名前付きシグネチャ(タグや説明を付けてパターンを整理)
メモリダンプと分析
PE の再構築に対応した、プロセスメモリの完全なダンプ機能です。
- プロセス全体のダンプ(コミット済みのメモリ領域をすべて取得)
- 選択した領域のダンプ(特定のアドレス範囲を対象)
- モジュールのダンプ(PE を再構築して DLL/EXE を抽出)
- ミニダンプの作成(WinDbg 互換形式)
- 増分ダンプ(スナップショット間の変更を追跡)
- バイナリ差分(ダンプを比較して変更点を特定)
- パターン検索(AOB パターンを使ってダンプ内を検索)
- 注釈(興味深い位置をブックマークし、ラベルを付与)
- PE の再構築(Scylla 形式のインポートテーブル再構築)
- ダンプカタログ(複数のダンプを整理、管理)
高度な値スキャナー
セッション管理機能を備えた、Cheat Engine スタイルのフル機能スキャナーです。
- 12 種類のスキャンモード:完全一致、変更あり、変更なし、増加、減少、より大きい、より小さい、範囲内、初期値不明、あいまい検索など
- 反復スキャン:複数回のスキャンを通じて結果を絞り込めます
- スマートフィルター:書き込み可能のみ、実行可能、モジュールのみ、カスタムアドレス範囲に対応します
- 高速スキャンモード:アラインメントに基づくスキップにより、4 倍以上の高速化を実現します
- リアルタイムの進捗表示:進捗をリアルタイムで追跡し、キャンセルできます
- エクスポート/インポート:結果を JSON、CSV、Cheat Engine XML として保存できます
ポインタースキャナー(Cheat Engine スタイル)
動的アドレスへの安定したポインターパスを見つけます。
- マルチレベルスキャン:深度(1~10 レベル)を設定してポインターチェーンを検索できます
- 静的ベースフィルター:再起動後も有効な、モジュール相対ポインターのみを対象にできます
- オフセット制約:最大オフセットとアラインメントオプションを設定できます
- ポインターの再スキャン:プロセスの再起動後にパスを検証し、安定性をスコア化します
- 安定性スコア:再スキャンを通じたポインターの有効性を追跡します(スコア:0.0~1.0)
- セッション比較:スキャンセット間で共通する有効なポインターを見つけます
- ポインター解決:チェーンをたどり、解決したアドレスの値を読み取ります
- エクスポート/インポート:JSON、CSV、または Cheat Engine ポインター形式(.ptr)に対応します
- ページネーション:設定可能な上限により、大量の結果を扱えます
- 進捗追跡:進捗をリアルタイムで更新し、キャンセルできます
静的解析(IDA Pro スタイル)
プロのようにコードを解析できます。
- 逆アセンブル:Capstone エンジンを使用します(
disasm_at、disasm_function) - 逆コンパイル:Hex-Rays スタイルの疑似 C コードを生成します
- モジュール検査:すべての DLL と、そのエクスポートおよびインポートを一覧表示します
- シンボル解決:DbgHelp による PDB の読み込みと、完全なスタックウォークに対応します
- クロスリファレンス:任意のアドレスを参照するすべての CALL/JMP/LEA を見つけます
- 文字列抽出:任意のモジュールから ASCII/Unicode 文字列を抽出します
動的デバッグ(x64dbg スタイル)
外部デバッガーを使わず、プロセス内で完全なデバッグを行えます。
- ソフトウェアブレークポイント:INT3 を挿入し、バイトを自動的に復元します
- ハードウェアブレークポイント:DR0~DR3 デバッグレジスターを使用します(4 スロット)
- シングルステップ実行:トラップフラグに基づき、命令ごとに実行します
- スレッド制御:任意のスレッドを一覧表示、一時停止、再開できます
- レジスターアクセス:すべての x64 レジスター(RAX~R15、RIP、RFLAGS)を読み書きできます
- スタックウォーク:シンボル解決に対応した完全なコールスタックを取得できます
直接実行とコードインジェクション
ターゲットプロセス内で任意のコードを実行できます。
- アセンブラー:iced-x86 を使用して、x86/x64 のテキストをバイト列にアセンブルします(純粋な Rust 製で、活発にメンテナンスされています)
- 一般的な命令をサポートします:MOV、ADD、SUB、XOR、PUSH、POP、CALL、JMP、条件ジャンプなど
- 複数の構文に対応します:改行またはセミコロンで命令を区切ります
- 16 進数の即値:
0x1234または1234h形式 - 関数呼び出し用のシェルコード生成ヘルパー(x64 Windows ABI)
- 関数呼び出し:すべての呼び出し規約(cdecl、stdcall、fastcall、win64、thiscall)をサポートします
- 動的解決:GetProcAddress スタイルの検索とキャッシュに対応します
- シェルコード実行:複数の実行方法に対応します
- 現在のスレッドで直接呼び出す
- 新しいスレッド(CreateThread、NtCreateThreadEx)
- APC インジェクション
- スレッド乗っ取り
- メモリー管理:実行可能メモリーの割り当て、書き込み、解放を行います
- コードケーブ:未使用の実行可能領域を見つけて利用します
- システムコール抽出:ntdll スタブからシステムコール番号を直接取得します
- リモート実行:他のプロセスにコードを注入します
プロセスとセッションの管理
ターゲットプロセスを完全に制御できます。
- プロセス一覧表示:フィルタリングしながら、実行中のプロセスを列挙します
- プロセス起動:プロセスを起動します(通常または一時停止状態)
- アタッチ/デタッチ:名前または PID でプロセスに接続します
- 複数の起動モード:Normal、Suspended、Debug、Delayed、WaitForModule に対応します
プロセスとシステムの詳細調査
プロセスの内部を詳細に確認できます。
- プロセスの詳細情報:PID、パス、アーキテクチャ、スレッド数/ハンドル数、PEB アドレス
- PEB へのアクセス:BeingDebugged フラグ、イメージベース、ローダーデータ、OS バージョン情報
- メモリマップ:保護属性と領域タイプを含む、仮想メモリレイアウト全体の表示
- スレッドの詳細調査:列挙、TEB へのアクセス、TLS スロット、優先度情報
- モジュールの詳細情報:ベースアドレス、サイズ、エントリーポイント、バージョン情報
- ウィンドウの列挙:タイトル、クラス、スタイル、階層、フィルタリング
- トークンの分析:ユーザー SID、特権、昇格状態、整合性レベル
- 特権の操作:SeDebugPrivilege などの特権の有効化/無効化
- 環境へのアクセス:環境変数と作業ディレクトリの読み取り
MCP メタコマンド
自己検出と詳細調査に対応します。
- 機能の検出:カテゴリ別に利用可能なすべてのツールを一覧表示
- ドキュメント:任意のツールの詳細なヘルプと使用例を取得
- ヘルスチェック:エージェントとの接続とスクリプトエンジンの状態を確認
- バージョン情報:サーバーのバージョンとビルド情報
AI/LLM 双方向コマンドサポート
AI による分析とシームレスに連携できます。
- コマンドの一括実行:条件付きの複数ステップのコマンドシーケンスを実行
- コマンド履歴:以前のコマンドを照会して再実行
- イベントのサブスクリプション:ブレークポイントへのヒット、例外、メモリの変更、フックのトリガーを監視
- AI に適した要約:操作結果をコンテキストに応じて要約
- 差分レポート:状態(メモリ、レジスタ、モジュール)を構造化された差分で比較
- エラーの説明:自然言語によるメッセージと修正案を提示
- デバッグセッション:調査結果、仮説、次のステップを含む対話形式のデバッグ
- ブレークポイントの推奨:AI によるブレークポイント位置の提案
- 脆弱性分析:セキュリティパターンを自動検出
- パターン学習:コードパターン、動作、データ構造を保存して呼び出し
拡張フック手法
関数をインターセプトするための包括的なフックツールキットです。
- インラインフック:トランポリンベースのデトア(5/14 バイトのジャンプ)、関数途中へのフック、ホットパッチ、INT3 ブレークポイントフック
- IAT/EAT フック:インポート/エクスポートアドレステーブルのフックと列挙
- VEH/PAGE_GUARD フック:ベクター例外処理を介した、ハードウェアを使用しないメモリブレークポイント
- システムコールフック:ntdll スタブのパッチ適用によるシステムコールのインターセプト
- シェルコードの生成:位置独立コードのテンプレート(関数の呼び出し、ライブラリのロードなど)
- シェルコードのエンコード:XOR エンコーダーとデコーダースタブの生成
- ROP ガジェットファインダー:ロード済みモジュールからリターン指向プログラミングのガジェットを検索
- フック管理:有効化/無効化、チェーン、複数のフック操作をアトミックに行うトランザクション
API 呼び出しのトレースと監視(Rohitab API Monitor 形式)
引数のデコードに対応した、Win32 API 呼び出しの完全なトレースです。
- トレースセッション:トレースの作成、開始、停止、一時停止、再開
- イベントパイプライン:設定可能なリングバッファーとバックプレッシャー戦略(最古のイベントを破棄、ブロック、サンプリング)
- API パック:kernel32、user32、ntdll、ws2_32、advapi32 用の JSON ベースの定義
- サーバー側フィルタリング:API 名、モジュール、スレッド、戻り値による対象の包含/除外
- パターンマッチング:前方一致、後方一致、部分一致、ワイルドカード、正規表現に対応
- フィルタープリセット:組み込みプリセット(ファイル操作、ネットワーク、レジストリ、エラーのみ)とカスタムプリセット
- 統計情報:API ごとの呼び出し回数、実行時間、成功率/失敗率
- キューの監視:キューの深さ、破棄数、1 秒あたりのイベント数
高度なプロセス監視
詳細な分析のための拡張監視機能:
- 動的 API 監視 により、GetProcAddress/LdrGetProcedureAddress の解決を追跡します
- プロセスの一時停止 により、静的解析のためにスレッドを停止/再開します(すべて、特定、またはフィルター指定)
- COM オブジェクトのスキャン により、vtable 解析を使用して COM インターフェイスを検出し、列挙します
- DLL 監視 により、コールスタックとともに LoadLibrary/FreeLibrary のイベントを記録します
- 遅延インポート により、遅延 DLL 読み込み(__delayLoadHelper2)をスキャンして監視します
API のオーバーライドと条件付きブレークポイント
条件制御による、パラメーターと戻り値の完全な操作:
- 条件付きブレークポイント は、呼び出し前/後のタイミング、引数/戻り値の条件、スレッド ID フィルターに対応します
- 複合条件 では、AND/OR/NOT のロジックや、ヒット回数のトリガー(N 回目の呼び出し、N 回ごとの呼び出し)を使用できます
- パラメーターのオーバーライド により、整数、ブール値、ポインター、文字列(ANSI/Unicode)、バッファーを変更し、NULL を注入できます
- 戻り値のオーバーライド により、戻りコードの変更、HRESULT/NTSTATUS ヘルパー、SetLastError の制御が可能です
- 一時停止の仕組み により、スレッドを連携させ、タイムアウトを設定して自動的に続行できます
- 監査証跡 では、すべての変更と変更前/変更後の値を完全に記録し、JSON/CSV にエクスポートできます
高度なパターンマッチング
強力な命令レベルの検索機能:
- 命令シーケンス により、ワイルドカードのニーモニックとオペランドの照合を使用してコードパターンを検索します
- オペランド検索 により、レジスターの種類、即値、メモリーオペランドを基準に命令を検索します
- 即値検索 により、範囲照合とアライメントオプションを使用して、コード/データ内の値を特定します
- 文字列検索 では、大文字と小文字の区別を制御して ASCII/UTF-16 パターンを照合します
- 相互参照検索 により、アドレスへのすべてのコード/データ参照を検索します
- 統合検索 では、大規模な結果セットに対してカーソルページネーションを使用できます
安全性とガードレール
事故を防ぐための包括的な安全システム:
- 安全モード には、Educational(危険な操作をブロック)、Standard(承認が必要)、Expert(制限を最小限に抑制)があります
- 保護対象プロセス では、システムプロセス(csrss、lsass、svchost など)を自動検出してブロックします
- レート制限 では、グローバル操作にトークンバケットアルゴリズムを使用し、書き込み操作には個別のスロットリングを適用します
- サイズ制限 では、読み取り/書き込み/スキャン操作の上限を設定でき、上限の 80% に達すると警告します
- 承認ワークフロー では、危険な操作に対してトークンベースの明示的な承認を必須にします
- パッチ履歴 では、
patch_undoツールを使用して完全に元に戻せます - ドライランプレビュー では、適用前に
patch_previewを使用してパッチをプレビューできます - 自動バックアップ により、状態を自動的にバックアップし、クラッシュから復旧できます
DLL インジェクション(ghost-loader 経由)
柔軟なインジェクションオプション:
- LoadLibraryExW による標準的な Windows インジェクション
- プロセスへのアタッチ は、PID、名前、またはプロセス待機で行えます
- 起動モード には、Normal、Suspended、Debug、Delayed、WaitForModule があります
- x86/x64 サポート により、32 ビットと 64 ビットの両方のプロセスに対応します
外部 RE ツールとの連携
お好みのリバースエンジニアリングツールに接続できます:
- Radare2 は、r2pipe と完全に統合されています(クロスプラットフォーム)
- Ghidra は、ヘッドレスモードまたは ghidra-pipe 経由の JSON-RPC で使用できます
- IDA Pro は、idalib 経由で使用できます(IDA v9.x が必要です)
- 統合 API により、すべてのバックエンドで一貫したインターフェイスを提供します
アーキテクチャ
Ghost-MCP は、MCP の約 100 ツールという上限を超えないようにしながら、250 以上のツールを提供するモジュール型マルチサーバーアーキテクチャを採用しています:
┌─────────────────────────────────────────────────────────────────────────────┐
│ AI CLIENTS │
│ Claude Desktop │ Cursor │ Windsurf │ Custom │
└───────┬─────────────┬─────────────┬─────────────┬───────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ghost-core-mcp │ │ghost-analysis │ │ghost-static │ │ghost-extended │
│ Port 13340 │ │ Port 13341 │ │ Port 13342 │ │ Port 13343 │
│ 85 tools │ │ 82 tools │ │ 84 tools │ │ 85 tools │
│ Memory, Debug │ │ Scanner, Dump │ │ R2, IDA, AI │ │ Inject, Input │
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ │ │ │
└─────────────────┴─────────────────┴─────────────────┘
│ IPC (TCP localhost:13338)
▼
┌─────────────────────────────────────────────────────────────────┐
│ LAYER 2: INJECTED AGENT │
│ ghost-agent.dll │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ ghost-core (static library) │ │
│ │ Memory │ Disasm │ Debug │ Hooks │ Scanner │ Exec │ │
│ └──────────────────────────────────────────────────────────┘ │
└───────────────────────────────┬─────────────────────────────────┘
│ Direct Access
▼
┌─────────────────────────────────────────────────────────────────┐
│ TARGET PROCESS │
│ (game.exe, app.exe, etc.) │
└─────────────────────────────────────────────────────────────────┘
モジュール型サーバー
| サーバー | ポート | ツール | 目的 |
|---|---|---|---|
| ghost-core-mcp | 13340 | 85 | ライブプロセス:メモリ、デバッグ、実行、安全性 |
| ghost-analysis-mcp | 13341 | 82 | 解析:スキャン、ポインター、ダンプ、構造 |
| ghost-static-mcp | 13342 | 84 | 静的解析:Radare2、IDA、Ghidra、AI、YARA |
| ghost-extended-mcp | 13343 | 85 | 拡張機能:インジェクション、アンチデバッグ、入力、スピードハック |
各サーバーには4つの共有メタツール(mcp_capabilities、mcp_documentation、mcp_version、mcp_health)が含まれ、MCP の90ツール制限を下回ります。
この設計の理由
- 安全性:エージェントが小さく、クラッシュに強いためです。負荷の高い処理はホスト側で行われます
- 柔軟性:同じコアをインジェクションされた DLL としても、スタンドアロンの EXE としても使用できます
- AI フレンドリー:構造化された JSON 応答、ページネーション、明確なエラーメッセージを備えています
クイックスタート
1. ビルド
cargo build --release
2. ターゲットにインジェクション
ghost-loader.exe --target game.exe
3. AI クライアントを接続
Claude Desktop の設定(%APPDATA%\Claude\claude_desktop_config.json)に追加します:
{
"mcpServers": {
"ghost-core": {
"command": "path/to/ghost-core-mcp.exe",
"args": ["--transport", "stdio"]
},
"ghost-analysis": {
"command": "path/to/ghost-analysis-mcp.exe",
"args": ["--port", "13341"]
},
"ghost-static": {
"command": "path/to/ghost-static-mcp.exe",
"args": ["--port", "13342"]
},
"ghost-extended": {
"command": "path/to/ghost-extended-mcp.exe",
"args": ["--port", "13343"]
}
}
}
お気に入りの AI とターゲットプロセスについてチャットを始めましょう。
4. セットアップを確認
# Validate all server registries
.\scripts\launch-mcp.ps1 -ValidateOnly
# Or launch everything with one command
.\scripts\launch-mcp.ps1 -Target game.exe
コンポーネント
| コンポーネント | 説明 |
|---|---|
| ghost-host | AI クライアントと通信し、コマンドを振り分ける MCP サーバー |
| ghost-core | RE のプリミティブをすべて含む静的ライブラリ |
| ghost-agent | ターゲットプロセス内で実行されるインジェクション済み DLL |
| ghost-loader | 複数の方式に対応した DLL インジェクター |
| ghost-common | 共有型、IPC プロトコル、機能システム |
| ghost-mcp-common | 共有 MCP サーバー基盤(レジストリ、設定、ヘルスチェック) |
| ghost-core-mcp | ライブプロセスツール用のモジュール型 MCP サーバー(85ツール、ポート13340) |
| ghost-analysis-mcp | 解析ツール用のモジュール型 MCP サーバー(82ツール、ポート13341) |
| ghost-static-mcp | 静的解析ツール用のモジュール型 MCP サーバー(84ツール、ポート13342) |
| ghost-extended-mcp | 拡張機能用のモジュール型 MCP サーバー(85ツール、ポート13343) |
| ghost-re-backends | Radare2、Ghidra、IDA との統合 |
| ghost-test-target | 既知のメモリレイアウトを持つテストアプリケーション |
| ghost-mcp-client | テストと自動化のための CLI MCP クライアント |
開発とテスト
# Run all tests (370+ unit tests)
cargo test --workspace
# Build release binaries
cargo build --release
# Format and lint
cargo fmt --all --check
cargo clippy --workspace -- -D warnings
テストスタック
多層的なテスト手法を採用しています。
- ユニットテスト:コアモジュールでは、メモリ操作、パターンマッチング、逆アセンブル、フック、IPC、型変換を網羅的にテストします
- 統合テスト:
tests/integration/で、インジェクション、メモリの読み書き、パターンスキャン、ブレークポイント、フックなど、エンドツーエンドのフローを検証します - IPC ファジング:
tests/integration/ipc_fuzzing.rsで、不正なメッセージやランダムなメッセージを使ってプロトコルに負荷をかけます - CI パイプライン:GitHub Actions で、プッシュのたびにテストスイート全体を実行します
テスト対象
| コンポーネント | テスト内容 |
|---|---|
ghost-test-target | 既知のメモリレイアウト、エクスポートされた関数、デバッグシンボルを持つダミーアプリ |
ghost-mcp-client | 手動テスト、スクリプトによる自動化、リグレッションチェック用の CLI |
# CLI testing examples
ghost-client --stdio --host-binary ./target/release/ghost-host tools
ghost-client --stdio --host-binary ./target/release/ghost-host call mcp_version
ghost-client --stdio --host-binary ./target/release/ghost-host repl
設計原則
- 安全性を最優先し、ターゲットプロセスを決してクラッシュさせません
- AI を最優先し、構造化された出力、明確なエラー、ページネーションを備えます
- モジュール化し、ホスト、コア、エージェントを明確に分離します
- 拡張性を備え、トレイトベースの設計によりバックエンドを簡単に切り替えられます
セキュリティモデル
Ghost-MCP は、包括的な安全ガードレールを備えた、機能ベースのセキュリティモデルを採用しています。
機能スコープ
| 機能 | リスク | 操作 |
|---|---|---|
| read | 低 | メモリ読み取り、モジュール一覧、イントロスペクション(デフォルト) |
| write | 中 | メモリ書き込み、パッチ操作 |
| execute | 高 | 関数呼び出し、シェルコード、リモートスレッド |
| debug | 中 | ブレークポイント、スレッドの一時停止/再開、ステップ実行 |
| admin | 高 | 安全モードの変更、エージェントの再接続 |
安全トークン
破壊的な操作には、認可のための安全トークンが必要です。
- クライアントがトークンをリクエストします:
safety_request_token(scope: "write", ttl_secs: 300) - エージェントがクライアントに必要な権限があることを検証し、トークンを発行します
- クライアントは以降の書き込み操作に
token_idを含めます - トークンは自動的に期限切れになるか、クライアントが明示的に解放します
トークンのTTLは設定可能(最大24時間)で、安全性を最大限に高めるため、一度だけ使用できます。
安全モード
| モード | 説明 | 危険な操作 |
|---|---|---|
| 教育用 | 学習向けの最大限の制限 | ブロック |
| 標準 | 承認ワークフローを備えたデフォルトモード | 承認が必要 |
| エキスパート | 経験豊富なユーザー向けの最小限の制限 | 許可 |
安全ツール
| ツール | 説明 |
|---|---|
safety_status | 現在のモード、統計、保留中の承認を表示します |
safety_set_mode | 教育用/標準/エキスパートを切り替えます |
safety_approve | 保留中の危険な操作を承認します |
patch_history | このセッションで適用されたすべてのパッチを表示します |
patch_undo | 任意のパッチについて元のバイト列を復元します |
patch_preview | パッチ適用前にドライランでプレビューします |
標準モードでは、危険な操作に明示的な確認が必要です。承認要件を無効にするには、safety_set_mode expertを使用してください。
ユースケース
- セキュリティ研究:脆弱性分析、エクスプロイト開発、ファジング
- マルウェア分析:動的解析、アンパック、アンチデバッグの回避
- ゲームハッキング:値のスキャン、ポインター解決、トレーナー
- ソフトウェアテスト:障害注入、動作の変更、カバレッジ分析
- 学習:プログラムがバイナリレベルでどのように動作するかを理解する
責任ある使用
Ghost-MCPは、プロセス内部への深いアクセスを可能にする強力なツールです。その力には責任が伴います。
想定される使用方法
- 教育目的:リバースエンジニアリングを学び、ソフトウェアがバイナリレベルでどのように動作するかを理解する
- セキュリティ研究:自分が所有するソフトウェア、またはテストの明示的な許可を得たソフトウェアの脆弱性を分析する
- ゲームの改造:個人的に楽しむ目的で、シングルプレイヤーゲームやオフラインゲームを改変する
- ソフトウェア開発:自作アプリケーションのデバッグ、エッジケースのテスト、パフォーマンスの分析を行う
禁止されている使用方法
- オンラインマルチプレイヤーゲームでの不正行為 - オンラインゲームで不当な優位性を得るために、このツールを使用しないでください
- 保護機能の違法な回避 - 自分が所有していないソフトウェアのDRM、ライセンス、セキュリティ対策を回避しないでください
- 悪意のある活動 - マルウェアの開発、不正アクセス、その他の違法な目的に使用しないでください
- 利用規約への違反 - 利用するソフトウェアのEULAおよびToSを遵守してください
使用が管轄区域の適用法令および規制に準拠していることを確認する責任は、すべてご自身にあります。
コントリビューション
コントリビューションを歓迎します。以下の手順に従ってください。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/your-feature) - 変更をコミットします(
git commit -m 'Add your feature') - ブランチにプッシュします(
git push origin feature/your-feature) - プルリクエストを作成します
提出前にcargo fmt --allおよびcargo clippy --workspace -- -D warningsを実行してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。