ユーザー名から人物関連情報を横断的に集めるOSINTツールには、Sherlock や WhatsMyName、Maigret など複数の選択肢があります。初見のエンジニアにとっては、「何ができるのか」「どう違うのか」「自プロジェクトに組み込んでよいのか」を判断するための材料が散逸しており、最初の一次選別に時間がかかりがちです。
特に Sherlock 経験者が「対応サイトが少ない」「レポート機能が弱い」と感じて代替を探すケースでは、Maigret という名前を見かけても、機能差・メンテナンス状況・ライセンスの実用性まで一気通貫で把握できる日本語の判断材料は多くありません。日本語記事は使い方解説に偏りがちで、採用可否の判断軸そのものを整理した情報が不足しています。
本記事では、公式 README・公式ドキュメント・GitHub のリポジトリメタ情報を一次情報として、Maigret の概要・仕組み・主要機能・Sherlock や WhatsMyName との違い・メンテナンス状況・採用検討時の確認項目を整理します。動作検証は行わず、公開情報ベースで「採用すべきか/別ツールに進むか」を判断するための材料を提供することを目的とします。
詳細は GitHub の公式リポジトリ(soxoj/maigret)も併せて参照してください。
Maigret とは:ユーザー名から人物ファイルを構築する OSINT 用 OSS
Maigret は、ユーザー名(alias)ひとつを入力として、対象人物の「dossier(人物ファイル)」を構築する OSINT 用の OSS です。GitHub のリポジトリ説明には次のように記載されています。
🕵️♂️ Collect a dossier on a person by username from 3000+ sites (出典: soxoj/maigret)
Sherlock のように「指定 URL にユーザー名が存在するか」を確認するだけでなく、検出したプロフィールページから名前・所在地・他プロファイルへのリンクなどを抽出し、ユーザー名を起点に人物像を組み立てる点が特徴です。プロジェクトの正式なポジショニングは公式サイト maigret.dev でも案内されています。
何ができるツールか(1 行サマリ)
ユーザー名 1 つから 3,000 以上のサイトを横断的に調べ、検出したアカウントの情報を抽出し、HTML や PDF など複数フォーマットでレポートを生成する OSINT ツールです。API キーの取得は不要で、CLI と Web UI の両方が用意されています。
リポジトリ概況(Stars / License / Language / 最新更新)
GitHub API から取得した最新のリポジトリメタ情報は次のとおりです。
項目 | 値 |
|---|---|
owner/name | soxoj/maigret |
Stars | 26,363 |
Forks | 1,846 |
主要言語 | Python |
ライセンス | MIT |
最新リリース | v0.5.0(2026-04-29) |
最終 push | 2026-05-07 |
ステータス | active / public / not archived |
スター数 26,000 超・直近で push が継続している点から、現時点ではアクティブにメンテナンスされている OSS と判断できます。
Maigret の仕組み:3,000 サイト横断 × プロフィール抽出 × 再帰検索
Maigret の中核は、単純な存在チェックを超えた 3 段構造の処理にあります。「サイト横断の検出」「プロフィールページからの情報抽出」「発見した識別子を起点とする再帰検索」を組み合わせることで、ユーザー名から人物ファイルを段階的に膨らませていく設計です。
段階 | 役割 |
|---|---|
検出 | 3,000 以上のサイトを横断し、対象ユーザー名のアカウント有無を判定 |
抽出 | 検出したプロフィールページや API レスポンスから、名前・所在地・他プロファイルへのリンクなどの属性情報を抽出 |
再帰検索 | 抽出した別ユーザー名や ID を起点に、追加の検索を自動実行 |
加えて、検閲や CAPTCHA の検出と部分的な回避、サイトデータベースの自動更新(GitHub から 24 時間ごと)など、実運用で問題になりやすい挙動への配慮も組み込まれています。各機能の詳細は公式ドキュメントの Features ページに記述されています。
検出: 3,000+ サイト・タグ/カテゴリ/国フィルタ
デフォルトではトラフィック上位の約 500 サイトを対象に検索し、-a フラグを付与すると 3,000 以上のサイト全件を対象に切り替わります。--tags オプションで photo, dating, finance などのカテゴリや、us などの国コードでサイトを絞り込めるため、調査の用途に応じてスコープを調整できます。
抽出: プロフィールページからの情報抽出
検出されたサイトに対しては、プロフィールページや公開 API のレスポンスをパースして属性情報を抽出します。これにより、URL の存在確認だけでは得られない「同一人物が運用している可能性のある別アカウント」「公開プロフィールに書かれた所在地・氏名」などのコンテキストを取得できます。
再帰検索: 発見した ID を起点に追加検索
抽出フェーズで見つかった別ユーザー名や ID は、新しい検索シードとして再帰的に処理されます。1 つの入力ユーザー名から関連プロファイルが芋づる式に展開されるため、初期入力が少なくても調査範囲を広げられます。
堅牢性: 検閲・CAPTCHA 検出、自動データベース更新(24h)
検閲や CAPTCHA の発生を検出して警告する機構、--self-check --auto-disable による全サイトの自己診断、サイトデータベースの 24 時間ごとの自動更新など、サイト側の挙動変化に追随するための仕組みが用意されています。
主要機能と出力フォーマット
Maigret は CLI フラグで出力フォーマットを切り替えられ、人間レビュー用のリッチなレポートと、後段処理向けの機械可読フォーマットの両方を提供します。
フラグ | 出力形式 | 主な用途 |
|---|---|---|
| HTML レポート(グラフ付き) | 人間によるレビュー |
| PDF レポート | 報告書・配布用 |
| XMind 8 マインドマップ | 調査ノートのビジュアル化 |
| NDJSON | データパイプライン取り込み |
| シンプル JSON | プログラム処理 |
| CSV | 表計算・BI ツール連携 |
| TXT | ログ・差分比較 |
| インタラクティブ D3 グラフ(HTML) | 関係性の可視化 |
代表的な CLI 例は README から次のように確認できます。
# 基本
maigret USERNAME
# レポート生成
maigret user --html
maigret user --pdf
maigret user --xmind
# 機械可読出力
maigret user --json ndjson
maigret user --csv
# タグフィルタ
maigret user --tags photo,dating
# Web UI
maigret --web 5000
(出典: soxoj/maigret README および 公式 CLI options)
出力フォーマット(HTML/PDF/XMind/NDJSON ほか)
NDJSON や CSV は後段の集計・データウェアハウスへの取り込みに適し、HTML / PDF / XMind / D3 グラフは人間レビューや報告書の素材として使い分けられます。同じ調査結果を異なる視聴者に出し分けたい場合に、追加の整形処理を書かずに済む点が運用上のメリットです。
AI 要約モード(OpenAI 互換 API)
--ai フラグと OPENAI_API_KEY 環境変数を組み合わせると、検索結果に対する短い investigation summary を OpenAI 互換 API から取得できます。要約は人間レビューの前段として、調査の全体像を素早く把握する用途で使われます。AI 要約の利用時のみ API キーが必要であり、それ以外の機能はキー不要で動作します。
Web UI(--web)
maigret --web 5000 で内蔵 Web UI を起動でき、検索の実行・グラフ可視化・全フォーマットでのレポートダウンロードを 1 ページから操作できます。Docker イメージ soxoj/maigret:web も用意されており、CLI に不慣れなメンバーが調査に参加する場合の入口として利用できます。
インストールと最小構成での利用
Maigret は pip / Docker / Windows Standalone EXE / クラウド環境(Google Cloud Shell / Replit / Jupyter Colab / Binder)/ Telegram Bot など、複数の入手経路を備えています。ランタイム要件は Python 3.10 以上(3.11 推奨)です。
手段 | コマンド・補足 |
|---|---|
pip |
|
ソース |
|
Docker(CLI) |
|
Docker(Web UI) |
|
Windows | Releases ページの standalone EXE |
クラウド | Google Cloud Shell / Replit / Jupyter Colab / Binder |
Telegram Bot | インストール不要(公式 Bot 経由) |
最小構成の実行例は次のとおりで、ユーザー名のみを引数に渡すと既定の上位 500 サイトに対して検索が走ります。
# 基本検索
maigret USERNAME
# HTML レポートを生成
maigret user --html
(出典: soxoj/maigret README)
pip でのインストール
Python パッケージとしてセットアップする場合、pip install maigret で導入し、CLI コマンド maigret がそのまま利用できます。後段のパイプラインに組み込む際は、CLI ではなくライブラリとして呼び出す方式も提供されています(Library usage)。
Docker(CLI・Web UI)
依存環境を分離したい場合は Docker イメージを利用します。CLI は soxoj/maigret:latest、Web UI は soxoj/maigret:web と用途別にタグが分かれており、社内環境で隔離して運用する用途に適しています。
クラウド・Telegram Bot(インストール不要の選択肢)
Google Cloud Shell・Replit・Jupyter Colab・Binder などのクラウド環境からそのまま利用できる導線も用意されています。ローカルセットアップの権限がないメンバーが調査の体験をする入口として、または短期的な調査ジョブの隔離環境として有効です。Telegram Bot もインストール不要の選択肢として案内されています。
Sherlock など類似ツールとの違い
採用判断で最も問われるのは、より知名度の高い Sherlock との差分です。Maigret は Sherlock からフォークされた経緯を持ち、「ユーザー名 lookup」から「人物ファイル構築」へと目的を再設計しています。比較データセット型の WhatsMyName とも併せて、ポジショニングを整理します。
観点 | Sherlock | WhatsMyName | Maigret |
|---|---|---|---|
Stars | 約 83.1k | 約 2.5k | 26.4k |
種別 | CLI ツール | データセット(JSON) | CLI + Web UI ツール |
対応サイト数 | 約 400 | データセットのみ | 3,000+ |
プロフィール情報抽出 | なし(URL 存在チェックのみ) | データ提供のみ | あり |
再帰検索 | なし | なし | あり |
出力フォーマット | CSV / XLSX / JSON / TXT | JSON データ | HTML / PDF / XMind / NDJSON / JSON / CSV / TXT / D3 |
Web UI | なし | なし | あり |
AI 要約 | なし | なし | あり(オプション) |
Tor / I2P | なし | 該当なし | あり |
ライセンス | MIT | CC BY-SA 4.0 | MIT |
Sherlock との比較(対応サイト数・出力・抽出能力)
Sherlock は「ユーザー名が指定 URL に存在するか」を高速に確認する軽量ツールであり、対応サイト数は約 400・出力は CSV / XLSX / JSON / TXT に絞られています。Maigret は対応サイト数が約 7.5 倍、プロフィール抽出と再帰検索を備え、HTML / PDF / XMind / D3 グラフを含むリッチなレポート群と Web UI・AI 要約モードを持ちます。コミュニティの比較記事でも「Sherlock は素早い lookup、Maigret は調査ノート」という整理が見られます(出典: A Comparison of Username Search OSINT Tools – Medium)。
WhatsMyName との位置関係(ツール vs データセット)
WhatsMyName は 2023 年 5 月にチェッカースクリプトを削除し、現在は wmn-data.json を中心とするサイト検出ルールのデータセットとして提供されています。Spiderfoot / Maltego / sn0int / Naminter など、別のツールに取り込まれて利用される上流データソースという位置付けで、エンドユーザーが直接実行するツールではありません。Maigret は内部 DB を独自管理しているため、WhatsMyName とは直接競合せず補完関係にあると整理できます。
どちらを選ぶべきか(用途別)
- 「URL の存在確認だけで十分」「依存を最小化したい」 → Sherlock が候補
- 「人物像の組み立てまで一気通貫で行いたい」「複数フォーマットでレポートを出したい」「Web UI を社内に提供したい」 → Maigret が候補
- 「自前のツールに検出ルールだけ取り込みたい」 → WhatsMyName のデータセットを上流に置く構成
メンテナンス状況とライセンス:採用前に確認すべきこと
採用判断の最終確認では、メンテナンスの継続性とライセンスの実用性を確かめておく必要があります。Maigret は直近のリリース・コミットが活発で、商用ツールやコミュニティ系プロジェクトでも採用されています。
指標 | 値 |
|---|---|
最新リリース | v0.5.0(2026-04-29) |
最終 push | 2026-05-07 |
Open Issues | 43 |
Open PRs | 16 |
累積コミット | 1,300+ |
ライセンス | MIT |
アクティビティ指標(直近 commit・リリース・Issue 残)
直近 2 週間以内に v0.5.0 がリリースされ、メインブランチへの push も継続しています。Open Issue 43 / Open PR 16 という残件はあるものの、コミット履歴と合わせて判断すれば「停止プロジェクトではない」と評価できる水準です。最新の状態は GitHub のリリースページで確認できます。
ライセンスと利用上の注意(MIT・OSINT 用途の倫理面)
ライセンスは MIT のため、商用利用・改変・再配布が可能です。一方で公式 README・公式サイトには「教育的・合法的な目的のみ」「GDPR / CCPA など現地法令への準拠は利用者の責任」という旨が明示されています。商用システムへの組込時は、対象範囲・記録保持・データ削除ポリシーの設計と、自社法務による利用範囲の確認が前提となります。
エコシステム採用事例(Bellingcat 掲載・派生商用ツール)
Maigret は調査ジャーナリズムで知られる Bellingcat の Online Investigation Toolkit に掲載されています。また、Social Links Crimewall や UserSearch といった商用ツールが Maigret をベースに構築されており、OSS としてのコアが商用エコシステムでも採用されている点は、技術選定上の補強材料となります。
採用検討時の確認チェックリスト
社内決裁や法務確認に持ち込みやすいよう、Maigret を自プロジェクトに組み込むかどうかを判断する際の確認項目を整理します。
- ランタイムとして Python 3.10 以上(3.11 推奨)を用意できるか
- 出力フォーマット(NDJSON / CSV / JSON / HTML / PDF / XMind / D3 グラフ)が後段の処理・レビュー体制と整合するか
- 検索対象のスコープ(デフォルト 500 サイト or
-aで 3,000+ 全件)と所要時間がユースケースに合うか - 対象サイトの利用規約・レート制限・現地法令(GDPR / CCPA / 日本の個人情報保護法等)への適合と、調査ログの保存期間・削除ポリシーの設計
- MIT ライセンスでの商用利用にあたり、「教育的・合法的目的のみ」「準拠は利用者責任」という注意事項を社内ハンドリング(利用申請フロー・免責文言)に反映できるか
- AI 要約を利用する場合の OpenAI 互換 API キーの管理・コスト・データ送出ポリシー
- 自社プロダクトに組み込む場合、CLI 経由か Library usage のライブラリ経由か、どちらの統合方式が適切か
まとめ
Maigret は「3,000+ サイト横断の検出」「プロフィール情報の抽出」「発見した識別子からの再帰検索」を組み合わせ、ユーザー名 1 つから人物ファイルを構築することに特化した OSINT 用 OSS です。Sherlock の「URL 存在チェック」、WhatsMyName の「データセット提供」とは目的・提供物が異なり、調査ノートとして使い込むためのレポート群と Web UI・AI 要約モードを備えている点で独自のポジションを占めます。
メンテナンスは直近リリース・push ともにアクティブで、ライセンスは MIT、Bellingcat や派生商用ツールにも採用されています。採用検討の次の一歩としては、公式 Quick start で導入手順を確認し、必要に応じて PyPI ページ からパッケージのバージョン情報を参照したうえで、自社の用途・対象範囲・法務要件に照らして適合性を判定する流れが現実的です。



