个人信息泄露检测工具,自托管SQLite方案,隐私优先

个人信息泄露检测工具,自托管SQLite方案,隐私优先最新版

官方版无广告12

更新日期:2026年8月27日分类标签: 语言:中文平台:没限制

0 人已下载 手机查看

leak-check:4473 Stars 的个人信息泄露检测工具,自托管 SQLite 方案,隐私优先的数据泄露查询接口

一、项目概览

garinasset/leak-check 是一个个人信息泄露检测 API 和本地 CLI 工具——它允许你查询邮箱、手机号、用户名等标识符是否出现在已知数据泄露事件中。

项目提供两种使用方式:

  • 托管 APIhttps://leak-check.garinasset.com
  • 本地部署:SQLite 数据库 + Uvicorn 服务器,完全自托管

截至 2026 年 4 月:

  • Stars:4,473 / Forks:475
  • 许可证:MIT
  • 技术栈:Python 3.12 + FastAPI/Uvicorn + SQLite
  • 创建时间:2026 年 3 月,最后推送 2026 年 4 月

二、核心宣言:用户有权知道

README 中有三条明确的宣言:

  1. “不记录”查询记录
  2. “不提供”更多信息(只返回是否存在泄露,不返回完整数据)
  3. “别忘记”舆论监督

核心理念:你有权了解你的数据处于何种状态。

三、技术架构

本地部署方案

项目采用 Python 3.12 + Uvicorn ASGI 服务器 + SQLite 的轻量架构:

  • 数据库层:SQLite(db/leak-check.db),单文件,支持本地完全控制
  • API 层:FastAPI/Uvicorn,暴露 GET/POST 端点
  • 隐私层:所有输出经脱敏处理(lib/masking.py),如手机号只显示前 3 位和后 4 位

数据库 Schema

两张核心表:

  • source:泄露源信息(如 “example-dump-2025″)
  • person:PII 字段(id/name/receiver/nickname/phone/address/car/email/qq/weibo/contact/company/source_id)

支持字段:手机号、邮箱、姓名、QQ、微博、地址、车牌号、公司等。

一条命令安装

curl -LsSf https://raw.githubusercontent.com/garinasset/leak-check/refs/heads/main/install.sh | bash

脚本会自动:克隆仓库 → 创建虚拟环境 → 安装依赖(uv)→ 启动 Uvicorn 服务(端口 8000)→ 可选 systemd 服务注册。

API 使用示例

import os, requests

API_KEY = os.environ["LEAK_CHECK_API_KEY"]
BASE_URL = "https://leak-check.garinasset.com"

def check_email(email: str) -> dict:
    headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
    response = requests.post(
        f"{BASE_URL}/api/check",
        json={"query": email, "type": "email"},
        headers=headers, timeout=10
    )
    return response.json()

result = check_email("[email protected]")
print(result)

支持的查询类型:email / phone / username / ip

四、与 Have I Been Pwned 的对比

维度 leak-check Have I Been Pwned (HIBP)
架构 联邦查询(或本地 SQLite) 集中式数据库
隐私保护 脱敏输出,不返回完整数据 k-anonymity(hash 前缀搜索)
数据源 第三方 API + 用户自建 SQLite 官方精选泄露库
自托管 ✅ 完全本地部署 ❌ 无自托管选项
数据范围 支持中国特定字段(QQ/微博/台湾身份证) 以国际泄露为主
查询日志 ❌ 不记录 未知
法律风险 ⚠️ 取决于数据源合法性 ✅ 合规经营多年

五、适用场景

推荐使用:

  • 个人自查:检查自己的邮箱/手机号是否出现在公开泄露中
  • 企业安全审计:批量检查员工账号是否泄露(合规前提)
  • 安全研究者:研究泄露数据的分布和影响范围(学术用途)
  • CI/CD 集成:在用户注册流程中加入泄露检测

需要注意:

  • 数据源合法性:本项目不提供数据拷贝,用户需要自己获取泄露数据库
  • 覆盖范围:检测结果完全依赖于数据库内容,不保证全面
  • 时效性:新发生的泄露可能需要数周/数月才能进入数据库

六、隐私设计亮点

  • 不记录查询日志:避免二次泄露风险
  • 脱敏输出:手机号只显示前 3 位和后 4 位,邮箱只显示前缀首字母和域名
  • 本地部署选项:可以在完全离线环境下运行,数据不离开本地
  • 开源代码:MIT 许可证,可审计

七、法律与伦理边界

评测这类工具必须说清楚它的灰色地带:

数据源的合法性

  • 项目本身不提供泄露数据,只提供查询接口
  • 用户自行获取泄露数据库时,需要遵守当地法律(持有/传播泄露数据在很多国家违法)
  • 查询第三方 API(如 Snusbase/DeHashed)可能违反其服务条款

适用法律

  • 中国:《网络安全法》《个人信息保护法》对泄露数据持有和处理有严格限制
  • 欧盟:GDPR 要求对泄露数据的处理需合法依据
  • 美国:各州法律不同,部分州对泄露数据持有有刑事处罚

建议使用方式

  1. 仅查询自己的数据(自我保护目的)
  2. 企业使用时确保员工知情同意
  3. 不要持有/传播完整的泄露数据库
  4. 优先考虑 Have I Been Pwned 等合规服务

八、部署要求

  • Python:3.12+
  • 依赖:requests(主要),uvicorn,fastapi
  • 数据库:SQLite(项目提供 example.db 作为示例)
  • 硬件:单 50MB DB 文件可运行在树莓派 4 上,约 200 qps
  • 系统:Linux/macOS/Windows,支持 systemd 服务注册

九、一句话总结

leak-check 是一个个人信息泄露检测工具,提供托管 API 和本地 SQLite 方案,支持邮箱/手机号/用户名/IP 查询,输出脱敏处理,不记录查询日志,MIT 开源。适合个人自查和企业安全审计,但需注意数据源合法性和当地法律边界。

GitHub 地址:https://github.com/garinasset/leak-check
托管 API:https://leak-check.garinasset.com

相关软件

暂无评论

暂无评论...