Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
leakish — 浏览器隐私泄露检测器 — 八个检测模块、风险评分以及按账户划分的历史记录,全部在您的浏览器中。 | Kitploit
工具/GitHubGitHub/qruiqai/leakish
OSINT (开源情报)网络映射漏洞分析信息收集Web安全隐私保护学习与教育API 安全DNS 分析异常检测
GitHubqruiqai/leakish

leakish

浏览器隐私泄露检测器 — 八个检测模块、风险评分以及按账户划分的历史记录,全部在您的浏览器中。

712个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库网站

Leakish

浏览器隐私泄露检测器 — 包含八个检测模块、风险评分和每账户历史记录,全部集成于浏览器中。

Built with Verdent Next.js 14 React 18 TypeScript 5 Prisma

基于 Verdent 构建 — 一个智能编码助手。 每一个检测模块、分析仪表板、API密钥认证流程、双语界面以及支持Kubernetes的Docker镜像,均通过Verdent驱动的结对编程会话设计并实现。


这是什么

打开一个 URL,点击 运行全部,几秒钟内 Leakish 就会告诉你浏览器通过 WebRTC、指纹 API、DNS 以及服务器端探测泄露了哪些关于你和网络的信息。八个独立模块各自输出类型化结果及风险信号,一个聚合评分(0–100)和级别(安全 / 警告 / 严重)。

登录用户可以将扫描结果保存到 MySQL,浏览历史记录,并打开一个分析仪表板,显示分布图表、指纹哈希重复情况、IP/ASN 时间线、异常扫描以及成对比较。其他所有功能(检测器本身)无需账户即可使用 —— 任何人都可以直接访问 /app 运行扫描。

检测模块

每个模块都通过一个统一的类型化 DetectionModule<T> 接口注册,并隔离运行——一个模块抛出异常不会影响其他模块。每个模块的启用状态存储在 localStorage 中,带有版本键,刷新后保持不变,运行全部按钮仅遍历已启用的集合。

功能特性

  • 浏览器内检测 — 每个模块都在用户标签页中运行。服务器仅参与以下情况:(a) 用户登录并保存扫描结果;(b) 网络探测模块访问 /api/detect/network 读取其自身由服务器观察到的 IP;(c) DNS 模块与 https://dns.google/resolve 通信。
  • 双语界面 — 完全支持英文/中文。区域设置在 leakish.locale cookie 中保存,驱动 <html lang>、页面元数据、每个界面、每个 API 错误响应以及魔法链接登录邮件。
  • 身份认证 — NextAuth 支持 Google OAuth + 魔法链接邮件(Mailgun);Prisma 适配器连接 MySQL。开发环境下邮件为可选项——当未配置 Mailgun 时,链接会打印到服务器日志。
  • 编程访问 — 用户可以在 集成 页面生成 det_… API 密钥(SHA-256 存储,明文仅显示一次)。每个 /api/detect/* 端点都接受会话 cookie 或 Bearer 密钥,因此可以从 CLI/CI 作业保存相同的扫描结果。
  • 分析仪表板 位于 /scans/analytics — 展示时区/平台/语言/屏幕/WebGL/ASN/国家/字体数量的分布图表、按类型分组的指纹哈希重复及风险评级、IP/ASN 时间线、多轴异常检测器、以及相似度评分 0-100 的成对比较。
  • 带信号可追溯性的风险模型 — lib/risk/assess.ts 生成具有稳定 ID 的类型化 RiskSignal(例如 webrtc.public-ip-leak)、每个模块的摘要以及一个聚合分数。通过 Messages 注入支持区域感知。

快速开始

前提条件:Node 22+(任何 20+ 版本均可用于本地开发)、Yarn 1.x、运行中的 MySQL 实例,以及(可选)Google OAuth 客户端。

root@kitploit:~
yarn install
cp env.example .env.local      # 至少填写 DATABASE_URL、NEXTAUTH_SECRET、IP_HASH_SALT
yarn prisma:generate
yarn db:push                   # 在全新数据库上建表
yarn dev                       # http://localhost:3000

实现登录功能所需的最小环境变量:

  • DATABASE_URL — 例如 mysql://root:[email protected]:3306/detect
  • NEXTAUTH_SECRET — openssl rand -base64 32
  • NEXTAUTH_URL — 开发环境下为 http://localhost:3000
  • IP_HASH_SALT — openssl rand -base64 32

可选的环境变量:

  • GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET 用于 Google 登录
  • MAILGUN_API_KEY / MAILGUN_DOMAIN / EMAIL_FROM 用于真实的魔法链接邮件投递(没有这些时,链接会打印到开发服务器控制台)
  • IPINFO_TOKEN 用于为网络探测添加 ASN / VPN / 代理数据

完整注释列表请参见 env.example。

路由

项目结构

root@kitploit:~
app/
├── (marketing)/         # / — 落地页(服务端解析认证状态 + 客户端 UI)
├── app/                 # /app — 检测器页面
├── login/               # /login
├── scans/               # /scans, /scans/[id], /scans/analytics
├── integrations/        # /integrations — API 密钥管理
├── api/
│   ├── auth/            # NextAuth 路由 + apiKey 登录 + 测试
│   ├── detect/
│   │   ├── analytics/   # 聚合 + 成对差异
│   │   ├── network/     # 服务端出口探测
│   │   ├── scans/       # 保存 / 列表 / 获取 / 删除
│   │   └── uniqueness/  # 有多少用户共享此指纹哈希
│   ├── integration/keys # 创建 / 撤销 / 列表 API 密钥
│   └── health/          # Kubernetes 存活探针
├── opengraph-image.tsx  # 动态 OG(按区域设置)
├── apple-icon.tsx       # 动态苹果触控图标
├── icon.svg             # 盾牌渐变
└── layout.tsx           # 元数据 + 主题初始化脚本 + LocaleProvider

components/
├── modular-detector.tsx          # 顶层外壳(头部 + 模块列表 + 结果/概览)
├── detector/                     # 模块列表、结果面板、分类过滤器、状态钩子
├── result-details/               # 每个模块的详情视图(类型化 switch)
├── overview/                     # 概览面板 + 诊断导出
├── auth/                         # AuthGateProvider、登录对话框、登录表单
├── providers/                    # SessionProvider 包装器
└── ui/                           # shadcn 风格基础组件 + 主题/区域设置切换

lib/
├── detection-modules/            # 8 个模块实现 + ModuleManager + IP 工具 + 测试
├── risk/                         # assess.ts — RiskSignal/分数聚合
├── i18n/                         # en.ts / zh.ts + Messages 类型 + 区域设置客户端/服务端
├── api/                          # withDetectAuth 包装器、扫描载荷 Zod 模式
├── client/                       # 浏览器端扫描 API(extractFingerprintInputs、saveScan、lookupUniqueness)
├── server/                       # 网络探测、IP 哈希盐、指纹哈希、速率限制、发送邮件、分析
├── persistence/                  # SSR 安全的 localStorage 包装器
├── env.ts                        # 运行时环境变量验证
├── logger.ts                     # 开发环境诊断日志
└── prisma.ts                     # 指向 .prisma/detect-client 的单例客户端

prisma/schema.prisma              # User / Account / Session / DetectScan / ApiKey / DetectFingerprintHash

扫描往返流程

  1. 用户在 /app 中点击 运行全部。检测器通过 ModuleManager.runAllEnabledModules 遍历已启用的模块——每个模块的失败都会被捕获并隔离,因此其他结果仍然可以显示。
  2. 每个模块都返回一个类型化的 DetectionResult<T>(带有 success | failure 标签以及模块特定的 data)。结果面板通过类型安全的 switch 渲染每个模块的详情组件。
  3. lib/risk/assess.ts 遍历每个结果,发出带有稳定 ID 的 RiskSignal,并生成 OverallAssessment(分数 + 等级 + 计数)。
  4. 点击 保存此扫描 后,客户端提取结构化载荷 + 指纹哈希(canvas2d / webgl / audio / fontset / UA),并 POST 到 /api/detect/scans。服务器使用 Zod 验证,运行自己的网络探测以记录服务器观察到的 IP / ASN / VPN 标志,并写入一行 DetectScan 以及若干 DetectFingerprintHash 行。

技术栈

测试

单元测试与其测试对象位于同一目录下的 __tests__/ 文件夹中:

root@kitploit:~
yarn test                    # 运行全部测试
yarn test path/to/file       # 运行单个文件
yarn test -t "name pattern"  # 根据测试名称正则匹配运行

亮点:

  • lib/detection-modules/__tests__/ — IP 分类 + mDNS 提取、模块管理器注册与故障隔离、模拟的 RTCPeerConnection 用于 WebRTC 模块、jsdom 形状测试用于浏览器指纹模块、CDP/自动化信号生成。
  • lib/server/__tests__/analytics.test.ts — 分布分桶、重复分组、异常评分、成对相似度计算。
  • app/api/detect/scans/__tests__ — POST 保存(验证、速率限制、幂等性、修剪)+ GET 列表 + DELETE 单条。
  • app/api/integration/keys/__tests__ — 创建 / 撤销 / 列表,带模式限制(API 密钥会话无法生成其他 API 密钥)。
  • app/api/auth/__tests__ — apiKey 登录路由(CSRF、格式检查、已撤销/已过期的处理、最后使用时间更新)。

Lint + 类型检查:

root@kitploit:~
yarn lint
npx tsc --noEmit

部署

附带的 Dockerfile 在 node:22-alpine 上生成一个 Next.js standalone 镜像。生产环境变量通过 Kubernetes Secret 注入——构建时嵌入占位值,因此运行时无需 SKIP_ENV_VALIDATION。一个 prisma db push Job 在部署前运行 schema。完整流程(镜像构建 → 迁移 → 部署)请参见 .github/workflows/deploy-tke.yml。

计费与订阅

此开源版本没有付费墙。保存操作仅受 lib/server/rate-limit.ts 中进程内每用户速率限制器约束(10 次保存/小时),历史记录保留不受限制。

致谢

  • Verdent — 用于端到端构建此项目的智能编码助手。
  • NextAuth — 认证基础设施。
  • Prisma — schema、迁移、生成的客户端。
  • shadcn/ui + Radix UI — 构建此 UI 的可访问基础组件。
  • Tailwind CSS — 样式系统。
  • ipinfo.io — 网络探测使用的免费 ASN / VPN 数据。
  • Mailgun — 生产环境下的魔法链接邮件投递。

许可证

参见 LICENSE。

下载工具
ID模块检测内容
network-probe网络出口探测服务器观察到的公网 IP、ASN、国家/地区/城市、VPN/代理/Tor/托管标志、TLS/HTTP
webrtcWebRTC通过 STUN 获取的公网 IPv4 + IPv6、RFC1918 泄露、mDNS 混淆的 .local 候选地址
browser-fingerprint浏览器指纹UA、屏幕、时区、插件、CPU 核心数、设备内存、语言列表、DNT、Cookie
canvas-fingerprintCanvas / WebGL2D + WebGL 渲染器/供应商字符串、文本渲染特性、支持的图像格式
audio-fingerprint音频AudioContext 采样率、通道数、延迟、振荡器输出哈希
font-detection字体通过 Canvas 宽度差异检测 40+ 种命名字体探针
dnsDNSDoH 可达性、DNSSEC 信号、解析器地理位置、DNS 泄露启发式检测
cdp-detection自动化/无头浏览器navigator.webdriver、CDP 时间、Chromium 独有 API 表面、端口探测 — 置信度 0–1
  • 幂等保存 + 每用户修剪 — POST /api/detect/scans 接受 Idempotency-Key 头部,每个用户最多保存 200 次扫描,保存速率限制为 10 次/小时。
  • 生产级 Docker 镜像 — 基于 node:22-alpine 的多阶段构建,Next.js standalone 输出,通过 .github/workflows/ 下的工作流部署到 Kubernetes。
  • 路径用途
    /营销落地页(极光英雄区、功能卡片、FAQ、行动号召)
    /app检测器 — 模块列表 + 结果面板 + 概览
    /login独立登录页面(Google / 邮件 / API 密钥)
    /scans已登录用户的扫描历史保存记录
    /scans/[id]单次保存扫描的详情
    /scans/analytics分布 / 重复 / 时间线 / 异常值 / 比较
    /integrations管理 det_… API 密钥(创建 / 撤销 / 使用说明)
  • 扫描随后可在 /scans/[id] 查看,贡献给分析聚合结果,并计入唯一性查询。
  • 层组件
    框架Next.js 14(App Router,全 force-dynamic),React 18
    语言TypeScript 5,严格模式
    UITailwind CSS 3、基于 Radix 的 shadcn/ui 基础组件、Lucide 图标、Framer Motion
    认证NextAuth 4(Google OAuth + 魔法链接邮件)+ Prisma 适配器
    数据Prisma 6 → MySQL(自定义客户端输出于 .prisma/detect-client)
    验证Zod
    测试Jest 29 + ts-jest + jsdom
    构建/部署多阶段 Dockerfile、Next.js standalone、Kubernetes 清单