ahmetartuc/DigHub
GitHub: ahmetartuc/DigHub
DigHub 是一款基于 Go 的 GitHub dorking CLI 工具,用于自动化检测公开仓库中暴露的密钥、凭证和敏感文件。
Stars: 3 | Forks: 0
# DigHub
[](https://go.dev)
[](LICENSE)
[](https://github.com/ahmetartuc/dighub/stargazers)
Dighub 是一款强大的 CLI 工具,通过执行高级 GitHub dorking 来检测公开代码仓库中暴露的密钥、凭证、webhook 和敏感文件。借助并发扫描、多种输出格式以及智能过滤功能,Dighub 可以帮助安全研究人员和 DevOps 团队高效地识别安全漏洞。
## 功能
- 🚀 **并发扫描** - 最多支持 20 个并行 worker,扫描速度提升 10 倍
- 🎯 **智能过滤** - 按优先级(high/medium/low)过滤,支持包含/排除模式
- 📊 **多种输出格式** - Terminal、JSON、CSV、HTML 报告
- 🎨 **精美的终端输出** - 带进度条的彩色输出
- ⚡ **速率限制处理** - 自动重试并智能计算等待时间
- 🔍 **100+ Dork 模式** - 全面检测 AWS、GitHub、SSH key、数据库、webhook 等
- 📈 **详细的统计数据** - 按优先级和类别跟踪检测结果
- 🎛️ **灵活的配置** - 提供丰富的 CLI 标志供自定义
## 安装
### 从源码安装
```
git clone https://github.com/ahmetartuc/dighub.git
cd dighub
go mod download
go build -o dighub
sudo mv dighub /usr/local/bin/
```
### 使用 Go Install
```
go install github.com/ahmetartuc/dighub@latest
```
## 快速入门
### 基本用法
```
# 扫描 organization
dighub -org -token
# 扫描 user
dighub -user -token
```
### 高级用法
```
# 仅高优先级 findings,保存为 JSON
dighub -org myorg -token ghp_xxx -priority high -output json
# 使用 10 个 worker 进行并发扫描
dighub -org myorg -token ghp_xxx -workers 10
# 过滤特定 patterns
dighub -org myorg -token ghp_xxx -include "AWS,GitHub" -exclude "backup,log"
# 导出为 HTML 报告
dighub -org myorg -token ghp_xxx -output html -out-file report.html
# Quiet 模式(仅 URL)
dighub -org myorg -token ghp_xxx -quiet
# Verbose 模式(详细输出)
dighub -org myorg -token ghp_xxx -verbose
```
## 命令行选项
### 必需标志
```
-org, -o GitHub organization to scan
-user, -u GitHub user to scan (alternative to org)
-token, -t GitHub Personal Access Token (required)
```
### 输出选项
```
-output, -f Output format: terminal, json, csv, html (default: terminal)
-out-file, -w Output file path (auto-generated if not specified)
-quiet, -q Quiet mode - only show matches
-verbose, -v Verbose output with detailed information
-no-color, -n Disable colored output
```
### 过滤选项
```
-priority, -p Priority level: all, high, medium, low (default: all)
-include, -i Include specific dorks (comma-separated patterns)
-exclude, -e Exclude specific dorks (comma-separated patterns)
```
### 性能选项
```
-workers, -W Number of concurrent workers (1-20, default: 5)
-rate-limit, -r Requests per minute (default: 30)
-delay, -d Delay between requests in seconds (default: 2)
```
## Dork 类别
Dighub 包含用于检测以下内容的 dork:
### 高优先级 🔴
- **AWS Credentials** - Access key、Secret key、Session token
- **GitHub Tokens** - Personal access token、OAuth token
- **SSH Keys** - 私钥(RSA、DSA、Ed25519)
- **私钥和证书** - PEM 文件、key 文件
- **数据库凭证** - 连接字符串、密码
- **支付网关密钥** - Stripe、PayPal、Braintree
- **API Keys** - OpenAI、Cloudflare、Vercel 等
### 中优先级 🟡
- **Webhooks** - Discord、Slack、Teams、Office 365
- **邮件服务** - SendGrid、Mailgun、SMTP 凭证
- **云服务** - Firebase、Google Services、Azure
- **CI/CD 配置** - GitHub Actions、Travis、GitLab CI
- **基础设施** - Terraform、Kubernetes 配置
### 低优先级 🔵
- **配置文件** - 设置、属性、ini 文件
- **日志文件** - Debug 日志、Error 日志
- **备份文件** - SQL 转储、数据库备份
- **历史文件** - Bash history、zsh history
## 输出格式
### Terminal 输出(默认)
带有颜色的、分组整齐的输出,按优先级分组并带有进度条。
### JSON 输出
```
{
"scan_info": {
"target": "myorg",
"scan_date": "2024-01-14T...",
"duration": "5m23s",
"total_dorks": 100
},
"summary": {
"total_matches": 45,
"unique_files": 23,
"high_priority": 12,
"medium_priority": 20,
"low_priority": 13
},
"findings": [...]
}
```
### CSV 输出
包含所有检测详情的结构化 CSV,方便在电子表格中进行分析。
### HTML 输出
美观且具有交互性的 HTML 报告,包含:
- 带有统计信息的执行摘要
- 颜色编码的优先级徽章
- 可排序的检测结果
- 指向 GitHub 文件的直接链接
- 响应式设计
## GitHub Token 设置
1. 前往 [GitHub Settings → Developer Settings → Personal Access Tokens](https://github.com/settings/tokens)
2. 点击“Generate new token (classic)”
3. 选择范围:`public_repo`(仅适用于公开仓库)
4. 复制 token(以 `ghp_` 开头)
5. 将其与 `-token` 标志结合使用
## 性能提示
1. **使用并发 worker** 加快扫描速度:
dighub -org myorg -token xxx -workers 10
2. **按优先级过滤** 以专注于关键发现:
dighub -org myorg -token xxx -priority high
3. **使用特定的包含项** 来定位重要目标:
dighub -org myorg -token xxx -include "AWS,GitHub,SSH"
4. **根据您的 token 限制调整速率限制**:
dighub -org myorg -token xxx -rate-limit 50 -delay 1
## 示例
### 示例 1:快速安全审计
```
dighub -org mycompany -token ghp_xxx -priority high -output html
```
### 示例 2:导出 JSON 格式的全面扫描
```
dighub -org mycompany -token ghp_xxx -workers 10 -output json -out-file security-audit.json
```
### 示例 3:专注查找 AWS Credentials
```
dighub -org mycompany -token ghp_xxx -include "AWS" -verbose
```
### 示例 4:排除误报
```
dighub -org mycompany -token ghp_xxx -exclude "test,example,demo"
```
## 安全最佳实践
1. **切勿提交密钥** - 使用环境变量或密钥管理服务
2. **立即轮换暴露的凭证** - 如果 Dighub 发现了密钥,请立即轮换
3. **使用 .gitignore** - 防止将敏感文件提交到仓库
4. **启用 GitHub secret scanning** - GitHub 的内置保护机制
5. **定期审计** - 定期在您的仓库上运行 Dighub
## 📋 扫描结果解读
### 高优先级发现 🔴
**需要采取行动**:立即轮换/撤销这些凭证
- 可直接访问关键系统
- 可能导致数据泄露或服务中断
### 中优先级发现 🟡
**需要审查**:评估风险并采取适当的行动
- 可能提供间接访问权限或导致信息泄露
- 应将其从公开仓库中移除
### 低优先级发现 🔵
**最佳实践**:进行清理以保持安全卫生
- 通常是配置文件或不太敏感的数据
- 仍应进行审查,不需要时将其移除
### 添加新的 Dork
要添加新的 dork 模式,请编辑 `internal/dorks/dorks.go`:
```
{Pattern: "filename:.env NEW_SECRET", Priority: PriorityHigh, Category: "Category", Description: "Description"},
```
## 📄 许可证
本项目采用 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## ⚠️ 免责声明
**本工具仅供授权的安全研究和教育目的使用。**
- 仅在您拥有测试权限的代码仓库和组织上使用 Dighub
- 请勿用于恶意目的或未经授权的访问
- 作者不对滥用本工具的行为负责
- 务必遵守适用法律和 GitHub 的服务条款
- 尊重速率限制和 API 使用政策
**用 ❤️ 为安全社区打造**
如果您觉得此工具实用,请考虑在 GitHub 上给它点个 ⭐!
标签:DevSecOps, EVTX分析, Go, Ruby工具, StruQ, 上游代理, 对抗攻击, 敏感信息检测, 日志审计, 漏洞探测