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

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

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

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

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

Категории

Все категории
Loading categories
JShunter — jshunter — это инструмент командной строки, предназначенный для анализа JavaScript-файлов и извлечения конечных точек. Этот инструмент специализируется на выявлении конфиденциальных данных, таких как API-эндпоинты и потенциальные уязвимости безопасности, что делает его незаменимым ресурсом для охотников за багами и исследователей безопасности. | Kitploit
Инструменты/GitHubGitHub/cc1a2b/jshunter
РазведкаСтатический анализ кода (SAST)Анализ уязвимостейДинамический анализ кода (DAST)Обход WAFВеб-безопасностьТестирование на ПроникновениеОбнаружение СекретовБезопасность API
GitHubcc1a2b/jshunter

JShunter

529593619 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Репозиторий

Описание

jshunter — это инструмент командной строки, предназначенный для анализа JavaScript-файлов и извлечения конечных точек. Этот инструмент специализируется на выявлении конфиденциальных данных, таких как API-эндпоинты и потенциальные уязвимости безопасности, что делает его незаменимым ресурсом для охотников за багами и исследователей безопасности.

Поделиться

JSHunter

License Go Version Release GitHub stars Platform

Профессиональный инструмент анализа безопасности JavaScript

Полное обнаружение конечных точек, выявление конфиденциальных данных и расширенный анализ кода для специалистов по безопасности

О инструменте

JSHunter — это комплексный инструмент командной строки для анализа безопасности JavaScript и обнаружения конечных точек. Созданный для специалистов по безопасности, пентестеров и разработчиков, он предоставляет возможности анализа корпоративного уровня с высокоточными алгоритмами обнаружения и профессиональными функциями отчётности.

https://github.com/user-attachments/assets/5a5f60fa-f8dc-4aac-bd06-2e93779f9af4

JSHunter в действии — реальная запись работы CLI в терминале (все показанные секреты являются фиктивными тестовыми данными)


Содержание

  • О инструменте
  • Возможности
  • Установка
  • Быстрый старт
  • Примеры использования
  • Справочник команд
  • Расширенное использование
  • Участие в разработке
  • Лицензия
  • Поддержка

Возможности

Основные возможности

  • Комплексное обнаружение конечных точек: автоматически извлекает URL-адреса, конечные точки API и скрытые параметры из файлов JavaScript
  • Расширенный анализ безопасности: выявляет ключи API, JWT-токены, учётные данные и потенциальные уязвимости с высокой точностью
  • Гибкие методы ввода: поддерживает URL-адреса, списки файлов, локальные файлы, конвейерный ввод stdin и рекурсивное обнаружение
  • Высокопроизводительная архитектура: многопоточная параллельная обработка с интеллектуальным ограничением скорости
  • Профессиональные функции скрытности: поддержка прокси, пользовательские заголовки, ротация user-agent и обнаружение обхода

Интеллектуальный движок обнаружения

Точность корпоративного уровня с расширенными алгоритмами анализа

  • Умное обнаружение Base64: высокоточная фильтрация исключает ложные срабатывания на медиаконтент и закодированные данные
  • Профессиональный интерфейс: терминология корпоративного уровня, документация и комплексные форматы отчётности
  • Контекстно-зависимый анализ: расширенные алгоритмы отличают реальные токены безопасности от закодированных медиаданных
  • Энтропийный анализ: математические алгоритмы с высокой точностью выявляют подлинные токены безопасности и учётные данные

Движок структурного обнаружения

JSHunter разбирает сканируемый JavaScript, а не просто сопоставляет его с шаблонами. Однопроходный сканер ECMAScript классифицирует каждый байт ответа как строковый литерал, шаблонный литерал, комментарий, литерал регулярного выражения или код, и правила обнаружения применяются с учётом этой классификации.

Это важно, потому что регулярное выражение не имеет представления о том, чему оно соответствует. Одни и те же сорок символов base64 означают «учётные данные» внутри строкового литерала, «хэш чанка» внутри минифицированного идентификатора и вообще ничего, когда они разрываются на стыке двух соседних токенов. Знание того, что именно это, заменяет кучу эвристик близости структурным ответом:

  • Ограничение по регионам: совпадение внутри литерала регулярного выражения — это шаблон, а не значение. Совпадение, пересекающее границу токена, не является единым литералом. Совпадение в коде — это фрагмент идентификатора. Все три случая отбрасываются сразу.
  • Контекст привязки: вместо сканирования фиксированного окна символов в поисках слова key, движок восстанавливает идентификатор или ключ свойства, к которому значение фактически привязано — const stripeSecret = "..." читается совсем иначе, чем {contentHash: "..."}, и правило, основанное только на форме, теперь требует этой привязки.
  • Наборы родственных ключей: элементы конфигурации Firebase web config, конфигурации поиска Algolia, конфигурации аналитики Segment и браузерного клиента Supabase распознаются по форме объекта, в котором они находятся.
  • Форма значения: дайджесты, UUID, прозаический текст, пути, заполнители и base64, декодирующийся в PNG, шрифт, документ JSON или английское предложение, — каждый идентифицируется по своей сути.
  • Классификация раскрытия: значения, которые издатель публикует намеренно — публикуемые ключи Stripe, публичные токены Mapbox, анонимные JWT Supabase, считываемые из их собственного утверждения role, SID Twilio — классифицируются, а не сообщаются как утечки. --include-public всё равно сообщает о них.
  • Удивление относительно файла: модель переходов символов, построенная по сканируемому файлу, оценивает, насколько кандидат не похож на остальную часть этого файла.

Каждое отклонение обусловлено тем, что тело уверенно является JavaScript или JSON. На чём-либо другом — файле .env, прозе, чистом HTML — движок предоставляет доказательства, но никогда не подавляет, поэтому неверно классифицированный ввод никогда не сможет скрыть секрет. --no-structural полностью отключает этот слой и восстанавливает поведение v0.7.

Находки несут обоснование в виде объекта evidence в --json, --ndjson и в наборе свойств SARIF:```json "exposure": "secret", "evidence": { "region": "string-literal", "role": "assignment", "bound_to": "awsAccessKeyId", "shape": "opaque-token", "charset": "alphanumeric", "signals": [ {"name": "in-literal", "delta": 0.04, "detail": "value is a complete string-literal"}, {"name": "credential-binding", "delta": 0.12, "detail": "bound to 'awsAccessKeyId'"} ] }

`--stats` сообщает, что отбросил каждый этап, поэтому конвейер остаётся проверяемым.

### Граф чанков и обнаружение маршрутов

Современное приложение поставляет один входной бандл и несколько сотен лениво
загружаемых чанков, URL которых собираются во время выполнения из манифеста,
встраиваемого бандлером. Ничто не ссылается на них, поэтому краулер их никогда
не видит. `-G` восстанавливает этот манифест и выводит полный список ресурсов
и таблицу клиентских маршрутов:```console
$ jshunter -u https://target.example/_next/static/chunks/main-a1b2c3.js -G
[CHUNKS] https://target.example/...: next runtime, 214 chunks, 37 routes
[CHUNK]  https://target.example/...  https://target.example/_next/static/chunks/settings.11aa22bb33cc.js
[ROUTE]  https://target.example/...  /admin/users/:id

Поддерживаемые среды выполнения: webpack 4 и 5 (__webpack_require__.u, miniCssF, jsonpScriptSrc), манифесты сборки Next.js, Vite и Rollup (__vite__mapDeps, __vitePreload), обычный динамический import() и таблицы маршрутов из React Router, Vue Router и Angular. Вывод разделён табуляцией и дедуплицирован, поэтому его можно напрямую передать обратно в качестве входного списка для последующего сканирования:```bash jshunter -u https://target.example/main.js -G -q | awk -F'\t' '/^[CHUNK]/{print $3}' > chunks.txt jshunter -l chunks.txt -s -j > findings.json

### Профессиональный набор для работы с HTTP и сетями
<details>
<summary><strong>Сетевая конфигурация корпоративного уровня</strong></summary>

**Аутентификация и заголовки:**
- **Пользовательские заголовки** (`-H`): Повторяемые заголовки аутентификации и пользовательские заголовки запросов
- **Управление cookie** (`-c`): Сессионные cookie для доступа к защищённым ресурсам
- **Управление User-Agent** (`-U`): Пользовательские строки UA или ротация на основе файла для скрытности
Скачать инструмент