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 Logo

Bughound 是一款开源的静态代码分析工具,能够分析你的代码并将结果发送到 Elasticsearch 和 Kibana,从而让你获得代码中潜在漏洞的有用洞察。

Bughound 自带预配置的 Elasticsearch 和 Kibana Docker 镜像,其中包含为你发现的结果量身定制的仪表板。

你可以检测多种类型的漏洞,例如:

  • 命令注入
  • XXE
  • 不安全的反序列化
  • 以及更多!

目前 Bughound 能够分析 PHP 和 JAVA 代码,并包含这些语言的一组危险函数。

随着时间推移,我会确保不断添加更多函数/语言的支持,但目前主要精力放在项目的稳定性上。

请注意,Bughound 的结果并非 100% 准确,它旨在帮助你在分析过程中识别潜在的弱点,以便进一步调查。

它是如何工作的?

首先,Bughound 会根据你想要审计的文件扩展名构建项目内所有文件的列表,然后读取每个文件并尝试查找项目中语言预定义的任何不安全函数。

分析阶段依赖于预配置的正则表达式和一些自定义文本匹配来检测潜在漏洞,因此再次强调,你需要进行手动分析,以检查这些发现是否可利用。

最后,它将结果发送到 Bughound Docker 镜像,该镜像带有预配置的 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 镜像安装

要安装 Bughound Docker 镜像,只需执行以下操作:

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

此命令将在 Elasticsearch 索引中创建一个名为 "dummyproject" 的新项目,遍历本地路径 "/opt/dummyproject" 中所有扩展名为 ".php" 的文件,并将结果发送到 Elasticsearch。

扫描远程 Git 仓库

你也可以使用 --git 参数从 Git 仓库拉取远程项目,如下所示:

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

Bughound 会为你克隆代码并保存在 projects 目录中,然后进行扫描。

预配置的仪表板

如果你决定使用官方的 Bughound Docker 镜像,你将获得几个即开即用的仪表板,帮助你进行分析。

目前可用的仪表板包括:

  • Bughound 主仪表板
  • 命令注入仪表板
  • 反序列化仪表板
  • XXE 仪表板

这些仪表板将提供代码中发现函数和代码片段的统计数据,以便你开始分析过程。

更多资源

有关 Bughound 的更多信息,请查看以下文章:

  • 揭开 BugHound 的面纱:基于 ElasticSearch 的静态代码分析工具

许可证

本项目基于 GPL-3.0 许可证授权 - 详情请参阅 LICENSE 文件。

下载工具