OpenOSINT について
OpenOSINTは、セキュリティ研究者や分析者向けのOSINT調査エージェントです。自然言語で21種類のツールを連携し、受動的な調査を既定としながら、結果の根拠となるツール呼び出しを示します。
主な機能
- 01自然言語によるツール連携
- 0221種類の調査ツール
- 03受動モードが既定
- 04Markdown・PDFレポート
- 05REPL、CLI、ブラウザーUI
活用シーン
- 01ドメインやIPの露出調査
- 02漏えい情報や公開アカウントの確認
- 03インフラやDNSレコードの調査
MCP 対応
MCPサーバーは、互換性のあるAIクライアントに調査ツールを公開します。受動的なツールが既定で提供され、能動的なツールには明示的な有効化が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx openosintANTHROPIC_API_KEYシークレットAnthropic API key — required for the AI agent REPLHIBP_API_KEYシークレットHaveIBeenPwned API key for breach detection (search_breach tool)IPINFO_TOKENシークレットipinfo.io token for higher IP lookup rate limits (search_ip tool)IP2LOCATION_API_KEYシークレットIP2Location API key for enhanced IP intelligence (search_ip2location tool)ABUSEIPDB_API_KEYシークレットAbuseIPDB API key for IP abuse reputation checks (search_abuseipdb tool)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
20掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| string | はい | ||
| json_output | boolean | いいえ | 結果を構造化 JSON として返します。 |
詳細
mcp-name: io.github.OpenOSINT/openosint
OpenOSINT
セキュリティ研究者やアナリスト向けのOSINT(オープンソースインテリジェンス)エージェントです。自然言語インターフェースから利用できる21種類の調査ツールに加え、MCP(Model Context Protocol)サーバーも備えており、MCP対応のAIクライアントから直接操作できます。
REPL、CLI、MCPサーバー、ブラウザーのWeb UIとして利用できます。
ツールの結果は実際の実行から得られ、各調査結果には、その結果を生成したツール呼び出しが表示されます。AIによる要約は検証が必要な手がかりであり、証拠ではありません。
このエンジンを基盤とするホスト版:
- Monitor:ドメインのメール認証、TLS、セキュリティヘッダー、類似ドメインを定期的に外部からチェックし、状況が悪化した場合にメールで通知します。1ドメインまで無料です。
- Diligence:英国企業およびLEIを持つすべての企業について、公式登録情報や制裁リストをもとにデューデリジェンスに役立つ情報を提供します。それぞれの情報には出典と取得時刻が示されます。
ドキュメント: https://openosint.tech/docs/
OpenOSINTは、公開情報を受動的に調査するオープンソースエンジンです。ホスト型製品はこのエンジンを基盤としており、以下はすべて無料で、MITライセンスのもとで提供されています。
セルフホスト(無料、MIT)
pip install openosint
# Grade a domain's external exposure A-F (no API key, no AI provider)
openosint exposure example.com
# Interactive AI REPL (default)
openosint
# Web interface
openosint web
ライブデモを試す → — Anthropic/OpenRouter/Ollamaのキーをお持ちください。登録は不要です。
使い方
REPLを起動して任意のターゲットを調査します。エージェントが実行するツールを判断し、調査結果に応じてツールを連鎖的に実行します。
openosint > investigate example.com
-> search_dns('example.com')
-> search_whois('example.com')
-> search_rdap('example.com')
Report saved -> reports/2026-05-11_14-32-11_report.md
機能
| 機能 | 詳細 |
|---|---|
| AI ツールの連鎖実行 | エージェントが調査結果に基づいてツールを選択し、連鎖させます。対象を自然な言葉で説明してください |
| 21 個のモジュール型ツール | メール、ユーザー名、漏えい情報、WHOIS、RDAP、IP、サブドメイン、検索演算子、ペーストサイト、電話番号、Shodan、VirusTotal、Censys、IP2Location、AbuseIPDB、GitHub、DNS、GDELT ニュースの地理情報、リアルタイム検索演算子検索、URL スクレイピング、SERP フットプリント |
| 3 種類の AI バックエンド | Anthropic Claude(デフォルト)、ローカルの Ollama、または OpenAI 互換エンドポイント(LiteLLM、vLLM、LM Studio など) |
| ネイティブ MCP サーバー | 21 個のツールのうち、16 個はパッシブで、デフォルトで有効です。サーバーはデフォルトで 20 個(この 16 個にグラフおよびバッチ処理用ヘルパー 4 個を加えたもの)、--allow-active を指定すると 25 個を一覧表示します(デフォルトでパッシブ)。uvx で実行でき、別途インストールする必要はありません |
| 並列実行 | --parallel を指定すると、asyncio.gather() を使って関連するツールを並行して実行します |
| レポート | 各調査の後に PDF と Markdown を自動保存します(reportlab はオプション) |
| セッション履歴 | すべての REPL セッションは ~/.openosint/history/ に保存されます。openosint history で参照できます |
| Web UI | ストリーミング出力、ツールカード、ライト/ダークテーマに対応したブラウザベースの AI チャット |
調査結果は地球儀上にリアルタイムで表示されます。点をクリックすると次の調査に移れます。より高画質な MP4 を見る。
決定論的な合成データのデモです。表示されるエンティティはすべて架空のものです。demo/web_demo.py で再生成できます。
エンティティは現在のマッパーで生成されたものではなく、ステートメント層でシードされています。詳しくは demo/README.md をご覧ください。
法的免責事項:OpenOSINT は、合法かつ許可された用途に限り使用することを目的としています。 ユーザーは、自身の使用が適用されるすべての法律および規制に準拠していることを確認する責任を単独で負います。 著者は不正使用について一切の責任を負いません。DISCLAIMER.md をご覧ください。
ツール
| ツール | 提供元 | 調査内容 |
|---|---|---|
search_email | holehe | メールアドレスに紐づくソーシャルアカウント (ノイズが多いため、デフォルトでは無効) |
search_username | sherlock | 400 以上のプラットフォームでのユーザー名の有無 (ノイズが多いため、デフォルトでは無効) |
search_breach | HaveIBeenPwned v3 API | データ侵害による情報漏えいの状況 |
search_whois | python-whois | ドメイン登録者および DNS 情報 |
search_ip | ipinfo.io | 位置情報、ASN、ホスト名 |
search_domain | sublist3r | サブドメインの列挙 (ノイズが多いため、デフォルトでは無効) |
generate_dorks | built-in | 対象を絞った Google dork URL 12 件(ネットワーク呼び出しなし) |
search_paste | psbdmp.ws | Pastebin のダンプ内の言及 |
search_phone | phoneinfoga | 通信事業者、国、回線種別 (ネットワーク動作未検証のため、デフォルトでは無効) |
search_shodan | Shodan API | オープンポート、バナー、CVE |
search_virustotal | VirusTotal API v3 | 70 以上のウイルス対策エンジンによる判定 |
search_ip2location | IP2Location.io API | IP に関する拡張情報:VPN/プロキシ/Tor/データセンターのフラグ (スポンサー提供) |
search_censys | Censys Search API | インターネットに公開されたインフラストラクチャ、証明書 |
search_abuseipdb | AbuseIPDB v2 API | IP の不正利用レピュテーション:信頼度スコア、報告、国、ISP |
search_github | GitHub REST API | プロフィール、リポジトリ、コミットから見つかったメールアドレス、ユーザー名/キーワード検索 |
search_dns | dnspython (built-in) | A/AAAA/MX/NS/TXT/CNAME/SOA レコード、SPF、DMARC、DKIM の分析 |
search_rdap | RDAP (IANA bootstrap, keyless) | レジストラ、登録日/有効期限、ネームサーバー、ステータス。ポリシーにより登録者の連絡先は非公開 |
search_gdelt_geo | GDELT 15-minute GKG feed (keyless) | 地図上に表示した世界各地の最新ニュース:見出し、リンク、場所。GeoJSON 形式で出力 |
search_dorks_live | Bright Data¹ SERP API | dork クエリの Google 検索結果をリアルタイムで取得(タイトル、URL、スニペット) |
scrape_url | Bright Data Web Unlocker | Cloudflare/CAPTCHA を回避して任意の URL を取得し、整形済みの Markdown を返します (対象にアクセスするため、デフォルトでは無効) |
search_footprint | Bright Data SERP API | エンティティ種別を考慮した公開検索エンジン上のフットプリント:メールアドレス/ユーザー名/ドメイン/電話番号/氏名を検出し、構造化された結果とエンティティ相関グラフのノード/エッジを返します |
ツールごとの詳細なドキュメント、CLI フラグ、出力形式については、openosint.tech をご覧ください。
デフォルトではパッシブ
OpenOSINT は パッシブモード で起動します。エージェントと MCP クライアントに提供されるのは、サードパーティのデータソースを照会するツール、またはローカルで処理を行うツールのみです。対象のインフラストラクチャにアクセスするツールや、ユーザーの IP アドレスから対象について多数のリクエストを送信するツールは、オプトインするまで無効です。呼び出されたときに拒否されるだけではなく、モデルに一切提供されず、MCP クライアントの tools/list にも表示されません。
| レベル | 意味 |
|---|---|
| passive | サードパーティのデータソースを照会するか、ローカルで処理を行います。ご利用のマシンから対象自身のインフラストラクチャへのリクエストは送信しません。通常の DNS ルックアップだけは間接的な例外であり、リゾルバーを経由して対象のネームサーバーに到達します(search_dns を参照)。 |
| touches target | 対象のインフラストラクチャから確認可能なリクエストを送信します(対象のウェブサーバー、DNS プローブ、または対象の URL を代わりに取得するサービス)。 |
| noisy | リクエスト数が多いか、対象について多数のサードパーティサービスにリクエストを送信します。レート制限や WAF によるブロック、アラートが発生する可能性があります。 |
| unverified | ネットワーク動作がトラフィックキャプチャでまだ検証されていません。非パッシブとして扱われます。 |
| inherits | 複数のツールを呼び出すツールです。現在のモードで許可されている処理のみを実行します。 |
| 受動的な利用はプライバシーを守るものではありません。 検索を行うサードパーティーサービスには、検索した内容がすべて知られ、通常は API キーや IP アドレスも知られます。Shodan、HIBP、VirusTotal、Bright Data などのサービスへのクエリは、それらのプロバイダーに見られるものとして扱ってください。 |
アクティブなツールを有効にするには、明示的な設定が必要です(それぞれノイズレベルが表示されています)。
| 場所 | 方法 |
|---|---|
| CLI / REPL | openosint --allow-active … |
| 任意のプロセス | OPENOSINT_ALLOW_ACTIVE=1 |
| Web UI | Settings → "Enable active tools"(ループバックのみ) |
| MCP サーバー | uvx --from openosint openosint-mcp --allow-active(または、インストール済みの場合は openosint-mcp --allow-active)、もしくはクライアントの env ブロックで OPENOSINT_ALLOW_ACTIVE=1 を設定 |
一般公開されているインスタンスやデモ用インスタンスでは、設定にかかわらずアクティブなツールを有効にできません。無効なツールがリクエストされた場合は、有効化方法を示す構造化された disabled_in_passive_mode の結果を返します。
ツール呼び出しの上限。 各ユーザーリクエストには、OPENOSINT_MAX_TOOL_CALLS による上限があります(デフォルトは 15 回の呼び出し。新しいメッセージごとにリセットされます)。investigate_multi ではすべての対象で上限を共有します(OPENOSINT_MAX_TOOL_CALLS_MULTI。デフォルトは 30 回)。上限に達すると、明示的なメッセージを表示して調査を停止します。ツールを自ら実行する MCP クライアントにはサーバーによる上限は適用されません。上限が適用されるのは investigate_multi のみです。
| ツール | レベル | デフォルト | 実際に送信される内容と送信先 |
|---|---|---|---|
generate_dorks | パッシブ | オン | Google 検索 URL をローカルで生成します。何も送信しません。 |
graph_export | パッシブ | オン | ローカルのグラフデータベースのみを読み取ります。 |
graph_neighbors | パッシブ | オン | ローカルのグラフデータベースのみを読み取ります。 |
graph_review_candidates | パッシブ | オン | ローカルのグラフデータベースのみを読み取ります。 |
investigate_graph | 継承 | オン | シードからツールを連鎖実行します。パッシブモードではパッシブなツールのみを使用します。 |
investigate_multi | 継承 | オン | 共通のツール呼び出し上限のもと、ターゲットごとにエージェントを1つ実行します。アクティブモードを有効にしていない場合はパッシブです。 |
scrape_url | ターゲットにアクセス | オフ | Bright Data が URL を取得するため、ターゲットのサーバーにはリクエストが記録されます(あなたの IP ではなく、Bright Data の IP から送信されます)。 |
search_abuseipdb | パッシブ | オン | api.abuseipdb.com へのリクエストを1回送信します。 |
search_breach | パッシブ | オン | haveibeenpwned.com へのリクエストを1回送信します。 |
search_censys | パッシブ | オン | Censys API を使用します。Censys がすでに保持しているデータを返します。 |
search_dns | パッシブ | オン | レコードの検索は DNS リゾルバー経由で行われます。ターゲットのネームサーバーには、あなたではなくリゾルバーが見えます。アクティブな部分: DKIM セレクターのプローブ(列挙)は、アクティブなツールを有効にした場合にのみ実行されます。 |
search_domain | 高負荷 | オフ | sublist3r はあなたの IP から複数の検索エンジンやアグリゲーターにアクセスします。CAPTCHA やブロックが発生することを想定してください。 |
search_dorks_live | パッシブ | オン | Bright Data 経由で Google の検索結果を取得します。ターゲットはこれら2つのサービスに送信されます。 |
search_email | 高負荷 | オフ | holehe は、あなたの IP からメールアドレスを使って多数のサイトの登録・パスワードリセットのフローを調べます。アカウント所有者に通知されたり、セキュリティアラートが発生したりする可能性があります。 |
search_footprint | パッシブ | オン | Bright Data 経由で最大3件の Google 検索を行います。ターゲットはこれら2つのサービスに送信されます。 |
search_gdelt_geo | パッシブ | オン | GDELT の公開ニュースフィードをダウンロードし、ローカルで絞り込みます。検索語があなたのマシンの外に送信されることはありません。 |
search_github | パッシブ | オン | api.github.com に数回リクエストを送信します。 |
search_ip | パッシブ | オン | ipinfo.io にリクエストを1回送信します。 |
search_ip2location | パッシブ | オン | api.ip2location.io にリクエストを1回送信します。 |
search_paste | パッシブ | オン | psbdmp.ws にリクエストを1回送信します。 |
search_phone | 未検証 | オフ | phoneinfoga を実行します。ネットワーク経由で送信される内容は、トラフィックをキャプチャして検証されていません。 |
search_rdap | パッシブ | オン | IANA とレジストリの RDAP サーバーに問い合わせます。ターゲットには問い合わせません。 |
search_shodan | パッシブ | オン | Shodan API を使用します。Shodan の既存インデックスを読み取り、新たなスキャンは要求しません。 |
search_username | 高負荷 | オフ | sherlock はあなたの IP から数百のサイトにリクエストを送信します。レート制限や WAF によるブロックが発生することを想定してください。 |
search_virustotal | パッシブ | オン | IP、ドメイン、ハッシュの検索では、VirusTotal の既存データを読み取ります。URL の送信は別のアクティブモードで、デフォルトではオフです。このモードでは VirusTotal が URL を取得し、その URL が VirusTotal コミュニティに公開されます。 |
search_virustotal (URL submission) | ターゲットにアクセス | オフ | VirusTotal が送信された URL を取得し、その URL が VirusTotal コミュニティに公開されるため、調査内容が明らかになる可能性があります。 |
search_whois | パッシブ | オン | レジストリ/レジストラの WHOIS サーバーに問い合わせます。ターゲットには問い合わせません。 |
この表は、各ツールがコードに基づいて何を行うかを示しています。リモートサービスや、holehe、sherlock、sublist3r、phoneinfoga などのサードパーティ製バイナリがリクエストをどのように処理するかを保証するものではありません。
search_email
holehe を使用して、メールアドレスに関連付けられたオンラインサービスを列挙します。高負荷なため、デフォルトではオフです。使用するには holehe バイナリのインストールと --allow-active(または OPENOSINT_ALLOW_ACTIVE=1)が必要です。
openosint --allow-active email [email protected]
[+] Spotify https://open.spotify.com/user/target
[+] WordPress https://wordpress.com/target
[+] Gravatar https://gravatar.com/target
[+] Office365 email used
search_username
sherlock を使用して、400以上のプラットフォームからユーザー名を検索します。
openosint username johndoe99
[+] GitHub https://github.com/johndoe99
[+] Twitter https://twitter.com/johndoe99
[+] Reddit https://reddit.com/user/johndoe99
search_breach
HaveIBeenPwned v3 API を使ってデータ漏えいの有無を確認します。HIBP_API_KEY が必要です。
[+] LinkedIn (2016-05-05) — leaked: Email addresses, Passwords
[+] Adobe (2013-10-04) — leaked: Email addresses, Password hints
search_whois
python-whois を使って WHOIS データを取得します。
[+] Registrar: ICANN
[+] Created: 1995-08-14
[+] Expires: 2024-08-13
[+] Name Servers: A.IANA-SERVERS.NET
search_ip
ipinfo.io を使って位置情報と ASN データを取得します。無料枠は月 50,000 件です。
[+] Hostname: dns.google
[+] Org: AS15169 Google LLC
[+] City: Mountain View, CA, US
search_domain
sublist3r を使ってサブドメインを列挙します。
[+] mail.example.com
[+] dev.example.com
[+] api.example.com
generate_dorks
任意のターゲットに対して、対象を絞った Google dork の URL を 12 件生成します。ネットワークへの接続は行いません。
[+] "johndoe" site:linkedin.com
https://www.google.com/search?q=%22johndoe%22+site%3Alinkedin.com
[+] "johndoe" leaked OR breach OR dump
https://www.google.com/search?q=%22johndoe%22+leaked+OR+breach+OR+dump
search_paste
psbdmp.ws を使って Pastebin のダンプを検索します。
[+] https://pastebin.com/aB1cD2eF (2023-04-12)
[+] https://pastebin.com/xY3zA4bC (2022-11-08)
search_phone
phoneinfoga を使って電話番号に関する情報を収集します。E.164 形式を使用してください。
[+] Country: United States
[+] Carrier: AT&T
[+] Line type: Mobile
search_shodan
IPv4 を入力するとホストを検索します(開いているポート、組織、CVE)。それ以外のクエリでは、バナーやキーワードを検索します。SHODAN_API_KEY が必要です。
openosint shodan 8.8.8.8
openosint shodan "apache port:80 country:DE"
[+] Org: Google LLC | Open ports: 53, 443
search_virustotal
IP、ドメイン、URL、またはファイルハッシュを VirusTotal の 70 以上のエンジンで確認します。入力の種類を自動判別します。VIRUSTOTAL_API_KEY が必要です。
openosint virustotal 8.8.8.8
openosint virustotal example.com
openosint virustotal 44d88612fea8a8f36de82e1278abb02f
[VirusTotal] Malicious: 0 / Harmless: 72
search_ip2location
IP2Location.io に問い合わせ、位置情報、ISP、ASN などの詳細な IP 情報を取得します。Security Plan では、VPN/プロキシ/Tor/データセンターの検出も利用できます。スポンサー提供の連携機能です。IP2LOCATION_API_KEY が必要です。
openosint ip2location 8.8.8.8
[IP2Location] City: Mountain View, CA, US | ISP: Google LLC
[IP2Location] VPN: No | Proxy: No | TOR: No | Datacenter: Yes
search_censys
IPv4 ではホスト情報(開いているポート、サービス、ASN)を表示します。ドメインでは証明書を検索します(SAN、発行者)。CENSYS_API_ID と CENSYS_SECRET が必要です。
openosint censys 8.8.8.8
openosint censys example.com
[Censys] Open Ports: 53, 443, 853 | ASN: AS15169 Google LLC
search_abuseipdb
AbuseIPDB v2 で IP を確認します。不正利用の信頼度スコア、報告総数、国、ISP、最終報告日時を返します。ABUSEIPDB_API_KEY が必要です。
openosint abuseipdb 198.51.100.1
[AbuseIPDB] Abuse Confidence Score: 87% | Total Reports: 143
⚠️ HIGH ABUSE CONFIDENCE — flagged by AbuseIPDB
abuseConfidenceScore が 50% を超えると警告が表示されます。
search_github
GitHub REST API に問い合わせます。ユーザー名を指定すると、プロフィール、リポジトリ、コミットから検出されたメールアドレスを返します。キーワードを指定すると、ユーザー/リポジトリを検索します。GITHUB_TOKEN を指定すると、レート制限が 60 req/h から 5000 req/h に引き上げられます。
openosint github johndoe99
[GitHub] Repos: 42 | Followers: 128
[GitHub] Commit email: [email protected]
search_dns
dnspython を使って A/AAAA/MX/NS/TXT/CNAME/SOA レコードを照会し、SPF、DMARC、DKIM の設定を分析します(外部 API は使用しません)。
openosint dns example.com
[DNS] A: 93.184.216.34
[DNS] MX: mail.example.com (priority 10)
[DNS] SPF: v=spf1 include:_spf.google.com ~all
search_rdap
RDAP を通じて、ドメインのレジストラ、登録日と有効期限、ネームサーバー、ステータスコードを照会します。RDAP は WHOIS に代わる機械可読形式のプロトコルです。API キーは不要です。IANA ブートストラップレジストリにどのサーバーが TLD を管理しているかを問い合わせてから、そのサーバーに照会します。レジストリのポリシーにより登録者の連絡先情報は伏せられており、返されることはありません。
[+] Registrar: RESERVED-Internet Assigned Numbers Authority
[+] Registered: 1995-08-14T04:00:00Z
[+] Name servers: elliott.ns.cloudflare.com, hera.ns.cloudflare.com
search_gdelt_geo
世界中の最新の地理情報付きニュースです。旧 GDELT GEO 2.0 API は廃止されたため(HTTP 404 を返します)、このツールは GDELT の15分ごとの GKG 記事フィード(data.gdeltproject.org、キー不要、アカウント不要)を読み込み、直近6時間分の記事をメモリに保持します。各記事には、見出し、リンク、言及されている場所が含まれます。クエリは見出しと URL に対して照合され(引用符で囲んだフレーズと OR が使用でき、* はすべてを意味します)、結果は地球儀上で場所ごとにグループ化されます。国レベルの言及は除外されるため、点は国の中心ではなく、都市や地域を示します。
ツールを初めて使用するまでデータはダウンロードされないため、地球儀を開かないローカルインストールでは GDELT ファイルを取得しません。最初の検索では最新の15分間のファイルのみを読み込み、そのデータから結果を返します。古いファイルはバックグラウンドで読み込まれ、結果と地球儀には、たとえば News: last 15 min — older articles still loading のように、どこまでさかのぼったデータかが表示されます。その後の上流へのアクセスは、検索回数にかかわらず15分ごとに小さなファイルを1つ取得するだけです。
GDELT geolocated news for 'ukraine': 53 location(s), 471 article mention(s). Coverage: the last 6 h.
[+] Kyiv, Kyyiv, Ukraine (50.4333, 30.5167) — 38 article(s)
地球儀上でエリアを選択(Shift を押しながらドラッグ)すると、その範囲内だけを検索できます。エラー(フィードの停止、ファイルが大きすぎる、またはファイルが破損している場合)では、[service_unavailable] search_gdelt_geo という結果を1件返し、空のレイヤーの代わりに地球儀に通知を表示します。
| 変数 | デフォルト | 用途 |
|---|---|---|
OPENOSINT_GDELT_WINDOW_HOURS | 6 | 記事を保持する期間(1~24時間)です。6時間分を保持すると、記事数は約23,000件になり、メモリを約65 MB使用します。 |
OPENOSINT_GDELT_MAX_ARTICLES | 30000 | 保存する記事数の上限です。古い記事から削除されます。 |
OPENOSINT_GDELT_USE_PROXY | off | GDELT のダウンロードを OPENOSINT_PROXY_URL 経由にします(フィードは公開されているため、デフォルトでは経由しません)。 |
クレジットと利用条件。 ニュースデータ:The GDELT Project。GDELT の利用規約には、「GDELT Project が公開するすべてのデータセットは、あらゆる種類の学術、商用、政府用途において、料金なしで無制限かつ制約なく利用できます。」および「データを利用または再配布する場合は、GDELT Project を引用し、このウェブサイト(https://www.gdeltproject.org/)へのリンクを含める必要があります。」と記載されています(2026-10-06 に引用)。地球儀の地図クレジットには GDELT の表記が維持されます。見出しとリンクはサードパーティのニュースサイトから取得され、プレーンテキストで表示されます。
search_dorks_live
Bright Data SERP API¹ を介して Google のドーキング検索をリアルタイムで実行し、構造化された結果(タイトル、URL、スニペット)を返します。デフォルトでは1回の実行につき5件のドークを実行し、それぞれが個別の課金対象 API 呼び出しになります。BRIGHTDATA_API_KEY と BRIGHTDATA_SERP_ZONE が必要です。
openosint search-dorks-live "john doe" --max-dorks 3
[+] Dork: "john doe" site:linkedin.com
Title: John Doe | LinkedIn
URL: https://www.linkedin.com/in/john-doe-12345
scrape_url
Bright Data Web Unlocker¹ を介して任意の公開 URL を取得し、Cloudflare/CAPTCHA を回避します。読みやすい Markdown を返します。BRIGHTDATA_API_KEY と BRIGHTDATA_UNLOCKER_ZONE が必要です。
openosint scrape https://example.com
[Web Unlocker] Remote status: 200
# Example Domain
This domain is for use in illustrative examples in documents.
search_footprint
Bright Data SERP API¹ を介して、対象の公開検索エンジン上のフットプリントを収集します。エンティティの種類(メールアドレス、ユーザー名、ドメイン、電話番号、氏名)を検出し、種類に応じた Google クエリを実行します。構造化された結果に加え、検出されたドメインやプロフィールのエンティティ相関グラフのノードとエッジを返します。BRIGHTDATA_API_KEY と BRIGHTDATA_SERP_ZONE が必要です。
openosint footprint johndoe99
Graph モジュール(オプション)
追記型の FollowTheMoney エンティティグラフ(ステートメントレベルの来歴、追記専用ストア、非破壊的な same_as 重複排除、手動レビューキュー)は、上記のツールと並行して動作し、それらには一切変更を加えません。ストア、/graph ページ、/api/graph/* ルート、graph_neighbors/graph_review_candidates MCP ツールは、コンパイラーも追加パッケージも不要で、通常の uvx openosint web インストールで利用できます。graph エクストラ(pip install "openosint[graph]"。PyICU をビルドします)を追加すると、本物の FollowTheMoney ライブラリが利用可能になり、graph_export と .ftm エクスポートが使えます。graph-dedup エクストラ(Python 3.11 以降)を追加すると、same_as のスコアリングが利用可能になります。エクストラなしの場合、ID はベンダー提供のコピーによって生成されます。CI テストで FollowTheMoney のものとバイト単位で一致することが証明されているため、graph.db はどちらの場合も読み込めます。Web UI もエージェントもこのストアには書き込みません。ストアは Python API を通じてデータを追加します(完全なガイドと実例については docs/graph.md を参照してください)。メイン UI の GRAPH タブは、現在のチャットを表示する独立したクライアント側のビューです。
.ftm エクスポートが ftm validate を通過するところも含め、同じワークフローを最初から最後まで docs/graph.md のターミナルデモで確認できます。Web UI の手順は、この README の冒頭にあるデモをご覧ください。
外部公開レポート(ベータ)
openosint exposure は、外部から 1 つのドメインをチェックし、A〜F の評価を付けます。これは特定時点の結果です。組織レベルでメール認証、TLS、ドメイン登録、セキュリティヘッダーをチェックし、オプションで類似ドメインも確認します。メール、登録情報、類似ドメインのチェックはパッシブ(DNS と RDAP のみ)です。TLS とセキュリティヘッダーのチェックでは、対象の 443 番ポートに 1 回接続します。AI プロバイダーや API キーは不要です。
openosint exposure example.com # terminal summary and grade
openosint exposure example.com --json # structured JSON
openosint exposure example.com --report out.html --lang it # self-contained HTML report (it or en)
openosint exposure example.com --lookalikes # also look for registered typo/homoglyph/TLD-swap domains
openosint exposure example.com --resolver 1.1.1.1 # recursive resolver for lookups outside the domain's own nameservers
openosint exposure example.com --checks email,registration # passive checks only: never contacts the target
--checks には email、registration、tls、http_headers のいずれかを指定できます(デフォルト:4 項目すべて)。一部だけを選択した場合、評価は行われません。一部のチェック結果だけで完全な結果のように見える評価を付けないため、レポートには評価文字もスコアも含まれません。Python では run_exposure("example.com", checks=PASSIVE_CHECKS) を使います(どちらの名前も openosint.exposure.api からインポートします)。レポートの not_run には、実施されなかった項目が記載されます。
毎週実行し、履歴を残して、評価が下がったときにメールを受け取りたいですか? OpenOSINT Monitor が代わりに実行します。ドメイン 1 つなら無料です。
| チェック項目 | 通信レベル | 接続先 |
|---|---|---|
| メール認証(SPF、DMARC、DKIM、MX) | パッシブ | DNS のみ |
| ドメイン登録情報(登録期間、期限、DNSSEC) | パッシブ | RDAP レジストリー。対象ドメインには接続しません |
類似ドメイン(--lookalikes) | パッシブ | DNS のみ。類似ドメインの Web サーバーには一切接続しません |
| TLS 証明書とプロトコル | 対象に接続 | 対象の 443 番ポートとの TLS ハンドシェイク(ドメインと www) |
| セキュリティヘッダー | 対象に接続 | https://DOMAIN/ への HTTPS GET を 1 回実行します(リダイレクトは追跡されます) |
ポートスキャン、ログイン、個人データの収集は行いません。この評価は認証ではなく、NIS2 やその他のコンプライアンスへの準拠を証明するものでもありません。類似ドメインは DNS のみで検出され、評価には一切含まれません。
この機能はベータ版です。チェック項目、スコアリング、レポート形式はリリース間で変更される場合があります。HTML レポートのフッターには report_version が表示されます。
インターフェース
Web UI
uvx openosint web
# or: pip install openosint && openosint web
# Opens http://localhost:8080 automatically
ブラウザーで利用する AI チャットです。ツール出力のストリーミング、インラインの結果カード、ライト/ダークテーマの切り替えに対応しています。Ollama または OpenAI 互換エンドポイントを利用したローカル推論に対応しており、Anthropic API キーは不要です。
サーバーと通信できるホストおよびサイトについて。 ループバックにバインドした場合、サーバーがリクエストに応答するのは、Host が 127.0.0.1、localhost、または ::1 の場合のみです。ブラウザーからのすべての /api/* リクエストは、UI と同一オリジンから送信される必要があります。クロスサイトリクエストは拒否されます(Origin を送信しないスクリプトや curl は影響を受けません)。
| 変数 | 使用する場合 |
|---|---|
OPENOSINT_ALLOWED_HOSTS | LAN 名、Docker ホスト名、リバースプロキシなど、別の名前で UI にアクセスする場合です。例:OPENOSINT_ALLOWED_HOSTS=osint.lan,localhost。カンマ区切りで、host または host:port を指定します。ループバック以外にバインドする場合(--allow-remote、Docker)、この設定がある場合にのみ Host チェックが実行されるため、その場合は設定してください。 |
OPENOSINT_ALLOWED_ORIGINS | 別のオリジンにあるフロントエンドから API を呼び出す場合です。例:OPENOSINT_ALLOWED_ORIGINS=http://localhost:3000。カンマ区切りで指定します。 |
ライブデモを試す → — Anthropic/OpenRouter/Ollama のキーを持ち込めます。登録は不要です。
# Fully local (no API key) — requires Ollama runtime: https://ollama.com
ollama pull llama3.2
openosint web
# Settings -> Ollama (local) -> model: llama3.2
# OpenAI-compatible endpoint (LiteLLM, vLLM, LM Studio, ...)
export OPENAI_BASE_URL="http://localhost:4000/v1"
openosint web
# Settings -> OpenAI API
破壊的変更(v2.28以降):キーの使用可否は環境変数ではなく、バインドアドレスに従うようになりました。
127.0.0.1/localhost(デフォルト)にバインドする場合は、変更ありません。.env内のキーはこれまでどおり機能します。それ以外のインターフェース(すでに--allow-remoteが必要な--host 0.0.0.0)にバインドする場合、Web UI はリクエストの処理に 環境変数のキーを使用しません。すべての呼び出し元がそれぞれ独自のキーを指定する必要があり、侵害データの検索 (search_breach)は完全に無効になります。これは、OPENOSINT_DEMO_MODEを含むすべての環境 変数に関係なく適用されます。この変数で制限を追加することはできますが、解除することはできません。独自のキーを使って Web UI を LAN 上に公開し、呼び出し元ごとの認証を前段に設けていなかった場合、そのアクセス方法は利用できなくなりました。リバースプロキシの背後で実行していますか? ループバックアドレス(
127.0.0.1)へのバインドが意味するのは、 OS がこのマシンからの接続を受け付けたということだけです。手前の何か(nginx、Caddy、Docker/K8s のサイドカー、 トンネル)がリクエストを別の場所から転送している場合、誰がこのサービスにアクセスできるかは示しません。デフォルトでは、 プロキシ転送ヘッダー(X-Forwarded-For、X-Forwarded-Proto、X-Forwarded-Host、Forwarded、CF-Connecting-IP)を含むリクエストは、 ループバック以外へのバインドと同じように扱われます。ローカルのキーは使用されず、侵害データの検索は ブロックされ、その理由が呼び出し元に通知されます。意図的にリバースプロキシ経由でこのサービスを提供し、 そのプロキシが中継するリクエストに対して通常のローカルインスタンスと同じように動作させたい場合は、OPENOSINT_TRUSTED_PROXY=trueを設定してください。 これは既存のTRUSTED_PROXYとは別の変数です(既存の変数は、レート制限のバケットにどの IP を割り当てるかだけに影響します。リスクが低く、すでに適用範囲が緩やかな設定で、一部のセルフホスト利用者はすでに有効にしています)。 ここでそのフラグを再利用すると、既存のレート制限のみの設定が、確認なしに認証情報を使ったアクセスも許可する設定へと変わってしまいます。 そのため、OPENOSINT_TRUSTED_PROXYには明示的なオプトインが必要です。この設定を有効にしても、転送ヘッダーの内容が 無条件に信頼されるわけではありません。内部で矛盾する値(たとえば、1 つのリクエストに互いに一致しないX-Forwarded-Protoの値が 2 つ含まれている場合)は、引き続きパブリックとして扱われます。OPENOSINT_TRUSTED_PROXY=trueを設定することは、リバースプロキシがこのインスタンスへ中継する相手に対して、認証情報を使った検索を提供すると選択することを意味します。ホスト型サービスの運営者が利用者に対して負うのと同じく、その検索に関する管理責任はあなたにあります。プロキシが中継する相手の範囲が意図より広い場合は、このサービスの前段に適切な認証を設けてください。
インタラクティブ REPL
引数を指定せずに openosint を実行すると、AI を活用した REPL が起動します。
REPL コマンド:
| コマンド | 説明 |
|---|---|
<target> | メールアドレス、ユーザー名、ドメイン、IP、名前など、任意のターゲットを調査します |
clear | 会話メモリをリセットします |
save | 最後のレポートを reports/ に保存します |
tools | 利用可能なツールとそのステータスを一覧表示します |
config | 現在の設定を表示します |
history | 保存済みセッションを参照します |
help | すべてのコマンドを表示します |
exit / Ctrl-D | 終了します |
すべてのセッションは ~/.openosint/history/ に自動保存されます。openosint history で参照できます。
OpenAI 互換バックエンドを使う REPL/CLI の場合:
pip install "openosint[openai]"
openosint --provider openai \
--openai-base-url http://localhost:4000/v1 \
--openai-model gpt-4o-mini
ライブドキュメント
ツールごとの詳しいリファレンス、CLI フラグ、設定オプションは openosint.tech をご覧ください。
MCP サーバー
別途インストールすることなく、OpenOSINT を任意の MCP 対応 AI クライアントに公開できます。 uv をインストールする必要があります。uvx が必要に応じて openosint を取得して実行します。デフォルトではサーバーに 20 個のエントリー(16 個のパッシブツールと、4 個のグラフおよびバッチ用ヘルパー)が表示され、--allow-active を指定すると 25 個になります(デフォルトではパッシブを参照)。
各クライアントが実行するコマンドは共通です:
uvx --from openosint openosint-mcp # passive tools only (20 listed)
GUI クライアント(Claude Desktop、Cursor)は、uvx を含まない最小限の PATH で起動することがよくあります。サーバーが起動しない場合は、"uvx" を which uvx(macOS/Linux)または where uvx(Windows)で確認した絶対パスに置き換えてください。
Claude Code:
claude mcp add openosint -- uvx --from openosint openosint-mcp
claude mcp list
API キーを追加します(-e フラグは -- の前に指定します)。
claude mcp add openosint -e SHODAN_API_KEY=your-key -e HIBP_API_KEY=your-key -- uvx --from openosint openosint-mcp
任意、アクティブツールを有効化します:
openosint-mcpの後に--allow-activeを追加するか、-e OPENOSINT_ALLOW_ACTIVE=1を追加します。ノイズが多く、ターゲットに接触するツールが公開されます(表示数は 20 個から 25 個に増えます)。最初にノイズ表を確認してください。
Claude Desktop — claude_desktop_config.json を編集し、アプリを再起動します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"openosint": {
"command": "uvx",
"args": ["--from", "openosint", "openosint-mcp"],
"env": {
"SHODAN_API_KEY": "your-key",
"HIBP_API_KEY": "your-key"
}
}
}
}
任意、アクティブツールを有効化します:
argsに"--allow-active"を追加するか、envに"OPENOSINT_ALLOW_ACTIVE": "1"を追加します。ノイズが多く、ターゲットに接触するツールが公開されます(表示数は 20 個から 25 個に増えます)。最初にノイズ表を確認してください。
Cursor — 同じブロックを ~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクトごと)に追加します。上記のアクティブツールに関する任意の変更も適用できます。
{
"mcpServers": {
"openosint": {
"command": "uvx",
"args": ["--from", "openosint", "openosint-mcp"],
"env": { "SHODAN_API_KEY": "your-key" }
}
}
}
API キーはクライアントの env ブロックに記述します。MCP ホストはプロジェクトとは無関係な cwd でサーバーを起動するため、.env ファイルは確実には読み込まれません。使用する場合は、同じ env ブロックに "OPENOSINT_ENV_FILE": "/absolute/path/to/.env" を設定してください。
デフォルトではサーバーにはパッシブツールのみが表示されるため、クライアントの LLM からノイズの多いツールは見えません。各ツールの説明にはノイズレベルが記載されています。--from openosint==2.36.1 でリリースを固定できます。ソースチェックアウトから実行する場合:"command": "python", "args": ["-m", "openosint.mcp_server"]。
Claude Code 経由のエージェント利用:
$ claude
> Investigate [email protected]. Trace any username found
across other platforms and compile a full report.
インストール
クイックスタート — 1 つのコマンドで Web UI を起動
uv を一度インストールします。OpenOSINT は独立した環境で実行されるため、Python のセットアップは不要です。
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
次に OpenOSINT を起動します(uvx が見つからない場合は、先に新しいターミナルを開いてください)。
uvx openosint web
次のように表示されます。
[*] OpenOSINT x.y.z web server
[*] App → http://127.0.0.1:8080/
[*] Data → /home/you/.openosint
ブラウザーが自動的に開きます。開かない場合は、http://127.0.0.1:8080/ を開いてください。起動時に .env ファイルや API キーは不要です。キー不要のツールはすぐに使えます。AI チャットにはプロバイダーのキー(ANTHROPIC_API_KEY)またはローカルの Ollama が必要です。
| 目的 | 操作 |
|---|---|
| 別のポートを使う | uvx openosint web --port 8081(8080 が使用中の場合、OpenOSINT は終了し、その旨を通知します) |
| ブラウザーを開かない | uvx openosint web --no-browser |
| データの保存場所を確認する | グラフデータベースとセッション履歴は ~/.openosint/(Windows では %USERPROFILE%\.openosint)に保存されます。OPENOSINT_HOME=/path で場所を変更できます。OPENOSINT_GRAPH_DB は引き続き graph.db のみを上書きします。 |
| レポートの保存場所を確認する | CLI と REPL のレポートは、openosint を実行したディレクトリの ./reports/ に書き込まれます。Web UI はレポートを作成しません。 |
| エンティティグラフストアを使う | コンパイラーは不要で、uvx openosint web だけで利用できます。/graph ページ、/api/graph/*、graph_neighbors / graph_review_candidates MCP ツールを使用できます。graph_export(.ftm)には graph エクストラが必要です。これにより PyICU がビルドされるため、事前に libicu と C++ コンパイラーが必要です(Ubuntu:sudo apt install libicu-dev pkg-config g++、macOS:brew install icu4c pkg-config を実行し、export PKG_CONFIG_PATH="$(brew --prefix icu4c)/lib/pkgconfig" を設定)。その後、uvx --from "openosint[graph]" openosint web を実行してください。または、これらが含まれている Docker を使用してください。ストアは空の状態で起動します。UI ではなく、Python API を通じてデータが追加されます。 |
代替手段
# pip (Python 3.10+)
pip install openosint
openosint web
# Updating
pip install --upgrade openosint
# From source
git clone https://github.com/OpenOSINT/OpenOSINT.git
cd OpenOSINT
pip install -e .
外部バイナリー(PATH に含まれている必要があります):
| バイナリー | 用途 | インストール |
|---|---|---|
holehe | メールアカウントの列挙 | pip install holehe |
sherlock | ユーザー名の列挙(400 以上のプラットフォーム) | pip install sherlock-project |
sublist3r | サブドメインの列挙 | pip install sublist3r |
phoneinfoga | 電話番号の情報収集 | バイナリーをダウンロード |
バイナリーが見つからない場合、対応するツールは内容を説明するエラーを返します。それ以外のツールはすべて引き続き動作します。
任意の Python パッケージ:
| パッケージ | 用途 | インストール |
|---|---|---|
ollama | ローカル LLM バックエンド(API キー不要) | pip install "openosint[ollama]"(* Ollama ランタイム も必要) |
openai | OpenAI 互換バックエンド | pip install "openosint[openai]" |
shodan | Shodan API クライアント | pip install "openosint[shodan]" |
reportlab | PDF レポートのエクスポート | pip install "openosint[pdf]" |
censys | Censys API クライアント | pip install "openosint[censys]" |
設定
最も簡単な方法: Web UI を開きます。ローカルにインストールした場合、Settings と初回起動パネルでは、デフォルトでキーがこのコンピューターに保存されます(「Save on this computer」)。「Use only for this browser session」は、キーをタブ内にのみ保持する追加の選択肢です。公開デモでは、キーはブラウザー内に保持されます。キーはデータディレクトリの config.env(~/.openosint/config.env、または $OPENOSINT_HOME/config.env)に書き込まれ、インストール済みパッケージ内には保存されません。OS が対応している場合、ユーザーのみがアクセスできる権限(0600)が設定されます。値がログに記録されたり、ブラウザーに送り返されたりすることはありません。UI に表示されるのは、設定済みのキーと各値の取得元のみです。
優先順位(高い順):
- 実際の環境変数(保存済みの値で上書きすることはできません。UI にもその旨が表示されます)
- データディレクトリ内の
config.env - 従来の
.env(以下の場所) 既存の.envは引き続き使用できます。パッケージのルートにあるファイル(ソースチェックアウトまたは Docker イメージ)が読み込まれる場合、そのファイルに含まれる既知の設定は一度だけconfig.envにコピーされ、キー名は表示しますが値は決して表示しない旨の通知が stderr に出力されます。古いファイルはそのまま残り、優先順位が低くなります。
自分で管理するファイルを使う場合は、.env.example を .env にコピーしてキーを設定します。.env は openosint を実行するディレクトリから読み込まれます(git が .git を見つけるように上方向へ検索します)。特定の「プロジェクトルート」に置く必要はなく、通常の pip install でもソースチェックアウトから実行する場合と同じように動作します。OPENOSINT_ENV_FILE=/path/to/.env を設定すると、代わりに明示したファイルを指定できます(任意の作業ディレクトリでホストから起動される MCP サーバーで便利です)。実際の環境変数は、常に .env の値より優先されます。
以下の Required は、openosint 自体ではなく、該当するツールの実行に必要であることを意味します。アプリは起動し、キー不要のすべてのツールは設定なしで動作します。
| 変数 | ツール | 必須 | 用途 |
|---|---|---|---|
ANTHROPIC_API_KEY | AI エージェント(REPL/Web UI) | Ollama または OpenAI 互換エンドポイントを使用する場合を除き必須 | Anthropic API キー |
ANTHROPIC_MODEL | AI エージェント | 任意 | リクエストするモデル名(デフォルト:claude-sonnet-5)。非推奨の OPENOSINT_MODEL を置き換えます。 |
OPENAI_BASE_URL | AI エージェント | 任意 | OpenAI 互換エンドポイントのベース URL(例:http://localhost:4000/v1) |
OPENAI_API_KEY | AI エージェント | 任意 | エンドポイントの API キー(ローカルサーバーでは無視される場合があります) |
OPENAI_MODEL | AI エージェント | 任意 | リクエストするモデル名(デフォルト:gpt-4o-mini) |
OPENOSINT_GDELT_WINDOW_HOURS | search_gdelt_geo | 任意 | メモリに保持するニュースの時間数(デフォルト 6、最大 24)。search_gdelt_geo を参照してください。 |
OPENOSINT_GDELT_MAX_ARTICLES | search_gdelt_geo | 任意 | 保存する記事数の上限(デフォルト 30000。最も古い記事から削除されます) |
OPENOSINT_ENV_FILE | すべて | 任意 | 上記のディレクトリ検索を上書きする、.env ファイルの明示的なパス |
OPENOSINT_SETUP_TOKEN | Web UI | 任意 | ループバック上にない場合に、ブラウザーからキーを保存できるようにします(Docker)。X-Setup-Token として送信してください。UI に入力欄があります。未設定の場合、ループバック以外のブラウザーからの保存は無効です。失敗した試行は制限されます。 |
HIBP_API_KEY | search_breach | このツールには必須 | HaveIBeenPwned v3 — 取得 |
IPINFO_TOKEN | search_ip | 任意 | なくても動作します。設定すると ipinfo.io のレート制限が緩和されます |
SHODAN_API_KEY | search_shodan | このツールには必須 | Shodan API — 取得 |
VIRUSTOTAL_API_KEY | search_virustotal | このツールには必須 | VirusTotal API v3 — 取得 |
IP2LOCATION_API_KEY | search_ip2location | このツールには必須 | IP2Location.io — 取得 (スポンサー提供) |
CENSYS_API_ID + CENSYS_SECRET | search_censys | このツールには必須 | Censys — 取得 |
ABUSEIPDB_API_KEY | search_abuseipdb | このツールには必須 | AbuseIPDB v2 — 取得 |
GITHUB_TOKEN | search_github | 任意 | なくても動作します(60 req/h)。設定すると上限が 5000 req/h になります — 取得 |
BRIGHTDATA_API_KEY | search_dorks_live、scrape_url、search_footprint | これらのツールには必須 | Bright Data — 取得¹(無料枠:月 5,000 req) |
BRIGHTDATA_SERP_ZONE | search_dorks_live、search_footprint | これらのツールには必須 | お使いの Bright Data SERP ゾーン名(例:serp_api1) |
BRIGHTDATA_UNLOCKER_ZONE | scrape_url | このツールには必須 | お使いの Bright Data Web Unlocker ゾーン名(例:web_unlocker1) |
キーがまったくない新規インストールでも、次の機能は動作します:generate_dorks、 | |||
search_dns、search_whois、search_rdap、search_paste、search_ip | |||
(レート制限あり)、search_github(レート制限あり)、search_gdelt_geo。 |
search_email、search_username、search_domain、search_phone もキーは不要ですが、
デフォルトでは無効になっています。利用するには --allow-active と外部バイナリ
(holehe、sherlock、sublist3r、phoneinfoga)が必要です。
CLI リファレンス
| フラグ/サブコマンド | 説明 |
|---|---|
openosint | 対話型 AI REPL(デフォルト) |
openosint web [--port N] [--no-browser] | ブラウザー UI を起動 |
openosint exposure DOMAIN | ドメインの外部露出度を A~F で評価(外部露出レポートを参照) |
openosint --allow-active email ADDRESS [-t N] | メールアドレスを直接スキャン(通知が多いため、デフォルトでは無効) |
openosint --allow-active username HANDLE [-t N] | ユーザー名を直接スキャン(通知が多いため、デフォルトでは無効) |
openosint shodan QUERY [-t N] | Shodan を検索 |
openosint virustotal TARGET [-t N] | VirusTotal を検索 |
openosint censys TARGET [-t N] | Censys を検索 |
openosint ip2location IP [-t N] | IP2Location を検索 |
openosint abuseipdb IP [-t N] | AbuseIPDB のレピュテーションを確認 |
openosint github QUERY [-t N] | GitHub のプロフィール/リポジトリ/メールアドレスを発見 |
openosint dns DOMAIN [-t N] | DNS レコードとメールセキュリティを分析 |
openosint search-dorks-live TARGET [--max-dorks N] [-t N] | Bright Data 経由で Google の検索演算子によるライブ検索結果を取得¹ |
openosint scrape URL [-t N] | Bright Data Web Unlocker 経由で URL を取得 |
openosint footprint TARGET [--max-queries N] [-t N] | Bright Data 経由で SERP フットプリントを取得 |
openosint multi TARGETS | 複数のターゲットを並列調査(最大 10 件) |
openosint exposure DOMAIN [--lookalikes] [--report FILE.html] [--lang it|en] [--resolver IP] | 外部露出レポートを A~F で評価(ベータ版) |
openosint playbook RECIPE TARGET | 決定論的な調査プレイブックを実行(AI 不使用) |
openosint history [--all] [open N] [clear] | REPL セッション履歴を表示/管理 |
openosint proxy-test | 設定済みの上流プロキシを検証 |
openosint sponsors | 現在のスポンサーと注目の連携サービスを一覧表示 |
openosint shell | デフォルトの REPL を明示的に指定する別名 |
--allow-active | アクティブなツールを有効化(通知が多い、またはターゲットに接触します)。デフォルトでは無効です。OPENOSINT_ALLOW_ACTIVE=1 と同じです |
-v, --verbose | stderr へのデバッグログ出力を有効化 |
-t, --timeout N | サブプロセスのタイムアウト(秒)を上書き |
--api-key KEY | Anthropic API キー(環境変数より優先) |
--parallel | 関連するツールを並行して実行 |
--json | 結果を構造化 JSON として出力 |
--provider {anthropic,ollama,openai} | AI プロバイダー(デフォルト:anthropic) |
--ollama-model MODEL | Ollama のモデル名(デフォルト:llama3.2) |
--ollama-host URL | Ollama サーバーの URL(デフォルト:http://localhost:11434) |
--openai-base-url URL | OpenAI 互換エンドポイントのベース URL(環境変数:OPENAI_BASE_URL) |
--openai-model MODEL | エンドポイントにリクエストするモデル(デフォルト:gpt-4o-mini、環境変数:OPENAI_MODEL) |
--openai-api-key KEY | エンドポイントの API キー(環境変数:OPENAI_API_KEY) |
--no-pdf | PDF の自動生成を無効化 |
Docker
# Build and run
docker compose up --build
# One-off command
docker compose run --rm openosint exposure example.com --json
.env は任意です。キーがなくても、ウェブ UI は http://localhost:8080 で起動します。現在キーを設定するには、docker-compose.yml の environment:(または同じディレクトリにある .env)にキーを記載するか、データボリューム内に .env(/data/.env)を配置してください。レポートは ./reports/ に保存され、グラフデータベースとセッション履歴は openosint-data ボリューム(コンテナ内の /data。OPENOSINT_HOME 経由)に保存されます。イメージにはグラフ表示機能が含まれています。
Docker でブラウザーからキーを保存する場合。 ブラウザーはループバックではなく Docker ネットワーク経由でコンテナに接続するため、UI はデフォルトではキーを保存できず、その理由を表示します(暗黙に失敗するのではなく、理由を表示します)。キーを compose の環境変数または .env に設定するか、トークンを設定して UI の サーバーにキーを保存 パネルに入力してください。OPENOSINT_SETUP_TOKEN=choose-a-long-random-string docker compose up と実行します。保存したキーは openosint-data ボリューム内の /data/config.env に保存され、再起動後も保持されます。トークンが誤っている場合は、試行が制限されます。
ポートは 127.0.0.1 のみで公開され、Host チェックは有効です(compose ファイルでは OPENOSINT_ALLOWED_HOSTS のデフォルト値は localhost,127.0.0.1 です。別の名前で UI にアクセスする場合は追加してください)。意図的に他のマシンからアクセスできるようにするには、OPENOSINT_BIND=0.0.0.0 docker compose up を実行します。この場合、インスタンスは制限モードで実行されます(サーバーに保存されたキーは使用しません)。セキュリティに関する注意: UI のセットアップエンドポイントは API キーを受け取り、保存します。そのため、信頼できるネットワーク上で、信頼できるファイアウォールまたはリバースプロキシの背後でのみ実行してください。
警告:
OPENOSINT_PUBLISHED_BIND。docker-compose.ymlでは、サーバーにポートの公開先アドレスを伝えるため、この値をOPENOSINT_BINDと同じ値に設定しています。ループバックを正確に指定した値(127.0.0.1、localhost、::1)を設定すると、コンテナの0.0.0.0バインドによって通常は有効になる制限が解除されます。ポートが他のインターフェースでも公開されている場合は、自分でこの値をループバックに設定したり、compose のポートマッピングを変更してこの値と異なる設定にしたりしないでください。
インテグレーション
| サービス | URL | ツール | ティア | 認証 |
|---|---|---|---|---|
| IP2Location.io | https://www.ip2location.io | search_ip2location | 注目(スポンサー提供) | API キー — 無料プラン |
| AbuseIPDB | https://www.abuseipdb.com | search_abuseipdb | コミュニティ | API キー — 無料プラン |
| Censys | https://censys.io | search_censys | コミュニティ | API キー — 無料プラン |
| GitHub | https://github.com | search_github | コミュニティ | トークンは任意 |
| HaveIBeenPwned | https://haveibeenpwned.com | search_breach | コミュニティ | API キー — 有料 |
| holehe | https://github.com/megadose/holehe | search_email | コミュニティ | なし — ローカルバイナリ |
| ipinfo.io | https://ipinfo.io | search_ip | コミュニティ | トークンは任意 |
| phoneinfoga | https://github.com/sundowndev/phoneinfoga | search_phone | コミュニティ | なし — ローカルバイナリ |
| psbdmp.ws | https://psbdmp.ws | search_paste | コミュニティ | なし |
| sherlock | https://github.com/sherlock-project/sherlock | search_username | コミュニティ | なし — ローカルバイナリ |
| Shodan | https://shodan.io | search_shodan | コミュニティ | API キー — 無料プラン |
| sublist3r | https://github.com/aboul3la/Sublist3r | search_domain | コミュニティ | なし — ローカルバイナリ |
| VirusTotal | https://www.virustotal.com | search_virustotal | コミュニティ | API キー — 無料プラン |
| WHOIS (IANA) | https://www.iana.org/whois | search_whois | コミュニティ | なし |
| DNS (system resolver) | — | search_dns | コミュニティ | なし |
| Google Search | https://www.google.com | generate_dorks | コミュニティ | なし |
制限事項
- 許可された用途に限ります。 OpenOSINT は、公開情報および準公開情報のソースを検索します。 認証を回避したり、システムを悪用したり、閲覧する権限のない情報にアクセスしたりすることはありません。 検索する各ソースについて、法令および利用規約を遵守する責任はユーザーにあります。 DISCLAIMER.md をご覧ください。
- 集約結果の完全性は保証されません。 各ツールは、上流のソースが現時点で返す情報を報告します。 否定的な結果(侵害が見つからない、アカウントが見つからない)は、ソースが一致する情報を報告しなかったことを意味するだけで、情報漏えいが存在しないことを意味するものではありません。
- ほとんどのツールは、ユーザーが管理しないサードパーティーのサービスに依存します。 21 個のツールのうち 9 個は API キーが必須であり、各プロバイダーの稼働状況、レート制限、料金の影響を受けます(Shodan、VirusTotal、Censys、AbuseIPDB、IP2Location、HaveIBeenPwned、および 3 つの Bright Data¹ 提供のツール)。 無料プランでは利用できる範囲が限られています。頻繁に利用する場合は、OpenOSINT ではなくプロバイダーの有料プランが必要です。
- ローカルのバイナリはサンドボックス化されていないサブプロセスとして実行されます。
holehe、sherlock、sublist3r、phoneinfogaは、マシン上で外部プロセスとして実行されます。 ご自身で最新の状態に保ってください。OpenOSINT はこれらにパッチを適用したり、審査したりしません。 - エンティティグラフモジュール(
openosint[graph])は補助的なものであり、確定情報ではありません。same_asリンクは、人間による確認を前提としたスコア付きの候補であり、検証済みの本人確認結果ではありません。docs/graph.md をご覧ください。 - AI の出力は手がかりであり、証拠ではありません。 エージェントが呼び出せるのは上記のツールに限られます(デフォルトでは、受動的なツールのみです)。ツールの結果は実際の実行に基づいており、その結果を生成したツール呼び出しとともに表示されます。ただし、モデルが結果を誤読したり、誤った対象に結び付けたり、重視しすぎたりすることがあり、対象によってはツールの選択が不適切または不完全な場合もあります。結論に基づいて行動する前に、生のツール出力を確認してください。
サポートと商用利用
OpenOSINT は無料で、MIT ライセンスのもとで公開されています。サポートしたり、ホスト版または契約版を購入したりする方法として、以下をご利用いただけます(いずれも任意です)。
- ホスト版: OpenOSINT Monitor(1 ドメインまで無料) · OpenOSINT Diligence。
- スポンサー: Open Collective · SPONSORSHIP.md にプランとメディアキットを掲載しています · [email protected]。現在のスポンサーは以下に掲載しています。
- 商用ライセンスとサポート: 調達向けのベンダー契約、保証、補償、SLA、または優先サポートを年間 €300 から提供しています。ソフトウェア自体の購入は不要です。COMMERCIAL.md または [email protected] をご覧ください。
注目の連携
IP2Location.io — search_ip2location を提供 · 連携ガイド
強化された IP ジオロケーション、ISP、VPN/プロキシ/Tor、データセンターの検出
TestMu AI(旧 LambdaTest)は、現代のエンジニアリングチーム向けに構築された AI ネイティブなテストクラウドプラットフォームです。自律的なテストの作成や高速実行から、AI エージェント、チャットボット、音声アシスタントのテストまで、あらゆるニーズに対応します。
公開中:侵害/漏えいした認証情報データ · メール/ID 検索 · レジデンシャルプロキシ — SPONSORSHIP.md をご覧ください。
貢献
イシューやプルリクエストを歓迎します。開発ワークフロー、連携登録チェックリスト、コーディング規約については、CONTRIBUTING.md をご覧ください。貢献する前に DISCLAIMER.md をお読みください。
デモ GIF/MP4 の再生成
export OPENOSINT_DEMO_KEY=sk-ant-... # your Anthropic key — never committed
openosint web & # start the web server on :8080
make demo # record -> encode -> write docs/assets/demo-web-graph.*
git add docs/assets/demo-web-graph.*
前提条件とパイプラインの詳細については、scripts/record-demo/README.md をご覧ください。
メンテナー
Tommaso Bertocchi
- X(個人):https://x.com/SonoTommy_
- X(OpenOSINT):https://x.com/openosint_oss
- LinkedIn:https://www.linkedin.com/company/openosintoss
- メール:[email protected]
コントリビューター
| コントリビューター | 貢献内容 |
|---|---|
| @consocio | venv/uv-tool のバイナリー解決の修正 — 別途アクティベーションしなくても、同時にインストールされたツールが見つかるようになりました(#6) |
ライセンス
OpenOSINT は MIT License のもとで公開されているオープンソースです。個人利用、商用利用、学術利用、クローズドソースでの利用を含め、あらゆる用途で無料で利用できます。
¹ この README の Bright Data リンクはアフィリエイト/紹介リンクです。これらのリンクから登録すると、追加費用なしで OpenOSINT に紹介料が支払われます。
認可されたセキュリティ調査のみにご利用ください。DISCLAIMER.md をご覧ください。
OpenOSINT v2.36.1 — 2026年10月
スター履歴
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。