threatvec/ghostkey
GitHub: threatvec/ghostkey
一款本地运行的 AI 驱动密钥扫描器,可在代码、Git 历史和环境变量中检测泄露的 API 密钥、密码和凭证。
Stars: 0 | Forks: 0
```
██████╗ ██╗ ██╗ ██████╗ ███████╗████████╗██╗ ██╗███████╗██╗ ██╗
██╔════╝ ██║ ██║██╔═══██╗██╔════╝╚══██╔══╝██║ ██╔╝██╔════╝╚██╗ ██╔╝
██║ ███╗███████║██║ ██║███████╗ ██║ █████╔╝ █████╗ ╚████╔╝
██║ ██║██╔══██║██║ ██║╚════██║ ██║ ██╔═██╗ ██╔══╝ ╚██╔╝
╚██████╔╝██║ ██║╚██████╔╝███████║ ██║ ██║ ╚██╗███████╗ ██║
╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝
```
GhostKey
AI 驱动的密钥扫描器与凭证泄露防护工具
在密钥泄露到 GitHub 之前发现它们。零云端依赖。零妥协。
由 talkdedsec & threatvec 开发
## 什么是 GhostKey?
GhostKey 可扫描您的代码、git 历史、环境文件和剪贴板中的**泄露的 API 密钥、密码、令牌和凭证** — 在它们进入公共仓库之前。
与基于云端的扫描器不同,GhostKey **100% 本地运行**。您的密钥永远不会离开您的机器。可选的**本地 AI 验证**(通过 Ollama)可减少误报,且无需任何云端依赖。
## 功能
### 扫描模式
| 命令 | 描述 |
|---------|-------------|
| `ghostkey scan .` | 扫描当前目录中的文件 |
| `ghostkey audit` | 扫描整个 git 历史以查找泄露的密钥 |
| `ghostkey env` | 扫描 .env 文件和 docker-compose 配置 |
| `ghostkey watch` | 实时监控剪贴板中的密钥泄露 |
| `ghostkey install` | 安装 pre-commit 钩子以阻止包含密钥的提交 |
### 检测引擎
- **160+ 检测规则**,覆盖 15+ 个类别
- **香农熵分析**,用于检测高随机性字符串
- **本地 AI 验证**,通过 Ollama(可选,减少误报)
- **智能白名单**,跳过测试/示例值 |
### 支持的密钥类型
| 类别 | 示例 |
|----------|---------|
| 云服务提供商 | AWS 访问密钥、GCP API 密钥、Azure 密钥 |
| 版本控制 | GitHub PAT、GitLab 令牌、Bitbucket 密钥 |
| 支付 | Stripe 密钥、PayPal、Square |
| 数据库 | PostgreSQL、MySQL、MongoDB、Redis URL |
| 消息通讯 | Slack 令牌、Discord Webhook、Telegram 机器人 |
| 认证 | JWT 令牌、OAuth 密钥、Bearer 令牌 |
| SSH 与加密 | RSA/ECDSA/Ed25519 私钥、PGP 密钥 |
| CI/CD | CircleCI、Travis、Jenkins 令牌 |
| 包管理器 | NPM 令牌、PyPI 令牌 |
| 通用 | API 密钥、代码中的密码、高熵字符串 |
### 输出格式
- **终端** — 带严重性指示器的彩色表格
- **JSON** — 机器可读格式,适用于 CI/CD 流水线
- **SARIF** — GitHub 代码扫描兼容格式 |
## 快速开始
```
# 从 releases 下载
# 或从源码构建:
git clone https://github.com/threatvec/ghostkey.git
cd ghostkey
go build -o ghostkey .
# 扫描当前目录
./ghostkey scan .
# 扫描 git 历史
./ghostkey audit
# 安装 pre-commit hook
./ghostkey install
# 使用 AI 验证扫描(需要 Ollama)
./ghostkey scan . --ai
# 监控剪贴板
./ghostkey watch
# CI/CD 的 JSON 输出
./ghostkey scan . --format json
# GitHub Code Scanning 的 SARIF
./ghostkey scan . --format sarif > results.sarif
```
## Pre-commit 钩子
自动阻止包含密钥的提交:
```
# 安装 hook
ghostkey install
# 现在任何包含 secrets 的提交都将被阻止:
git add .
git commit -m "update config"
# 错误:发现 2 个 secrets。提交被阻止。
```
## AI 验证(可选)
GhostKey 可使用本地 Ollama 实例来验证发现并减少误报:
```
# 安装 Ollama (https://ollama.ai)
# 拉取模型
ollama pull llama3.2
# 使用 AI 扫描
ghostkey scan . --ai
```
AI 会检测到的字符串是**真正的密钥**还是测试/示例值。所有操作都在本地运行 — 没有数据会离开您的机器。
## 配置
在项目根目录创建 `.ghostkey.yaml`:
```
# 自定义允许列表
allowlist:
- "EXAMPLE_API_KEY"
- "test_token_123"
# 排除目录
exclude:
- "vendor"
- "testdata"
# AI 设置
ai_enabled: false
ollama_url: "http://localhost:11434"
ollama_model: "llama3.2"
# 最大文件大小(字节)
max_file_size: 1048576
```
## 项目结构
```
ghostkey/
├── cmd/ # CLI commands (scan, audit, install, watch, env)
├── internal/
│ ├── scanner/ # Pattern engine, matcher, entropy calculator
│ ├── git/ # Git history traversal, hook management
│ ├── ai/ # Ollama AI integration
│ ├── clipboard/ # Clipboard monitoring daemon
│ ├── config/ # YAML configuration
│ ├── report/ # Terminal, JSON, SARIF output
│ ├── signature/ # Author signatures & integrity
│ └── types/ # Type definitions
├── rules/ # Custom rule definitions
├── go.mod
├── main.go
├── LICENSE
└── README.md
```
## 对比
| 功能 | GhostKey | Gitleaks | TruffleHog |
|---------|----------|----------|------------|
| 本地 AI 验证 | 是(Ollama) | 否 | 否 |
| 剪贴板监控 | 是 | 否 | 否 |
| Pre-commit 钩子 | 是 | 是 | 是 |
| 零云端依赖 | 是 | 是 | 部分* |
| SARIF 输出 | 是 | 是 | 是 |
| Git 历史扫描 | 是 | 是 | 是 |
| .env 扫描 | 是 | 有限 | 是 |
| 熵分析 | 是 | 是 | 是 |
| 免费 | 是 | 是 | 是 |
*TruffleHog 会将检测到的密钥发送给云端提供商进行验证
## 从源码构建
```
# 要求:Go 1.22+
git clone https://github.com/threatvec/ghostkey.git
cd ghostkey
go mod tidy
go build -o ghostkey .
# 跨平台编译
GOOS=linux GOARCH=amd64 go build -o ghostkey-linux .
GOOS=darwin GOARCH=arm64 go build -o ghostkey-macos .
```
## 许可证
专有许可证 — 详见 [LICENSE](LICENSE)。
提供源代码以供透明度和安全审计。禁止再分发和修改。
GhostKey — 由 talkdedsec & threatvec 开发
在黑客之前发现密钥。
标签:AI安全工具, AI风险缓解, API密钥检测, Credential Leak Prevention, DevSecOps, EVTX分析, Go, Google AI, LLM评估, meg, Ollama, Ruby工具, Secret Scanner, 上游代理, 信息安全, 凭证泄露检测, 剪贴板监控, 密码保护, 开发安全, 日志审计, 本地AI, 机密信息检测, 网络安全, 输入验证, 隐私保护