Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Bughound — Herramienta de análisis de código estático basada en Elasticsearch | Kitploit
Herramientas/GitHubGitHub/mhaskar/bughound
Escáneres de VulnerabilidadesAnálisis Estático de Código (SAST)Análisis de VulnerabilidadesAnálisis de CódigoDevSecOps
GitHubmhaskar/bughound

Bughound

Herramienta de análisis de código estático basada en Elasticsearch

Ver Repositorio
130343hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Stability Version Python Docker Pulls

¿Qué es Bughound?

Logotipo de Bughound

Bughound es una herramienta de análisis estático de código abierto que analiza tu código y envía los resultados a Elasticsearch y Kibana para obtener información útil sobre las posibles vulnerabilidades en tu código.

Bughound tiene su propia imagen Docker de Elasticsearch y Kibana que está preconfigurada con paneles para darte una fuerte visualización de los hallazgos.

Puedes detectar varios tipos de vulnerabilidades como:

  • Inyección de comandos.
  • XXE.
  • Deserialización insegura.
  • ¡Y más!

Bughound puede analizar código PHP y JAVA por ahora, y contiene un grupo de funciones inseguras para estos lenguajes.

Me aseguraré de agregar cada vez más cobertura de funciones/lenguajes con el tiempo, pero por ahora el enfoque principal es la estabilidad del proyecto en sí.

Ten en cuenta que los resultados de Bughound no son 100% precisos, está diseñado para ayudarte a identificar posibles debilidades durante tu análisis para investigar.

¿Cómo funciona?

Descargar herramienta

En primer lugar, Bughound creará una lista de todos los archivos dentro de tu proyecto basándose en la extensión de los archivos que deseas auditar, luego leerá cada archivo e intentará encontrar cualquier función insegura predefinida para el lenguaje de tu proyecto.

La fase de análisis depende de expresiones regulares preconfiguradas y algunas coincidencias de texto personalizadas para detectar las posibles vulnerabilidades, así que nuevamente, necesitas realizar el análisis manual para verificar si estos hallazgos son explotables.

Finalmente, enviará los resultados a la imagen Docker de Bughound que tiene un Elasticsearch y Kibana preconfigurados que contienen los paneles personalizados para tus hallazgos.

Los paneles te darán detalles sobre los hallazgos como:

  • Nombre de la función.
  • Categoría de la vulnerabilidad.
  • Número de línea.
  • ¡Y mucho más!

Además, usando Kibana, podrás ver el fragmento de código potencialmente vulnerable para comenzar tu fase de análisis y rastreo para verificar si es explotable o no.

Por supuesto, puedes usar tu propio stack ELK si lo deseas, y Bughound hará la configuración inicial por ti, pero en ese caso no tendrás los paneles preconfigurados.

Requisitos

Puedes instalar todos los requisitos para ejecutar el código de Bughound usando el siguiente comando:

pip3 install -r requirements.txt

Eso asegurará que todos los requisitos estén instalados para el código.

Además, necesitas instalar Docker para ejecutar la imagen de Bughound, ¡más sobre esto en la siguiente sección!

Si deseas usar tus propias instancias de Elasticsearch y Kibana, omite el paso de instalación de Docker

Instalación

Asegúrate de obtener la última versión de Bughound usando el siguiente comando:

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

Y después de instalar los requisitos en el paso anterior, puedes ejecutar Bughound usando el siguiente comando:

./bughound.py

Obtendrás la pantalla principal de 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]
└──╼ $

Instalación de la imagen Docker

Para instalar la imagen Docker de Bughound, simplemente puedes hacer lo siguiente:

docker pull bughound/bughound

Y eso descargará la última versión de la imagen y la guardará en tu máquina.

Una vez que hayamos descargado la imagen, podemos ejecutarla usando el siguiente comando:

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

Eso ejecutará la imagen en un nuevo contenedor llamado bughound y expondrá los puertos que necesita Bughound para comunicar Elasticsearch y Kibana con tu host.

Puede que necesites aumentar la memoria virtual máxima para usar la imagen, así que asegúrate de ejecutar este comando:

sysctl -w vm.max_map_count=262144

¡Después de hacer estas dos cosas, ya estás listo para usar Bughound!

Uso

Para iniciar el proceso de análisis de tu código, debes usar el archivo Bughound.py que tiene algunas opciones; para ver estas opciones mediante el banner de ayuda, puedes usar el siguiente comando:

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]
└──╼ $

Escanear proyecto local

Por ejemplo, para escanear un proyecto PHP local, puedes usar el siguiente comando:

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

Este comando creará un nuevo proyecto llamado "dummyproject" en el índice de Elasticsearch, y recorrerá todos los archivos locales con la extensión ".php" en la ruta local "/opt/dummyproject" y enviará los resultados a Elasticsearch.

Escanear repositorio git remoto

También puedes descargar un proyecto remoto desde un repositorio git usando el modificador --git de la siguiente manera:

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

Bughound clonará el código por ti y lo guardará en el directorio projects, luego lo escaneará.

Paneles preconfigurados

Si decidiste usar la imagen Docker oficial de Bughound, obtendrás un par de paneles listos para usar que te ayudarán a realizar tu análisis.

Los siguientes paneles están disponibles hasta ahora:

  • Panel principal de Bughound
  • Panel de inyección de comandos
  • Panel de deserialización
  • Panel de XXE

Estos paneles te darán estadísticas sobre las funciones y fragmentos de código que se encontraron en el código para que puedas iniciar tu proceso de análisis.

Más recursos

Para obtener más información sobre Bughound, consulta los siguientes artículos:

  • Presentando BugHound: una herramienta de análisis estático de código basada en ElasticSearch

Licencia

Este proyecto está licenciado bajo la Licencia GPL-3.0 - consulta el archivo LICENSE para más detalles.