eidolon について
Eidolon は、自分のデジタルフットプリントの確認や、許可を得たセキュリティ評価に使う OSINT スキャナーです。約 25 の情報源を集約し、レポートの文章にはローカル LLM を使い、リスク評価と認証情報の記録は決定論的に生成します。
主な機能
- 01約 25 の OSINT 情報源を集約
- 02MITRE ATT&CK へのマッピング
- 03AI 学習へのデータ利用可能性を表示
- 04決定論的なリスク評価と認証情報記録
- 05Markdown、PDF、JSON で出力
活用シーン
- 01メールやアカウントの情報漏えい確認
- 02許可を得た対象のデジタルフットプリント評価
- 03公開情報から想定される攻撃経路の確認
MCP 対応
Eidolon は stdio 経由でローカル実行される MCP サーバーで、対象のスキャン、状態確認、履歴一覧、レポート取得、明示的な認証情報の表示を行うツールを提供します。認証情報は既定で伏せられます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Eidolon
Eidolon は、プライバシーを最優先に、デジタルフットプリントを見つけて把握するためのアプローチです。このスタックでは、OSINT ツールを使って検索パラメーターに基づく情報を収集し、その結果をローカルの LLM がレポートにまとめます。LLM はお使いのマシン上で動作するため、データが外部サービスに送信されたり、お使いの環境の外に出たりすることはありません。データはご自身で管理できます。
機能
- 約25の OSINT ソース(情報漏えい、流出した認証情報、データブローカー、アカウントの列挙、公開記録、電話番号/メールアドレスの情報、公開ホストなど)を集約し、単一のリスクレポートにまとめます。
- 調査結果をMITRE ATT&CKにマッピングし、公開された情報を攻撃者が実際にどう悪用できるかを確認できます。
- AI トレーニングへの情報露出(どのプラットフォームがデータをトレーニングに使用する可能性があるか、オプトアウトする方法)を検出します。
- リスクスコアリングと流出した認証情報の詳細情報は、LLM ではなくスキャン状態に基づいて構築される決定論的な処理です。そのため、LLM に問題が発生してもレポートは作成されます。モデルは説明文のみを生成します。
- Markdown、PDF、JSON を出力します。
MCP ネイティブ
Eidolon はMCPサーバーとして動作するため、任意の MCP クライアント(Claude Desktop、Claude Code)から操作できます。対象のスキャン、過去のスキャンの一覧表示、レポートの確認を会話形式で行えます。ローカルで stdio 経由で動作し、データがお使いの環境の外に出ることはありません。
ツール:scan_target、scan_status、list_scans、get_report、reveal_credentials。スキャンには数分かかるため、scan_target はすぐに scan_id を返し、バックグラウンドで実行します。scan_status(scan_id) を呼び出して、done が報告されるまで状態を確認し、その後 get_report(scan_id) を呼び出してください。流出した認証情報の詳細情報(情報漏えいデータから取得された平文パスワード)はデフォルトで伏せられ、reveal_credentials を明示的に呼び出した場合にのみ返されます。
要件
以下はすべて任意です。Eidolon は、指定された設定に応じて動作し、ソースごとに、トークンがないため確認できなかったのか、それとも確認した結果何も見つからなかったのかを知らせます。
- Python 3.11+ と uv(必須)
- ローカル LLM による説明文の生成には Ollama:
ollama pull llama3.1:8b。停止している場合も、レポートは決定論的に作成されます(説明文は生成されません)。 - 稼働中の SpiderFoot インスタンス。到達できない場合はスキップされます。
- API キーについては
.env.exampleをご覧ください。各キーを設定すると1つのデータソースが有効になり、キーがない場合は問題なくスキップされます(レポートには「未確認 — X を設定してください」と記載されます)。キーなしでもスキャンは実行されますが、得られる情報は限られます。
初めての方は、セットアップと設定ガイドから始めてください。取得すべきキー、それぞれの費用、有効になる機能について説明しています。
クイックスタート
git clone https://github.com/sudohnim/eidolon && cd eidolon
uv sync
cp .env.example .env # fill in your keys
# scan yourself from the CLI
uv run eidolon --email [email protected]
# or run the MCP server (stdio)
uv run eidolon-mcp
Claude Desktop から使用する
オプション 1 — ローカルのクローンから(cwd から .env を読み込みます):
{
"mcpServers": {
"eidolon": {
"command": "uv",
"args": ["run", "eidolon-mcp"],
"cwd": "/absolute/path/to/eidolon"
}
}
}
オプション 2 — uvx 経由で PyPI から(推奨。クローンは不要です)。キーは env ブロックに渡してください。
{
"mcpServers": {
"eidolon": {
"command": "uvx",
"args": ["--from", "eidolon-osint", "eidolon-mcp"],
"env": {
"HIBP_API_KEY": "...",
"DEHASHED_API_KEY": "...",
"OLLAMA_HOST": "http://localhost:11434"
}
}
}
}
オプション 3 — GitHub から直接(プレリリース/最新のコミット):
{
"mcpServers": {
"eidolon": {
"command": "uvx",
"args": ["--from", "git+https://github.com/sudohnim/eidolon", "eidolon-mcp"],
"env": {
"HIBP_API_KEY": "...",
"DEHASHED_API_KEY": "...",
"OLLAMA_HOST": "http://localhost:11434"
}
}
}
}
お持ちのキーだけを追加してください。残りは問題なくスキップされます。その後、Claude に「自分のメールアドレスをスキャンして」と依頼すると、scan_target を呼び出し、scan_status で状態を確認して、レポートを読み込みます。
仕組み
LangGraph パイプラインを使用します:intake → wave 1 scans → wave 2 scans → MITRE mapping → correlation → analysis → report。CLI と MCP サーバーはどちらも同じ run_scan() コアを呼び出し、読み取りには小規模なリポジトリレイヤーを使用します。アーキテクチャや今後の予定(状態を保持する履歴、継続的な監視)については、docs/ROADMAP.mdをご覧ください。
想定される用途
Eidolon は、ご自身をスキャンする場合、または評価について明示的な許可を得た対象(許可を得たセキュリティテスト、ご自身のフットプリント)をスキャンする場合に使用します。情報漏えいデータから取得した平文パスワードを含む、実際の秘密情報が表示されます。**本人の同意なしに、人物のプロファイリングや監視に使用しないでください。**設定するデータソースの利用規約と適用法令を遵守する責任は、利用者にあります。
ライセンス
AGPL-3.0。変更を加えたバージョンをネットワークサービスとして運用する場合は、ユーザーにそのソースコードを提供する必要があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。