
Продвинутый движок разведки, который находит настоящие секреты, проверяет их в реальном времени и строит пути эксплуатации на основе клиентской информации.
Разведывательный движок | Сканер утечек | Пакет угрозной разведки
🔍 Глубокий анализ поверхности атаки • ⚡ Высокосигнальный разведывательный движок
Reconix предназначен ИСКЛЮЧИТЕЛЬНО для авторизованного тестирования безопасности, программ bug bounty и оборонительных исследований.
Несанкционированное сканирование незаконно и наказуемо в соответствии с законами о компьютерном мошенничестве.
Прочитайте полный отказ от ответственности в DISCLAIMER.md.
В отличие от базовых сканеров, которые просто сопоставляют регулярные выражения и выгружают результаты, Reconix:
Проверяет секреты в реальном времени — Вызывает реальные API (GitHub, Stripe, OpenAI, Supabase, SendGrid, Anthropic, HuggingFace, Linear), чтобы подтвердить, являются ли ключи ДЕЙСТВИТЕЛЬНЫМИ, НЕДЕЙСТВИТЕЛЬНЫМИ, ПРОСРОЧЕННЫМИ или ДОЛГОЖИВУЩИМИ — больше не нужно гадать, работает ли ключ на самом деле
Строит цепочки эксплойтов — Автоматически связывает связанные находки в реализуемые пути атаки, например "JWT + Supabase + API endpoints → Несанкционированный доступ к данным" или "Подтвержденный секрет + Панель администратора → Повышение привилегий"
Фильтрует ложные срабатывания с помощью 10-уровневого анализа — Игнорирует внутренности React, CSS-классы, URL-адреса документации, заполнители и минифицированный мусор, который другие инструменты ошибочно выдают за секреты
Восстанавливает source maps — Восстанавливает исходный код из файлов .map и встроенных source maps, затем сканирует восстановленный код на предмет секретов, скрытых в минифицированных пакетах
Самовосстанавливающийся браузер — Автоматически обнаруживает и перезапускает упавшие экземпляры Puppeteer во время сканирования без потери прогресса
Извлекает клиентскую разведку — Собирает весь JavaScript для поиска конечных точек API (user/admin/internal), переменных окружения (NEXT_PUBLIC_*, REACT_APP_*), сторонних сервисов (Supabase, Stripe, Firebase, Clerk) и функциональных флагов
Приоритетное сканирование — Интеллектуально оценивает URL-адреса (сначала JS-файлы, API, source maps), чтобы найти высокоценные цели, не тратя время на статические ресурсы
Прямая расшифровка JWT — Декодирует JWT, раскрывая эмитента, роль и срок действия — помечает ДОЛГОЖИВУЩИЕ (1+ год) и БЕЗ СРОКА ДЕЙСТВИЯ токены как угрозы безопасности
Обнаружение service_role Supabase — Определяет, когда JWT имеет привилегии service_role, которые обходят все уровни безопасности строк (RLS) — критический путь компрометации базы данных
# Global installation
npm install -g @aquibk/reconix
# Or run directly
npx reconix target.com
# Verify everything works
reconix --self-test
--js)# Basic scan (low footprint)
reconix example.com
# Full power (maximum findings)
reconix example.com --js --aggressive --deep --only-critical
# Bug bounty mode (balanced)
reconix target.com --js --deep --historical --delay=500 --output=report.json
# Stealth mode (avoid detection)
reconix target.com --delay=2000 --jitter=1000 --threads=5 --proxy=socks5://127.0.0.1:9050
reconix <url> [options]
reconix scan <url> [options]
| Флаг | Описание | По умолчанию |
|---|---|---|
--output=<file> | Сохранить полный JSON-отчет | Нет |
--html=<file> | Создать HTML-отчет | Нет |
reconix example.com --output=scan.json --html=report.html
| Флаг | Описание | По умолчанию |
|---|---|---|
--no-subdomains | Отключить обнаружение поддоменов |
reconix example.com --historical --deep
# Fast but risky
reconix example.com --threads=50 --delay=100 --jitter=50
# Polite crawling
reconix example.com --threads=10 --delay=2000 --jitter=1000
--no-js → Отключить безголовый браузер (Puppeteer)--aggressive → Глубокое сканирование полного охвата--proxy=<host:port> → Поддержка прокси--auth=<user:pass> → Аутентификация (Basic или Bearer)--cookie=<string> → Пользовательские куки--user-agent=<string> → Пользовательский user-agent# Authenticated scan
reconix api.example.com --auth="Bearer:sk_live_xxx" --js
# Proxy usage
reconix example.com --proxy="http://user:pass@proxy:8080" --delay=1000
reconix example.com --only-critical --no-low
reconix target.com --deep --historical --threads=25 --delay=500 --output=bounty.json --html=report.html
reconix target.com --aggressive --deep --historical --threads=50 --delay=150 --jitter=50 --only-critical --output=full.json --html=full.html
reconix target.com --threads=5 --delay=2000 --jitter=1500 --no-subdomains --proxy=socks5://127.0.0.1:9050
reconix target.com --threads=30 --delay=200 --no-js --no-subdomains --only-critical
reconix --self-test
# Фаза 1: Быстрая разведка
reconix target.com --only-critical
# Фаза 2: Глубокий анализ
reconix target.com --deep --delay=1000
# Фаза 3: Агрессивное сканирование
reconix target.com --aggressive --deep --only-critical
| Проблема | Решение |
|---|---|
| Файл | Описание |
|---|---|
discovered_api_keys.txt | Все найденные секреты |
*.json | Полный отчет сканирования |
Приветствуются сообщения о проблемах и запросы на включение изменений.
reconix --self-test
См. LICENSE.txt
⚠️ ИСПОЛЬЗУЙТЕ ОТВЕТСТВЕННО. ТОЛЬКО НА АВТОРИЗОВАННЫХ ЦЕЛЯХ. ⚠️
Тестирование Firebase Realtime DB — Обнаруживает учетные данные Firebase и проверяет, позволяет ли конечная точка /.json неаутентифицированные дампы базы данных
Обнаружение интроспекции GraphQL — Автоматически проверяет конечные точки /graphql, чтобы проверить, включена ли интроспекция схемы (утечка информации)
Сканирование неверных конфигураций CORS — Проверяет конечные точки API на наличие подстановочного (*) или отражающего заголовка Access-Control-Allow-Origin
Перечисление пользователей WordPress — Обнаруживает, когда /wp-json/wp/v2/users раскрывает идентификаторы и имена пользователей
Утечка переменных окружения Next.js — Сканирует /_next/static/chunks/ на наличие встроенных ссылок process.env в клиентских пакетах
Раскопки архивов — Получает исторические URL из Wayback Machine и сканирует архивированный контент на предмет секретов, которые были удалены с живого сайта
Отказоустойчивость прокси — Автоматически переключается на прямое соединение после 3 последовательных сбоев прокси, чтобы сканирование не прерывалось
Возобновляемые сканирования — Сохраняет состояние каждые 10 ресурсов и может возобновиться из .reconix-state.json при прерывании
Многоформатная отчетность — Создает красивые HTML-отчеты, структурированные экспорты JSON и простой текстовый файл discovered_api_keys.txt для быстрой справки
680+ технологических отпечатков — Обнаруживает фреймворки, хостинг-провайдеров, CDN, аналитику, платежные системы, системы аутентификации и библиотеки UI из заголовков, HTML, JS, куки, TLS-сертификатов и DNS
200+ шаблонов обнаружения реальных секретов — Охватывает ключи API, токены, приватные ключи, секреты OAuth, учетные данные базы данных, токены CI/CD и URL-адреса вебхуков для основных платформ с сопоставлением высокой точности
Захват сетевого трафика браузера — При включении --js захватывает все исходящие сетевые запросы для дополнительного определения сервисов и API
Осведомленность о лимитах скорости — Обнаруживает ответы 429 и заголовки Retry-After, соответствующим образом настраивается без сбоев
| - |
--historical | Получить архивированные URL | false |
--deep | Увеличить глубину сканирования | false |
| Флаг | Описание | По умолчанию |
|---|
--threads=<n> | Одновременные запросы (1–100) | 20 |
--delay=<ms> | Базовая задержка между запросами | 500 |
--jitter=<ms> | Случайная вариация задержки | 300 |
--max-bytes=<bytes> | Макс. размер загрузки на файл | 4000000 |
--resume | Возобновить предыдущее сканирование | false |
| Флаг | Описание | По умолчанию |
|---|
--only-critical | Показывать только критические находки | false |
--no-low | Скрыть находки с низкой уверенностью | false |
--include-medium | Включать находки средней уверенности | true |
--no-medium | Исключить находки средней уверенности | - |
| Тип цели | Потоки | Задержка | Джиттер | JS |
|---|
| Продакшн | 5–10 | 2000–3000 | 1000 | ❌ |
| Стейдж | 15–20 | 800–1200 | 500 | ✅ |
| Bug Bounty | 20–30 | 400–600 | 200 | ✅ |
| CTF / Лаб | 50–100 | 0–100 | 0 | ✅ |
| Тайм-аут браузера |
| Переустановите Puppeteer |
| Слишком много открытых файлов | Уменьшите количество потоков |
| Прокси не работает | Проверьте URL прокси |
| Лимит скорости (429) | Увеличьте задержку и джиттер |
| Нет находок | Используйте --js --deep --historical |
*.html| Визуальный отчет |
.reconix-state.json | Состояние для возобновления |