XposedOrNot Breach Intelligence について
XposedOrNot Breach Intelligence は、メールアドレスやドメインが既知のデータ漏えいに含まれるかを確認するための API および MCP サーバーです。アカウントの漏えい状況を調べたい個人や開発者に向けており、基本的なエンドポイントは API キーなしで利用できます。
主な機能
- 01メールアドレスの既知の漏えい記録を照会
- 02メールアドレスの漏えい履歴とリスクスコアを取得
- 03ドメインで絞り込んだ漏えいカタログの一覧表示
- 04ドメインごとの漏えい概要を集計
- 05パスワードを返さない読み取り専用ツール
活用シーン
- 01メールアドレスが既知のデータ漏えいに含まれるか確認
- 02AI アシスタントからアカウントの漏えい状況を照会
- 03ドメインセキュリティ監視用に漏えいの概要を生成
MCP 対応
リモート MCP サーバーとして Streamable HTTP で提供され、check_email_breaches、get_breach_analytics、list_breaches、domain_breach_summary、get_breach_metrics、get_recent_breaches などの読み取り専用ツールを公開します。MCP クライアントは認証なしで接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.xposedornot.com/mcpclaude mcp add --transport http com-xposedornot-xposedornot https://api.xposedornot.com/mcp{"mcpServers":{"com-xposedornot-xposedornot":{"type":"http","url":"https://api.xposedornot.com/mcp"}}}Cursor で開く{"servers":{"com-xposedornot-xposedornot":{"type":"http","url":"https://api.xposedornot.com/mcp"}}}VS Code で開く{"mcpServers":{"com-xposedornot-xposedornot":{"type":"http","url":"https://api.xposedornot.com/mcp"}}}{"mcpServers":{"com-xposedornot-xposedornot":{"serverUrl":"https://api.xposedornot.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| string | はい | 侵害を確認するメールアドレス |
詳細
XposedOrNot API
🎉 リアルタイムのデータ侵害モニタリングと分析に使える無料 API です。
XposedOrNot API プレイグラウンド · XposedOrNot.com
XposedOrNot API とは?
データ侵害は絶えず発生しており、多くの人はメールアドレスやパスワードがすでに流出してから、かなり時間が経ってようやくその事実を知ります。そんな不安を抱えずに済むよう、XposedOrNot を作りました。メールアドレスやドメインを確認すれば、既知の侵害で見つかったかどうかがすぐに分かります。
このリポジトリは、侵害の検索、分析、アラートなど、すべてを支える API です。無料で利用できるオープンソースなので、私の言葉を信じるだけでなく、各チェックの仕組みを自分で確認できます。
ぜひ以下から試してみてください。役に立ったと思ったら、これを使って何かを作っていただけるとうれしいです。
XposedOrNot の開発者、Devanand Premkumar
簡単な例
メールアドレスがデータ侵害で流出しているか確認します:
curl https://api.xposedornot.com/v1/check-email/[email protected]
レスポンス:
{
"breaches": [["Adobe", "LinkedIn"]],
"email": "[email protected]",
"status": "success"
}
詳細な侵害分析を取得します:
curl "https://api.xposedornot.com/v1/[email protected]"
レート制限と API アクセス
- 基本エンドポイント(
/v1/check-email、/v1/breach-analytics、/v1/breaches)では、API キーは不要です。 - ドメインの侵害モニタリングにはAPI キーが必要です。取得方法と使用方法については、ドメインエンドポイントと API キーをご覧ください。
レート制限はIP ごと、エンドポイントごとに適用されます。
| エンドポイント | 1 秒あたり | 1 時間あたり | 1 日あたり |
|---|---|---|---|
GET /v1/check-email/{email} | 2 | 25 | 100 |
GET /v1/breach-analytics | 2 | 25 | 100 |
GET /v1/breaches | 2 | 50 | 100 |
POST /v1/domain-breaches/ | 2 | 25 | 50 |
制限を超えると、API は 429 Too Many Requests と Retry-After ヘッダー(秒数)、および retry_after と reset_time を含む JSON ボディを返します。これにより、クライアントは正確にリクエストを控えることができます。
商用利用とより高いレート制限
上記の無料 API は個人利用および少量の利用を対象としており、無料でご利用いただけます。侵害データを利用した製品を開発する場合や、より多くのスループットが必要な場合は、xonAPI+で、月額 $5 からの有料プランをご利用いただけます。レート制限は最大毎分 25,000 リクエストで、API キーによるアクセスと商用サポートが含まれます。同じ侵害データを利用でき、このサービスによって無料プランが無料で維持されています。
詳細については、API ドキュメントとAPI プレイグラウンドをご覧ください。
API エンドポイント
最新の完全な仕様は、/docs(Swagger)と/openapi.jsonにあります。よく利用するエンドポイントは次のとおりです。
侵害の検索
| メソッド | パス | 機能 |
|---|---|---|
| GET | /v1/check-email/{email} | 簡易チェック:このメールアドレスは既知の侵害に含まれていますか? |
| GET | /v1/breach-analytics?email= | メールアドレスの詳細な侵害分析 |
| GET | /v1/breaches | 既知の侵害をすべて一覧表示(?domain=は任意) |
| GET | /v1/domain-breach-summary | ドメインの侵害の概要 |
統計とフィード
| メソッド | パス | 機能 |
|---|---|---|
| GET | /v1/metrics | 侵害の主要指標 |
| GET | /v1/metrics/detailed | 拡張指標 |
| GET | /v1/metrics/domain/{domain} | 単一ドメインの指標 |
| GET | /v1/analytics/pulse | 最近の侵害アクティビティの概要 |
| GET | /v1/xon-pulse | XposedOrNot のアクティビティフィード |
| GET | /v1/rss | RSS フィードによる侵害情報の更新 |
ドメインエンドポイントと API キー
ドメインの侵害データを利用するには、まずそのドメインの所有権を確認する必要があります。また、リクエストの認証にはアカウントに紐づく API キーを使用します。
API キーの取得 — キーの発行と管理は、公開エンドポイントではなくウェブコンソールから行います。
- xposedornot.comにサインインします。
- CxO Dashboardを開き、モニタリングするドメインを確認します。
- API Key Management(ダッシュボードからリンクされています)に移動します。キーはそこで確認できます。キーをローテーションするには、Reset API Keyを使用します。
キーの使用 — x-api-key ヘッダーにキーを渡します。domain-breaches エンドポイントにボディは不要です。確認済みのすべてのドメインにわたる侵害情報を返します。
curl -L -X POST \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Length: 0" \
https://api.xposedornot.com/v1/domain-breaches/
無効なキー(または確認済みのドメインがないキー)を指定すると、401 Invalid or missing API keyが返されます。x-api-key ヘッダーを省略すると、422が返されます。ドメイン確認とアラート登録の全手順については、API ドキュメントをご覧ください。
AI ツールから利用する(MCP)
XposedOrNot には Model Context Protocol
サーバーが組み込まれているため、AI アシスタントから侵害情報を直接確認できます。MCP クライアントの接続先を
https://api.xposedornot.com/mcp に設定してください(Streamable HTTP、POST 経由の JSON-RPC 2.0)。
API キーや認証は不要です。すべてのツールは読み取り専用で、パスワードを返すことはありません。
公開されているツール:
check_email_breaches:メールアドレスが既知の侵害情報に含まれているかを確認しますget_breach_analytics:メールアドレスの詳細な侵害履歴、リスクスコア、ペーストへの流出情報を確認しますlist_breaches:侵害情報のカタログを閲覧し、ドメインまたは侵害 ID で絞り込みますdomain_breach_summary:ドメインの侵害件数を集計しますget_breach_metrics:システム全体の侵害統計を確認しますget_recent_breaches:最近追加された侵害情報を新しい順に表示します
簡単な接続方法:
claude mcp add --transport http xposedornot https://api.xposedornot.com/mcp
Cline、Cursor、Gemini CLI などのクライアントについては、
llms-install.md をご覧ください。機械可読なサーバーカードは
https://api.xposedornot.com/.well-known/mcp/server-card.json にあります。
簡単な tools/list 呼び出し:
curl -X POST https://api.xposedornot.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
XposedOrNot API を使う理由
XposedOrNot は、データ侵害を監視してアラートを送る初のオープンソースツールです。この API を使うと、収集して最新の状態に保っているすべての情報に直接アクセスできます。次のことができます。
- メールアドレスが既知のデータ侵害に含まれているかを、発生場所や時期の統計とともに確認する
- メールアドレスが公開ペーストに含まれているかを確認する
- 侵害情報とペーストの両方を対象に、一度に検索する
- 自分の身元を明かすことなく、パスワードが流出しているかを確認する
コードを書かずに情報を調べたいですか?これらの操作はウェブサイトでも行えます:https://xposedornot.com。
セキュリティ
このプロジェクトは完全なオープンソースで、自動化されたセキュリティツール(Black、Pylint、CodeQL、OpenSSF Scorecard)を使用しています。セキュリティの詳細については、SECURITY.md をご覧ください。
セキュリティ上の脆弱性を、公開 GitHub イシューで報告しないでください。安全な方法で報告するには、Responsible Disclosure Guidelines をご覧ください。
前提条件
- Docker(推奨):Docker 20.10 以降、および Docker Compose V2
- ローカルインストール:Python 3.11 以降、Google Cloud SDK
ローカル開発のクイックスタート
Docker Compose を使用する(推奨)
-
リポジトリをクローンします:
git clone https://github.com/XposedOrNot/XposedOrNot-API -
必要に応じて docker-compose.yml ファイルの環境変数を更新してから、次を実行します:
docker compose upこのコマンドは API と Datastore の Docker イメージをビルドします。プロジェクトのソースディレクトリは Docker コンテナにマッピングされているため、ソースコードを変更しても Docker イメージを再ビルドする必要はありません。
ローカルインストール
-
リポジトリをクローンする:
git clone https://github.com/XposedOrNot/XposedOrNot-API -
必要なパッケージをインストールする
sudo apt-get install -y python3-pip build-essential libffi-dev python3-dev次に、gcloud CLI をインストールします。標準の Debian/Ubuntu リポジトリには含まれておらず、手順 4(Datastore の認証またはローカルエミュレーター)で必要です。
-
Python ライブラリをインストールする
pip3 install -r requirements.txt -
Google Cloud Datastore をセットアップする
XposedOrNot-API を実行する前に、以下のいずれかを選択してください。
-
Google DataStore エミュレーターをローカルで実行する と、Google DataStore に直接接続せず、ローカルエミュレーターを使ってデバッグします。
# posix プラットフォーム(linux、mac など)の場合: gcloud beta emulators datastore start -
Google DataStore の認証を行うと、Google DataStore を使って直接デバッグできます。
-
アプリケーションを実行する
python3 main.py
設定
設定は環境変数から読み込まれます。Docker Compose の場合は、これらの値がすでに
docker-compose.yml に設定されています。ローカルインストールの場合は、.env.example を
.env にコピーして値を入力するか、シェルでエクスポートしてください。
必須(設定されていないとアプリは起動しません)
| 変数 | 用途 |
|---|---|
SECRET_APIKEY | 発行する API キーの署名に使用するシークレット |
SECURITY_SALT | 検証トークンの署名に使用するソルト |
WTF_CSRF_SECRET_KEY | CSRF 保護用のシークレット |
ENCRYPTION_KEY | 保存データの暗号化に使用する Fernet キー |
AUTH_EMAIL | Cloudflare アカウントのメールアドレス |
AUTHKEY | Cloudflare API キー |
CF_MAGIC | Cloudflare 統合トークン |
CF_UNBLOCK_MAGIC | Cloudflare のブロック解除トークン |
MJ_API_KEY | アラートメールの送信に使用する Mailjet API キー(mailjet.com) |
MJ_API_SECRET | Mailjet API シークレット |
ローカル開発では、これらに任意のプレースホルダー値を設定できます。
docker-compose.ymlのデフォルト値で期待される形式を確認できます。
Redis(レート制限と状態管理)
| 変数 | デフォルト値 | 備考 |
|---|---|---|
REDIS_HOST | localhost | Redis ホスト |
REDIS_PORT | 6379 | Redis ポート |
REDIS_DB | 0 | Redis データベース番号 |
REDIS_PASSWORD | (none) | Redis で認証が必要な場合に設定します |
Google Cloud(Datastore と Pub/Sub)
| 変数 | デフォルト値 | 備考 |
|---|---|---|
PROJECT_ID | (none) | GCP プロジェクト ID |
DATASTORE_EMULATOR_HOST | (none) | ローカルエミュレーターを指定します(例:localhost:8000) |
TOPIC_ID | (none) | ライブ訪問者グローブフィード用の Pub/Sub トピック |
任意
| 変数 | デフォルト値 | 備考 |
|---|---|---|
ENVIRONMENT | production | production または development |
BASE_URL | https://api.xposedornot.com | リンクで使用する公開ベース URL |
PORT | 8080 | サーバーがリッスンするポート |
ENABLE_SCHEDULER | false | バックグラウンドのダイジェストスケジューラーを実行します |
DEBUG_EMAIL | (none) | デバッグメールの宛先を上書きします |
SENIORITY_ENRICH_URL / SENIORITY_ENRICH_SECRET | (none) | 外部の職位情報補完サービス |
DOMAIN_EMAIL_LIMITS_ENABLED | true | ドメインメール検証の大量送信防止制限を無効にするスイッチ |
DOMAIN_EMAIL_RECIPIENT_COOLDOWN_SECONDS | 900 | 同じ役割アドレスへのチャレンジ送信間のクールダウン |
DOMAIN_EMAIL_DOMAIN_MAX_PER_HOUR | 5 | ドメインあたりの1時間ごとの検証メール最大数 |
DOMAIN_EMAIL_IP_MAX_PER_HOUR | 10 | クライアント IP あたりの1時間ごとの検証メール最大数 |
DOMAIN_EMAIL_GLOBAL_DAILY_BUDGET | 2000 | 検証メールの全体での1日あたりの上限 |
貢献
行動規範と、プルリクエストを送信する手順については、CONTRIBUTING.md をお読みください。
作者
- Devanand Premkumar - 初期開発 - DevaOnBreaches
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
謝辞
-
Python コミュニティと、このプロジェクトが依存しているすべてのライブラリのメンテナーに感謝します。XposedOrNot は、皆さんの成果の上に成り立っています。
-
コードをレビューし、問題を報告してくださった皆さんにも感謝します。自分では気づけない点も、別の人の目があれば見つかります。
サポートをお願いします
このプロジェクトが手間を省くのに役立った場合、次のことをしていただけると本当に助かります。
- ⭐ リポジトリにスターを付けて、ほかの人にも見つけてもらいやすくする
- フォークしてプルリクエストを送信する。貢献を歓迎します
- 役立ちそうな人に共有する
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。