Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
git-hound — 快速GitHub侦察工具。扫描整个GitHub上的泄露秘密,而不仅限于已知的仓库和组织。支持GitHub dorks。 | Kitploit
工具/GitHubGitHub/tillson/git-hound
OSINT (开源情报)侦察漏洞扫描器代码分析信息收集DevSecOps秘密检测
GitHubtillson/git-hound

git-hound

快速GitHub侦察工具。扫描整个GitHub上的泄露秘密,而不仅限于已知的仓库和组织。支持GitHub dorks。

查看仓库
1.4k2049个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站
GitHound 标志

🐾 GitHound

一种模式匹配、补丁攻击、批量捕获的秘密窃取工具。

GitHub release Go Report Card License

概述

GitHound 通过将 GitHub 搜索技巧(dorks)与模式匹配、上下文检测和提交历史分析相结合,在 GitHub 上搜索暴露的 API 密钥、秘密和凭据。输入一个 GitHub dork 到 GitHound,它就会扫描匹配你查询的文件和仓库中的秘密。与典型的扫描器不同,GitHound 利用 GitHub 的代码搜索 API,让你能够完全查看 所有 公开仓库,而不仅仅是少数目标。更多信息请参阅随附博客文章。


3.0 新功能

通过全新的 GitHound Explore 仪表盘,实时可视化和管理你的搜索结果。立即在 https://githoundexplore.com 免费开始,或使用 --dashboard 标志。了解如何将它与本地安装的 GitHound 或 TruffleHog 一起使用,请查看 Wiki 页面。请注意,你仍然可以在没有仪表盘的情况下使用 GitHound。

我们还启动了一个 GitHub Dorks 数据库,你可以在其中浏览和搜索各种 API 关键词的 dorks,并获得新 dorks 的灵感!请访问 https://githoundexplore.com/github-dorks 查看。

功能

🔍 全局 GitHub 搜索 – 在整个 GitHub(包括 Gist)中查找秘密

🔑 智能 API 密钥检测 – 正则表达式 + 熵 + 上下文匹配

🕵️ 提交历史挖掘 – 发现已删除或已还原的凭据

🧮 自适应评分 – 过滤误报

🧰 Base64 解码和编码秘密提取

💻 JSON 输出和自定义正则规则,适用于自动化流水线

用法

echo "AKIA" | git-hound 或 git-hound --query "AKIA"

设置

  1. 从 https://github.com/tillson/git-hound/releases 下载最新版本的 GitHound(使用 wget [url] 或通过浏览器)。
  2. 确保在 config.yml 中设置了 API 密钥。
  3. 运行 ./git-hound 进行测试(确保你位于正确的目录中!)

配置:

GitHound 主要使用 config.yml(位于当前目录或 $HOME/.githound/)进行配置。参见 config.example.yml 示例。

或者,你可以使用环境变量,这些变量将覆盖 config.yml 中的值:

  • GITHOUND_GITHUB_TOKEN:设置 GitHub API 访问令牌。
  • GITHOUND_INSERT_KEY:为 --dashboard 功能设置 GitHoundExplore Insert Key。

API 密钥正则表达式

GitHound 使用由 Gitleaks 作者维护的 API 密钥正则表达式数据库。

使用场景

企业:搜索暴露的客户 API 密钥

了解特定服务 API 密钥的模式后,你可以在 GitHub 上搜索这些密钥。然后,你可以将匹配自定义密钥正则表达式的结果通过管道传递给自己的脚本,以测试该 API 密钥是否适用于该服务,并识别有风险的账户。

echo "api.halcorp.biz" | githound --dig-files --dig-commits --many-results --rules halcorp-api-regexes.txt --results-only | python halapitester.py

为了检测未来的 API 密钥泄漏,GitHub 提供了推送令牌扫描,可以在发布 API 密钥时立即检测到它们。

漏洞赏金猎人:搜索泄漏的员工 API 令牌

我使用 GitHound 的主要目的是为漏洞赏金计划查找敏感信息。对于高知名度目标,--many-results 技巧和 --languages 标志对于抓取超过 100 页的结果非常有用。

echo "\"uberinternal.com\"" | githound --dig-files --dig-commits --many-results --languages common-languages.txt --threads 100

GitHound 如何找到 API 密钥?

https://github.com/tillson/git-hound/blob/master/internal/app/keyword_scan.go GitHound 通过结合常见服务(如 Slack 和 AWS)的精确正则表达式和上下文相关的通用 API 正则表达式来查找 API 密钥。这会找到看起来像 API 密钥的长字符串,这些字符串周围有诸如 "Authorization" 和 "API-Token" 之类的关键词。GitHound 假设这些是误报,然后通过香农熵、字典单词检查、唯一性计算和编码检测来证明它们的合法性。然后,GitHound 输出高确定性的正样本。 对于包含秘密的文件,会解码 base64 字符串,并在解码后的字符串中搜索 API 密钥。

请查看这篇博客文章,了解更多关于使用场景和方法论的细节。

标志

GitHound 使得通过模式匹配、针对性查询和稳健评分系统在 GitHub 上查找暴露的 API 密钥变得容易。

root@kitploit:~
用法:
  -h, --help                  帮助信息
  --dashboard             将结果流式传输到 Web 仪表盘(参见 https://githoundexplore.com)
  --all-results           打印所有结果,即使它们不包含秘密
  --api-debug             打印关于 GitHub API 请求的详细信息并计数。
  --config-file string    提供配置文件的路径。
  --debug                 启用详细调试日志。
  --dig-commits           深入提交历史以查找更多秘密(CPU 密集型)。
  --dig-files             深入仓库文件以查找更多秘密(CPU 密集型)。
  --fast                  跳过文件 grep,仅返回搜索预览
  --json                  以 JSON 格式打印结果
  --many-results          使用过滤技巧搜索超过 100 页
  --no-api-keys           不搜索通用 API 密钥。
  --no-files              不搜索有趣的文件。
  --no-gists              不搜索 Gist
  --no-keywords           不搜索内置关键词
  --no-repos              不搜索仓库
  --no-scoring            不使用评分来过滤误报。
  --otp-code string        GitHub 账户 2FA 令牌,用于登录。(仅在你通过验证器应用启用了账户的 2FA 时使用)
  --pages int             每个查询的最大搜索页数(默认 100)
  --profile               在 localhost:6060 上启用 pprof 性能分析
  --profile-addr string   提供 pprof 性能分析的地址(默认 "localhost:6060")
  --query string          查询字符串(默认:标准输入)
  --query-file string     包含子域名(或其他查询)列表的文件。
  --results-only          仅打印匹配的字符串。
  --rules string          正则表达式列表或 GitLeaks 规则文件夹的路径。(默认 "rules/")
  --search-type api       搜索接口(api 或 `ui`)。
  --threads int           用于挖掘的线程数(默认 20)

开发

在 VS Code 中传递标志

在 launch.json 中,将所需的标志作为 args 传递: "args": [ "searchKeyword", "tillsongalloway.com", "--regex-file", "regexes.txt" ]

构建项目

在主文件夹中:go build .


构建 Docker 镜像

要构建 Git-Hound 的 Docker 镜像,请使用以下命令:

root@kitploit:~
docker build -t my-githound-container .

此命令使用标签 my-githound-container 构建 Docker 镜像。你可以根据自己的喜好更改标签名称。

运行容器

要运行 Git-Hound Docker 容器,你需要通过 Docker 卷提供 config.yaml 文件和任何输入文件(如 subdomains.txt)。

挂载 config.yaml

将你的 config.yaml 文件放在主机上的已知位置。此文件应包含你的 Git-Hound 配置,包括 GitHub 凭据。

config.yaml 示例:

root@kitploit:~
# config.yaml
github_username: "your_username"
github_password: "your_password"
# 可选:GitHub TOTP 种子
# github_totp_seed: "ABCDEF1234567890"

挂载输入文件

如果你有像 subdomains.txt 这样的文件,请将其放在主机上的一个目录中。

运行命令

使用以下命令运行容器,并提供配置和输入文件:

root@kitploit:~
docker run -v /path/to/config.yaml:/root/.githound/config.yaml -v $(pwd)/data:/data my-githound-container --subdomain-file /data/subdomains.txt

将 /path/to/config.yaml 替换为你的 config.yaml 文件的实际路径。-v $(pwd)/data:/data 部分挂载一个包含输入文件(subdomains.txt)的目录到容器中。


参考

  • How Bad Can It Git? Characterizing Secret Leakage in Public GitHub Repositories (Meli, McNiece, Reaves)

如果你喜欢 GitHound,请考虑 ⭐ 给这个仓库加星!
下载工具