关于 XposedOrNot Breach Intelligence
XposedOrNot Breach Intelligence 是一个用于查询邮箱和域名数据泄露情况的 API 与 MCP 服务,由开源项目 XposedOrNot 提供。它面向需要检查账户泄露记录的个人和开发者,免费接口可直接调用。
主要功能
- 01按邮箱查询已知数据泄露记录
- 02获取邮箱的泄露详情与风险评分
- 03列出泄露目录并按域名筛选
- 04查询域名的泄露汇总与指标
- 05提供只读工具,不返回密码
适用场景
- 01检查邮箱是否出现在已知数据泄露中
- 02在 AI 助手中查询账户泄露情况
- 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
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、端点分别应用:
| 端点 | 每秒 | 每小时 | 每天 |
|---|---|---|---|
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 端点
完整且始终保持最新的规范位于 /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 密钥——密钥通过 Web 控制台签发和管理,而不是通过公共端点获取:
- 在 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:查看某个电子邮件地址的详细泄露历史、风险评分和 Paste 暴露情况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 可让你直接访问它收集并持续更新的所有信息。你可以:
- 检查某个电子邮件地址是否出现在已知的数据泄露事件中,并查看相关统计信息,包括发生地点和时间
- 查看某个电子邮件地址是否出现在公开的 Paste 中
- 一次性搜索数据泄露事件和 Paste
- 检查某个密码是否已泄露,而无需透露你的身份
如果你只想查询信息,不想编写代码,也可以直接在网站上完成所有这些操作:https://xposedornot.com。
安全
本项目完全开源,并使用自动化安全工具(Black、Pylint、CodeQL、OpenSSF Scorecard)。有关安全详情,请参阅 SECURITY.md。
请勿通过公开的 GitHub 问题报告安全漏洞。请参阅我们的负责任披露指南,以安全的方式报告此类问题。
先决条件
- 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 并填写相应值(或在 shell 中导出这些变量)。
必填(缺少这些变量时应用程序将无法启动)
| 变量 | 用途 |
|---|---|
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 | 每个域每小时最多发送的验证邮件数 |
DOMAIN_EMAIL_IP_MAX_PER_HOUR | 10 | 每个客户端 IP 每小时最多发送的验证邮件数 |
DOMAIN_EMAIL_GLOBAL_DAILY_BUDGET | 2000 | 每日验证邮件总上限 |
贡献
请阅读 CONTRIBUTING.md,了解我们的行为准则以及向我们提交拉取请求的流程。
作者
- Devanand Premkumar - 初始工作 - DevaOnBreaches
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
致谢
-
感谢 Python 社区以及本项目所依赖的每个库的维护者。XposedOrNot 离不开你们的贡献。
-
也感谢所有审阅代码并报告问题的人:谢谢。多一双眼睛,就能发现我看不到的问题。
表达支持
如果本项目为你省去了麻烦,以下几件事确实很有帮助:
- ⭐ 为仓库点个 Star,让更多人发现它
- 复刻仓库并提交拉取请求;欢迎贡献
- 分享给可能觉得它有用的人
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。