Fathom について
Fathom は、特定プロバイダーに依存しない Rust 製のリバースエンジニアリング向け MCP サーバーです。ネイティブバイナリ、アプリ、アセンブリ、キャプチャ、バイトコード、プロセス動作を分析し、観測、推論、未調査の範囲や確認できない事項を区別して示します。
主な機能
- 01ネイティブバイナリの分析
- 02JavaScript と Electron の分析
- 03.NET アセンブリのメタデータ検査
- 04プロセスキャプチャと HAR の読み取り
- 05EVM セレクターの検査
- 06結果に証拠情報を付与
活用シーン
- 01ネイティブバイナリを分析
- 02JavaScript または Electron アプリを調査
- 03.NET アセンブリを調査
- 04プロセスキャプチャや Web HAR ファイルを確認
MCP 対応
Fathom は MCP の stdio とストリーム可能な HTTP トランスポートを通じて、リバースエンジニアリング機能を提供します。結果には、観測事項、推論、未調査の範囲、プロバイダーが確認できない事項を示す証拠情報が含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
fathom
REA(Reverse Engineer Anything)のRust移植版です。リバースエンジニアリング向けの、プロバイダーに依存しないMCPサーバーです。ネイティブバイナリ、JavaScript/Electronアプリケーション、.NETアセンブリ、Webキャプチャ、EVMバイトコード、プロセスの挙動を扱います。すべての結果は、観測した内容、そこから導き出した内容、調査していない内容、プロバイダーが確定できない内容を明示するエビデンス・エンベロープです。
設計はSPEC.mdで規定されています。上流の公開コントラクトから対応能力の一覧を作成し、能力ごとのRust戦略、エビデンスとエラーのモデル、決定論的なフェイルクローズ型ポリシーエンジン、段階的な実施計画を定めています。設計の出典はmorluto/rea(MIT)で、NOTICEに記載しています。上流のコードは使用していません。
Rust移植版の理由
上流のREAはTypeScript/Nodeで実装され、npm経由で配布されています。この移植版は、Rustを優先した、バージョンを固定できる監査可能なサプライチェーン上でこの機能を維持するためにあります。これは、プロジェクト全体の基本方針です(SPEC §1)。
構成
fathom-core— 設定、エラーコントラクト、エビデンスモデル、ポリシー、ツールレジストリ、実行環境の隔離、制限付きプロセス。fathom-mcp— MCPの標準入出力およびストリーム可能なHTTPトランスポート。fathom-a2a— 署名付きA2Aエージェントカード(JCS + Ed25519)。fathom-native— Ghidraヘッドレスプロバイダー + バイナリレイアウト(goblin)。fathom-js— JavaScript/Electronの静的解析(oxc)+ ASAR。fathom-managed— .NET PE/CLIメタデータ(ECMA-335を手動で処理)。fathom-observe— プロセスのキャプチャ、HARの読み込み、EVMセレクター。fathom-cli—fathomバイナリ(serve、card、doctor、単発解析)。
ビルド
nix build # or: nix develop, then cargo build --workspace
cargo test --workspace
ライセンス
このプロジェクトはApache License, Version 2.0の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。