Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
leakish — Обнаружитель утечек приватности в браузере — восемь модулей обнаружения, оценка риска и история по аккаунтам, всё в вашем браузере. | Kitploit
Инструменты/GitHubGitHub/qruiqai/leakish
OSINT (Разведка открытых источников)Картирование сетиАнализ уязвимостейСбор информацииВеб-безопасностьКонфиденциальностьОбучение и ОбразованиеБезопасность 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) и уровень (safe / warning / critical).

Авторизованные пользователи могут сохранять сканы в MySQL, просматривать историю и открывать панель аналитики, которая показывает диаграммы распределения, повторяемость хэшей отпечатков, временную шкалу IP/ASN, выбросы и попарное сравнение. Всё остальное (сам детектор) работает без аккаунта — любой может перейти на /app и запустить скан.

Модули обнаружения

Каждый модуль регистрируется через единый типизированный интерфейс DetectionModule<T> и выполняется изолированно — сбой одного модуля не влияет на другие. Состояние включения каждого модуля сохраняется в localStorage с ключом версии, переживает обновление страницы, а кнопка Запустить всё обрабатывает только включённые модули.

Возможности

  • Обнаружение в браузере — каждый модуль выполняется в вкладке пользователя. Сервер задействуется только тогда, когда (а) пользователь авторизован и сохраняет скан, (б) модуль network-probe обращается к /api/detect/network, чтобы получить собственный IP, наблюдаемый сервером, или (в) модуль DNS связывается с https://dns.google/resolve.
  • Двуязычный интерфейс — полный паритет английского и китайского. Локаль хранится в куке leakish.locale, управляет <html lang>, метаданными страниц, каждым экраном, каждым ответом API с ошибкой и письмом для входа по магической ссылке.
  • Аутентификация — NextAuth с Google OAuth + магические ссылки по email (Mailgun); адаптер Prisma на MySQL. Email опционален в разработке — ссылки выводятся в лог сервера, если Mailgun не настроен.
  • Программный доступ — пользователи могут создавать ключи API det_… на странице Интеграции (SHA-256 хранится, открытый текст показывается один раз). Каждый конечный пункт /api/detect/* принимает либо сессионную куку, либо Bearer-ключ, поэтому один и тот же скан можно сохранить из CLI / CI-задачи.
  • Панель аналитики по адресу /scans/analytics — диаграммы распределения по часовому поясу / платформе / языку / экрану / WebGL / ASN / стране / количеству шрифтов, повторяемость хэшей отпечатков с оценкой риска для каждого вида, временная шкала IP/ASN, многомерный детектор выбросов, попарное сравнение с оценкой сходства 0–100.
  • Модель риска с отслеживаемостью каждого сигнала — lib/risk/assess.ts генерирует типизированные с устойчивыми ID (например, ), сводки по модулям и единую агрегированную оценку. Осведомлённость о локали через внедрение .

Быстрый старт

Предварительные требования: 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 + вход по API-ключу + тесты
│   ├── detect/
│   │   ├── analytics/   # Агрегированные данные + попарные различия
│   │   ├── network/     # Серверный зонд исхода
│   │   ├── scans/       # Сохранение / список / получение / удаление
│   │   └── uniqueness/  # Сколько пользователей имеют такой же хэш отпечатка
│   ├── integration/keys # Создание / отзыв / список API-ключей
│   └── health/          # Зонд жизнеспособности для k8s
├── opengraph-image.tsx  # Динамическое OG-изображение (по локали)
├── apple-icon.tsx       # Динамическая иконка apple-touch
├── 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 для payload скана
├── client/                       # Клиентская API для сканов (extractFingerprintInputs, saveScan, lookupUniqueness)
├── server/                       # Сетевой зонд, соль IP-хэша, хэширование отпечатков, ограничение скорости, отправка письма, аналитика
├── persistence/                  # SSR-безопасные обёртки localStorage
├── env.ts                        # Проверка окружения во время выполнения
├── logger.ts                     # Диагностический логгер (только для разработки)
└── prisma.ts                     # Синглтон клиента, нацеленного на .prisma/detect-client

prisma/schema.prisma              # Пользователь / Аккаунт / Сессия / DetectScan / ApiKey / DetectFingerprintHash

Как выполняется сканирование

  1. Пользователь нажимает Запустить всё в /app. Детектор перебирает включённые модули через ModuleManager.runAllEnabledModules — сбой каждого модуля перехватывается и изолируется, чтобы остальные результаты всё равно отображались.
  2. Каждый модуль возвращает типизированный DetectionResult<T> (с тегом success | failure и специфичными для модуля данными). Панель результатов отображает детальный компонент для каждого модуля через типобезопасный switch.
  3. lib/risk/assess.ts проходит по каждому результату, генерирует RiskSignal с устойчивыми ID и формирует OverallAssessment (оценка + уровень + количество).
  4. При Сохранить этот скан клиент извлекает структурированный payload + хэши отпечатков (canvas2d / webgl / audio / fontset / UA) и отправляет POST на /api/detect/scans. Сервер проверяет с помощью Zod, запускает собственный сетевой зонд для записи наблюдаемого сервером IP/ASN/флагов VPN и записывает строку DetectScan плюс строки .

Технологический стек

Тесты

Модульные тесты находятся рядом с тестируемым кодом в каталогах __tests__/:

root@kitploit:~
yarn test                    # полный набор
yarn test path/to/file       # один файл
yarn test -t "name pattern"  # по регулярному выражению имени теста

Основные моменты:

  • lib/detection-modules/__tests__/ — классификация IP + извлечение mDNS, регистрация модулей и изоляция сбоев, моки RTCPeerConnection для модуля WebRTC, тесты формы jsdom для модуля browser-fingerprint, генерация сигналов 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__ — маршрут входа по API-ключу (CSRF, проверка формата, обработка отозванных/просроченных, обновление времени последнего использования).

Линтер + проверка типов:

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

Развёртывание

Включённый Dockerfile создаёт автономный образ Next.js на node:22-alpine. Производственное окружение внедряется через секрет Kubernetes — значения-заглушки запекаются на этапе сборки, так что SKIP_ENV_VALIDATION не требуется во время выполнения. Job prisma db push выполняет схему перед развёртыванием. Полный конвейер сборки образа → миграции → развёртывания см. в .github/workflows/deploy-tke.yml.

Биллинг и подписки

Эта сборка с открытым исходным кодом не имеет платного доступа. Сохранения регулируются только внутрипроцессным ограничителем скорости на пользователя в lib/server/rate-limit.ts (10 сохранений/час), а хранение истории неограничено.

Благодарности

  • Verdent — агентный ассистент по программированию, использованный для создания этого проекта от начала до конца.
  • NextAuth — основа аутентификации.
  • Prisma — схема, миграции, сгенерированный клиент.
  • shadcn/ui + Radix UI — доступные примитивы, на которых построен UI.
  • Tailwind CSS — система стилей.
  • ipinfo.io — бесплатные данные ASN/VPN, используемые сетевым зондом.
  • Mailgun — доставка писем с магическими ссылками в производстве.

Лицензия

См. LICENSE.

Скачать инструмент
IDМодульЧто проверяет
network-probeЗонд сетевого исходаОбщедоступный IP, ASN, страна/регион/город, флаги VPN/прокси/Tor/хостинг, TLS/HTTP
webrtcWebRTCПубличные IPv4 + IPv6 через STUN, утечки RFC1918, mDNS-обфусцированные кандидаты .local
browser-fingerprintОтпечаток браузераUA, экран, часовой пояс, плагины, ядра CPU, память устройства, список языков, DNT, куки
canvas-fingerprintCanvas / WebGLСтроки рендерера/вендора 2D + WebGL, особенности отрисовки текста, поддерживаемые форматы изображений
audio-fingerprintАудиоAudioContext частота дискретизации, каналы, задержка, хэш выхода осциллятора
font-detectionШрифты40+ проб именованных шрифтов через определение разницы ширины Canvas
dnsDNSДоступность DoH, сигнал DNSSEC, геолокация резолвера, эвристики утечки DNS
cdp-detectionАвтоматизация/безголовостьnavigator.webdriver, тайминги CDP, только для Chromium API, портовые пробы — достоверность 0–1
RiskSignal
webrtc.public-ip-leak
Messages
  • Идемпотентное сохранение + очистка на пользователя — POST /api/detect/scans принимает заголовок Idempotency-Key, ограничивает каждого пользователя 200 сканов и ограничивает скорость сохранения до 10/час.
  • Docker-образ production-уровня — многоступенчатая сборка на node:22-alpine, автономный вывод Next.js, развёртывается на Kubernetes через workflow в .github/workflows/.
  • ПутьНазначение
    /Маркетинговая лендинг (hero с полярным сиянием, карточки возможностей, FAQ, CTA)
    /appДетектор — список модулей + панель результатов + обзор
    /loginОтдельная страница входа (Google / email / API-ключ)
    /scansИстория сохранённых сканов авторизованного пользователя
    /scans/[id]Детали одного сохранённого скана
    /scans/analyticsРаспределение / повторяемость / временная шкала / выбросы / сравнение
    /integrationsУправление API-ключами det_… (создание / отзыв / инструкция)
    DetectFingerprintHash
  • Скан становится видимым на /scans/[id], участвует в агрегатах аналитики и учитывается при поиске уникальности.
  • СлойКомпоненты
    ФреймворкNext.js 14 (App Router, force-dynamic везде), React 18
    ЯзыкTypeScript 5, строгий режим
    UITailwind CSS 3, примитивы shadcn/ui на Radix, иконки Lucide, Framer Motion
    АутентификацияNextAuth 4 (Google OAuth + магические ссылки email) + адаптер Prisma
    ДанныеPrisma 6 → MySQL (пользовательский вывод клиента в .prisma/detect-client)
    ВалидацияZod
    ТестыJest 29 + ts-jest + jsdom
    Сборка/развёрткаМногоступенчатый Dockerfile, автономный вывод Next.js, манифесты Kubernetes