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

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

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

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

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

Категории

Все категории
Loading categories
Bughound — Инструмент статического анализа кода на основе Elasticsearch | Kitploit
Инструменты/GitHubGitHub/mhaskar/bughound
Сканеры уязвимостейСтатический анализ кода (SAST)Анализ уязвимостейАнализ КодаDevSecOps
GitHubmhaskar/bughound

Bughound

Инструмент статического анализа кода на основе Elasticsearch

Репозиторий
130345 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Stability Version Python Docker Pulls

Что такое Bughound?

Логотип Bughound

Bughound — это инструмент статического анализа кода с открытым исходным кодом, который анализирует ваш код и отправляет результаты в Elasticsearch и Kibana для получения полезных сведений о потенциальных уязвимостях в вашем коде.

Bughound имеет собственный Docker-образ Elasticsearch и Kibana, предварительно настроенный с дашбордами, обеспечивающими наглядную визуализацию результатов.

Вы можете обнаруживать различные типы уязвимостей, такие как:

  • Внедрение команд.
  • XXE.
  • Небезопасная десериализация.
  • И многое другое!

На данный момент Bughound может анализировать код на PHP и JAVA и содержит набор небезопасных функций для этих языков.

Со временем я обязательно добавлю больше функций/языков, но сейчас основное внимание уделяется стабильности самого проекта.

Обратите внимание, что результаты Bughound не являются на 100% точными; он создан, чтобы помочь вам выявить потенциальные слабые места для дальнейшего анализа.

Как это работает?

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

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

Наконец, он отправит результаты в Docker-образ Bughound, который содержит предварительно настроенные Elasticsearch и Kibana с пользовательскими дашбордами для ваших результатов.

Дашборды предоставят вам подробную информацию о результатах, такую как:

  • Имя функции.
  • Категория уязвимости.
  • Номер строки.
  • И многое другое!

Кроме того, с помощью Kibana вы сможете просмотреть потенциально уязвимый фрагмент кода, чтобы начать этап анализа и трассировки и проверить, является ли он эксплуатируемым.

Конечно, при желании вы можете использовать свой собственный стек ELK, и Bughound выполнит для вас начальную настройку, но в этом случае вы не получите предварительно настроенных дашбордов.

Требования

Вы можете установить все необходимые зависимости для запуска кода Bughound с помощью следующей команды:

pip3 install -r requirements.txt

Это гарантирует, что все зависимости для кода будут установлены.

Кроме того, вам необходимо установить Docker, чтобы запустить образ Bughound; подробнее об этом в следующем разделе!

Если вы хотите использовать собственные экземпляры Elasticsearch и Kibana, пропустите шаг установки Docker

Установка

Убедитесь, что у вас последняя версия Bughound, с помощью следующей команды:

git clone https://github.com/mhaskar/Bughound

И после установки зависимостей на предыдущем шаге вы можете запустить Bughound с помощью следующей команды:

./bughound.py

Вы увидите главный экран Bughound.

root@kitploit:~
┌─[askar@hackbook]─[/opt/bughound]
└──╼ $./bughound.py

.______    __    __    _______  __    __    ______    __    __  .__   __.  _______
|   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/



          \ /
          oVo
      \___XXX___/
       __XXXXX__
      /__XXXXX__\
      /   XXX   \
           V                  V1.0 Beta

[+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject

usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                   --extension EXTENSION --name NAME [--verbose [VERBOSE]]
bughound.py: error: argument --language is required
┌─[✗]─[askar@hackbook]─[/opt/bughound]
└──╼ $

Установка Docker-образа

Чтобы установить Docker-образ Bughound, просто выполните следующее:

docker pull bughound/bughound

Это загрузит последнюю версию образа и сохранит её на вашем компьютере.

После загрузки образа мы можем запустить его с помощью следующей команды:

docker run --name bughound -p5601:5601 -p 9200:9200 bughound/bughound

Это запустит образ в новом контейнере с именем bughound и откроет порты, необходимые Bughound для связи Elasticsearch и Kibana с вашим хостом.

Возможно, вам потребуется увеличить максимальную виртуальную память для использования образа, поэтому обязательно выполните эту команду:

sysctl -w vm.max_map_count=262144

После выполнения этих двух действий вы готовы к использованию Bughound!

Использование

Чтобы начать процесс анализа вашего кода, используйте файл Bughound.py, у которого есть несколько опций. Чтобы увидеть эти опции через баннер справки, используйте следующую команду:

root@kitploit:~
┌─[✗]─[askar@hackbook]─[/opt/bughound]
└──╼ $./bughound.py -h

.______    __    __    _______  __    __    ______    __    __  .__   __.  _______
|   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/



          \ /
          oVo
      \___XXX___/
       __XXXXX__
      /__XXXXX__\
      /   XXX   \
           V                  V1.0 Beta

[+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject

usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                   --extension EXTENSION --name NAME [--verbose [VERBOSE]]

optional arguments:
  -h, --help            show this help message and exit
  --path PATH           local path of the source code
  --git GIT             git repository URL
  --language LANGUAGE   the used programming language
  --extension EXTENSION
                        extension to search for
  --name NAME           project name to use
  --verbose [VERBOSE]   show debugging messages
┌─[askar@hackbook]─[/opt/bughound]
└──╼ $

Сканирование локального проекта

Например, чтобы отсканировать локальный PHP-проект, используйте следующую команду:

./bughound.py --path /opt/dummyproject --language php --extension .php --name dummyproject

Эта команда создаст новый проект с именем "dummyproject" в индексе Elasticsearch, просканирует все локальные файлы с расширением ".php" в локальном пути "/opt/dummyproject" и отправит результаты в Elasticsearch.

Сканирование удаленного git-репозитория

Кроме того, вы можете получить удаленный проект из git-репозитория, используя параметр --git, например:

./bughound.py --git https://github.com/DummyCode/DummyProject --language php --extension .php --name dummyproject

Bughound склонирует код за вас, сохранит его в каталог projects, а затем просканирует его.

Предварительно настроенные панели мониторинга

Если вы решили использовать официальный Docker-образ Bughound, вы получите несколько готовых к использованию дашбордов, которые помогут вам в анализе.

На данный момент доступны следующие дашборды:

  • Главная панель Bughound
  • Панель внедрения команд
  • Панель десериализации
  • Панель XXE

Эти дашборды предоставят вам статистику по функциям и фрагментам кода, найденным в коде, чтобы вы могли начать процесс анализа.

Дополнительные ресурсы

Для получения дополнительной информации о Bughound ознакомьтесь со следующими статьями:

  • Unveiling BugHound: a static code analysis tool based on ElasticSearch

Лицензия

Этот проект лицензирован по лицензии GPL-3.0 — подробности см. в файле LICENSE.

Скачать инструмент