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

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

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

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

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

Категории

Все категории
Loading categories
noseyparker — Nosey Parker — это инструмент командной строки, который находит секреты и конфиденциальную информацию в текстовых данных и истории Git. | Kitploit
Инструменты/GitHubGitHub/praetorian-inc/noseyparker
Сканеры уязвимостейАнализ КодаСбор информацииТестирование на ПроникновениеDevSecOpsОбнаружение СекретовArchived
GitHubpraetorian-inc/noseyparker

noseyparker

Nosey Parker — это инструмент командной строки, который находит секреты и конфиденциальную информацию в текстовых данных и истории Git.

Репозиторий
2.3k1326 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Nosey Parker теперь заменён на Titus. Nosey Parker официально завершён

См. наш анонс https://www.praetorian.com/blog/titus-open-source-secret-scanner/. Репозиторий Titus находится по адресу https://github.com/praetorian-inc/titus

Обзор

Nosey Parker — это CLI-инструмент для поиска секретов и конфиденциальной информации в текстовых данных. По сути, это специализированная утилита, похожая на grep, предназначенная для обнаружения секретов.

Он разработан для наступательной безопасности (например, для обеспечения латерального перемещения в рамках red team), но также может быть полезен для тестирования защитной безопасности. Он находил секреты в сотнях наступательных проектов по безопасности в Praetorian.

Ключевые особенности:

  • Гибкость: нативно сканирует файлы, каталоги, GitHub и историю Git, а также имеет расширяемый механизм перечисления входных данных
  • Проверенные правила: использует регулярные выражения с 188 правилами, выбранными для высокой точности на основе отзывов инженеров по безопасности
  • Соотношение сигнал/шум: дедублицирует совпадения, имеющие один и тот же секрет, сокращая нагрузку на анализ в 10–1000 раз и более
  • Скорость и масштабируемость: может сканировать со скоростью ГБ/с на многоядерной системе, а на проектах по безопасности обрабатывал входные данные объёмом до 20 ТБ

Типичный рабочий процесс состоит из трёх этапов:

  1. Сканирование интересующих входных данных с помощью команды scan
  2. Вывод подробной информации о результатах сканирования с помощью команды report
  3. Анализ и триаж найденного

Установка

Формула Homebrew

root@kitploit:~
brew install noseyparker

Предварительно собранные бинарные файлы

На странице последнего релиза доступны предварительно собранные бинарные файлы для x86_64/aarch64 Linux и macOS.

Docker: x86_64/aarch64

root@kitploit:~
docker pull ghcr.io/praetorian-inc/noseyparker:latest

Самый последний коммит также доступен по тегу main.

Docker: x86_64/aarch64, на основе Alpine:

root@kitploit:~
docker pull ghcr.io/praetorian-inc/noseyparker-alpine:latest

Самый последний коммит также доступен по тегу main.

Пакет Arch Linux

https://aur.archlinux.org/packages/noseyparker

Windows

Nosey Parker не собирается нативно в Windows (#121). Однако его можно запустить в Windows с помощью WSL1 и нативного Linux-релиза.

Сборка из исходного кода

1. Установка предварительных требований

Проверено с несколькими версиями Ubuntu Linux и macOS на x86_64 и aarch64.

Необходимые зависимости:

  • cargo: рекомендуется установить с https://rustup.rs
  • cmake: необходим для сборки крейта vectorscan-sys и некоторых других зависимостей
  • boost: необходим для сборки крейта vectorscan-sys (поддерживаемая версия >=1.57)
  • git: необходим для встраивания информации о версии в CLI noseyparker
  • patch: необходим для сборки крейта vectorscan-sys
  • pkg-config: необходим для сборки крейта

Получение справки

Запуск бинарного файла noseyparker без аргументов выводит справку верхнего уровня и завершает работу. Вы можете получить сокращённую справку для конкретной команды, выполнив noseyparker КОМАНДА -h. Более подробная справка доступна с помощью команды help или длинного флага --help.

Предварительно собранные релизы также содержат man-страницы, в которых собрана справка командной строки в одном месте. Эти man-страницы, преобразованные в формат Markdown, также включены в репозиторий здесь.

Если у вас есть вопрос, на который нет ответа в этой документации, пожалуйста, начните обсуждение.

Терминология и модель данных

Хранилище

Хранилище — это специальный каталог, который Nosey Parker использует для записи своих находок и поддержания внутреннего состояния. Хранилище будет неявно создано командой scan, если это необходимо.

Blob'ы

Каждый сканируемый входной элемент называется blob'ом. Каждый blob имеет уникальный идентификатор blob ID, представляющий собой SHA-1-дайджест, вычисляемый так же, как это делает git.

Происхождение

С каждым blob'ом связана одна или несколько записей происхождения (provenance). Запись происхождения — это метаданные, описывающие, как был обнаружен входной элемент, например, файл в файловой системе или файл в истории Git-репозитория.

Правила

Nosey Parker — это система на основе правил, использующая регулярные выражения. Каждое правило имеет один шаблон с хотя бы одной группой захвата, которая изолирует содержимое совпадения от окружающего контекста. Вы можете просмотреть доступные правила с помощью noseyparker rules list.

Наборы правил

Набор правил объединяется в набор правил (ruleset). Набор правил по умолчанию Nosey Parker включает правила, которые обнаруживают то, что выглядит как секреты. Доступны и другие наборы правил; вы можете просмотреть их с помощью noseyparker rules list.

Совпадения

Когда шаблон правила совпадает с входным элементом, создаётся совпадение (match). Совпадение однозначно определяется правилом, blob ID, начальным смещением в байтах и конечным смещением в байтах; эти поля используются для вычисления уникального идентификатора совпадения.

Находки

Совпадения, имеющие одно и то же правило и группы захвата, объединяются в находку (finding). Другими словами, находка — это группа совпадений. Это основная единица отчётности Nosey Parker.

Примеры использования

ПРИМЕЧАНИЕ: При использовании Docker...

При использовании Docker-образа замените noseyparker в следующих командах на вызов Docker с смонтированным томом:

root@kitploit:~
docker run -v "$PWD":/scan ghcr.io/praetorian-inc/noseyparker:latest <АРГУМЕНТЫ>

Docker-контейнер работает с рабочим каталогом /scan, поэтому монтирование $PWD в /scan в контейнере сделает автодополнение и относительные пути в вашей командной строке рабочими.

Сканирование содержимого файловой системы, включая локальные Git-репозитории

Скриншот, показывающий рабочий процесс Nosey Parker по сканированию файловой системы на наличие секретов

Nosey Parker имеет встроенную поддержку сканирования файлов, каталогов и всей истории Git-репозиториев.

Например, если у вас есть локальный клон CPython по пути cpython.git, вы можете отсканировать его с помощью команды scan. Nosey Parker создаст новое хранилище в cpython.np и сохранит там свои находки. (Имя cpython.np не является обязательным и может быть любым.)

root@kitploit:~
$ noseyparker scan -d cpython.np cpython.git
Отсканировано 19.19 ГБ из 335,849 blob'ов за 17 секунд (1.11 ГБ/с); 2,178/2,178 новых совпадений

 Rule                            Находки   Совпадения   Принято   Отклонено   Смешанные   Неразмеченные
──────────────────────────────────────────────────────────────────────────────────────────────────────
 Generic API Key                        1         8          0          0       0           1
 Generic Password                       8     1,283          0          0       0           8
 Generic Username and Password          2        40          0          0       0           2
 HTTP Bearer Token                      1       108          0          0       0           1
 PEM-Encoded Private Key               61       151          0          0       0          61
 netrc Credentials                     27       588          0          0       0          27

Затем выполните команду `report` для отображения подробностей находок.

См. noseyparker help scan для получения дополнительной информации.

Сканирование Git-репозитория по HTTPS URL

Например, для сканирования самого репозитория Nosey Parker:

root@kitploit:~
noseyparker scan --datastore np.noseyparker --git-url https://github.com/praetorian-inc/noseyparker

См. noseyparker help scan для получения дополнительной информации.

Сканирование Git-репозиториев пользователя или организации GitHub

Используйте --github-user=ПОЛЬЗОВАТЕЛЬ или --github-org=ОРГАНИЗАЦИЯ. Например, для сканирования доступных репозиториев, принадлежащих пользователю octocat:

root@kitploit:~
noseyparker scan --datastore np.noseyparker --github-user octocat

Эти спецификаторы входных данных будут использовать токен GitHub, если он доступен в переменной окружения NP_GITHUB_TOKEN. Предоставление токена доступа даёт более высокий лимит API и может сделать для вас доступными дополнительные репозитории.

См. noseyparker help scan для получения дополнительной информации.

Интерактивный просмотр и аннотирование находок

См. сопутствующий проект Nosey Parker Explorer: Скриншот, показывающий основной интерфейс Nosey Parker Explorer

Отчётность по находкам в человекочитаемом текстовом формате

Скриншот, показывающий рабочий процесс Nosey Parker по рендерингу находок в человекочитаемом формате

Отчётность по находкам в формате JSON

Скриншот, показывающий рабочий процесс Nosey Parker по рендерингу находок в формате JSON

Сводка по находкам

Nosey Parker выводит сводку по находкам после завершения сканирования. Вы также можете выполнить этот шаг отдельно после сканирования:

root@kitploit:~
$ noseyparker summarize --datastore np.cpython

 Rule                      Distinct Groups   Total Matches
───────────────────────────────────────────────────────────
 PEM-Encoded Private Key             1,076           1,192
 Generic Secret                        331             478
 netrc Credentials                      42           3,201
 Generic API Key                         2              31
 md5crypt Hash                           1               2

Поддерживаются дополнительные форматы вывода, включая JSON и JSON lines, с помощью опции --format=FORMAT.

См. noseyparker help summarize для получения дополнительной информации.

Перечисление репозиториев с GitHub

Используйте команду github repos list для вывода списка URL репозиториев, принадлежащих пользователям или организациям GitHub. Эта команда использует REST API GitHub для перечисления репозиториев, принадлежащих пользователям или организациям. Например:

root@kitploit:~
$ noseyparker github repos list --user octocat
https://github.com/octocat/Hello-World.git
https://github.com/octocat/Spoon-Knife.git
https://github.com/octocat/boysenberry-repo-1.git
https://github.com/octocat/git-consortium.git
https://github.com/octocat/hello-worId.git
https://github.com/octocat/linguist.git
https://github.com/octocat/octocat.github.io.git
https://github.com/octocat/test-repo1.git

Эта команда будет использовать токен GitHub, если он доступен в переменной окружения NP_GITHUB_TOKEN. Предоставление токена доступа даёт более высокий лимит API и может сделать для вас доступными дополнительные репозитории.

Поддерживаются дополнительные форматы вывода, включая JSON и JSON lines, с помощью опции --format=FORMAT.

См. noseyparker help github для получения дополнительной информации.

Интеграции

Nosey Parker имеет несколько сторонних интеграций:

  • Nosey Parker упакован в Homebrew
  • Nosey Parker упакован в Arch Linux
  • Доступно GitHub Action, запускающее Nosey Parker
  • DefectDojo включает парсер для JSON v0.16 Nosey Parker
  • Nemesis включает поддержку Nosey Parker
  • noseyparker-compact предоставляет постпроцессоры для компактных отчётов
  • disposable root-серверы segfault.net поставляются с предустановленным Nosey Parker

Если у вас есть интеграция, которой вы хотели бы поделиться и которая не указана здесь, создайте PR.

Участие в разработке

Задавайте вопросы или делитесь идеями в разделе Обсуждения.

Приветствуются любые вклады, особенно новые правила регулярных выражений. Разработка новых правил регулярных выражений подробно описана в отдельном документе.

Если вы планируете внести существенные изменения в код, пожалуйста, сначала откройте issue или начните обсуждение.

В этом проекте включены некоторые pre-commit хуки, которые рекомендуется использовать. Чтобы установить их в локальном репозитории, убедитесь, что pre-commit установлен, и выполните:

root@kitploit:~
$ pre-commit install

Эти проверки помогут быстро обнаружить простые ошибки.

Лицензия

Nosey Parker лицензирован в соответствии с Apache License, Version 2.0.

Скачать инструмент
vectorscan-sys
  • sha256sum: необходим для вычисления дайджестов (часто предоставляется пакетом coreutils)
  • zsh: необходим для сборочных скриптов
  • 2. Сборка с помощью скрипта create-release.zsh

    root@kitploit:~
    $ rm -rf release && ./scripts/create-release.zsh
    

    При успешном выполнении в каталоге release будет создана структура с артефактами релиза. Программа командной строки будет находиться по пути release/bin/noseyparker.