THORCollective/HEARTH
GitHub: THORCollective/HEARTH
一个 AI 驱动的威胁猎杀知识协作平台,能自动将威胁情报报告转化为可执行的猎杀假设并构建社区知识库。
Stars: 303 | Forks: 29
🔥 HEARTH: Hunting Exchange and Research Threat Hub 🔥
A community-driven, AI-powered exchange for threat hunting ideas and methodologies.
Explore the Live Database »
Submit a Hunt
·
Report a Bug
·
Request a Feature
## 📖 关于本项目
**HEARTH** (Hunting Exchange and Research Threat Hub) 是一个集中式的开源平台,旨在让安全专业人士能够共享、发现并协作进行威胁猎杀假设。生成有效且及时的猎杀活动是一项重大挑战,而 HEARTH 旨在通过构建一个全面的、由社区管理的知识库来解决这一问题。
我们的目标是创建一个充满活力的生态系统,让猎手们可以:
- **发现** 新颖且富有创意的猎杀思路。
- **贡献** 自己的研究和 CTI。
- **协作** 优化和改进检测策略。
- **自动化** 猎杀创建中的琐碎环节,从而专注于核心事务。
本项目使用 **[PEAK Threat Hunting Framework](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html)** 将猎杀活动分为三类:
- **🔥 Flames**:具有明确、可测试目标的假设驱动型猎杀。
- **🪵 Embers**:基线建立和探索性分析,用于理解环境。
- **🔮 Alchemy**:模型辅助和算法式的威胁检测方法。
## ✨ 核心功能
HEARTH 不仅仅是一个猎杀列表;它是一个功能齐全的平台,配备强大的自动化后端。
| 功能 | 描述 |
| :--- | :--- |
| **🔍 交互式 UI** | 一个可搜索、可过滤、可排序的猎杀数据库,让您轻松找到所需内容。 |
| **🤖 AI 驱动的 CTI 分析** | 提交 CTI 报告链接,系统将使用 **Claude Sonnet 4.5** 自动阅读、分析并生成完整的猎杀假设。 |
| **🌐 高级 Web Scraping** | 智能内容提取,支持 Brotli/Zstandard 压缩、JavaScript 渲染内容及多种格式 (HTML, PDF, DOCX)。 |
| **🎯 MITRE ATT&CK 集成** | 利用官方 MITRE ATT&CK Enterprise 框架数据验证技术 ID 并提供精确的战术映射 (691 项技术,99% 准确率)。 |
| **🛡️ 重复检测** | AI 系统分析新提交内容与现有数据库,标记潜在重复项以确保内容质量。借助 SQLite 索引,速度提升 **30-60 倍**。 |
| **⚡ 性能优化** | SQLite 数据库索引提供闪电般的查询速度,同时保持以 Markdown 文件为事实来源。 |
| **⚙️ 自动化工作流** | GitHub Actions 管理提交的整个生命周期,从初稿到最终批准,包括创建分支和 PR。 |
| **🏆 贡献者排行榜** | 我们表彰贡献者!自动化系统追踪提交情况并维护公开的 [排行榜](/Keepers/Contributors.md)。 |
| **✅ 审查与重新生成循环** | 维护者只需在提交 Issue 上添加 `regenerate` 标签,即可请求重新生成 AI 生成的猎杀内容。 |
## 🚀 如何贡献
向 HEARTH 贡献的设计尽可能简单。我们使用 GitHub Issues 作为简化的提交中心。
### **选项 1:自动化 CTI 提交(推荐)**
拥有优秀的威胁情报报告、博客文章或白皮书的链接?让我们的 AI 为您代劳。
1. **[点击此处打开 CTI 提交 Issue](https://github.com/THORCollective/HEARTH/issues/new?assignees=&labels=intel-submission%2C+needs-triage&template=cti_submission.yml&title=%5BCTI%5D+Brief+Description+of+Threat+Intel)**。
2. 粘贴 **CTI 来源的 URL** 并提供您的姓名/昵称以便署名。
3. 提交 Issue。我们的机器人将:
- 读取并分析内容。
- 生成完整的猎杀草稿。
- 检查重复项。
- 将草稿发布到新分支,并在您的 Issue 下评论附上查看链接。
### **选项 2:手动猎杀提交**
如果您有一个成型的猎杀想法,可以手动提交。
1. **[点击此处打开手动猎杀提交 Issue](https://github.com/THORCollective/HEARTH/issues/new?assignees=&labels=manual-submission%2C+needs-triage&template=hunt_submission_form.yml&title=%5BHunt%5D+Brief+Description+of+Hunt+Idea)**。
2. 填写模板,包括您的假设、战术、引用及其他详细信息。
3. 提交 Issue 供维护者审查。
## 🛠️ 构建技术
HEARTH 将简洁的前端与构建在 GitHub Actions 上的强大无服务器后端相结合。
* **前端**:
* HTML5
* CSS3
* Vanilla JavaScript
* **后端与自动化**:
* GitHub Actions
* Python
* Claude (Anthropic) API 和 OpenAI API
* SQLite (用于快速索引和查询)
* **托管**:
* GitHub Pages
## 🏗️ 架构
HEARTH 采用混合方法,在简洁性与性能之间取得平衡:
### 猎杀存储
- `Flames/`、`Embers/` 和 `Alchemy/` 中的 **Markdown 文件**是**事实来源**
- 猎杀文件保持人类可读并受版本控制
- 易于通过标准 Git 工作流浏览、编辑和贡献
### 数据库索引
- **SQLite 数据库** (`database/hunts.db`) 提供快速查询以进行重复检测
- 在添加、修改或删除猎杀文件时自动更新
- 在 GitHub Actions 中提供 **30-60 倍** 的重复检测速度
- 有关技术详情,请参阅 [database/README.md](database/README.md)
### CTI 提取
我们的内容提取系统处理多种网络来源:
- **压缩支持**:Brotli、Zstandard 和 Gzip 解压
- **JavaScript 渲染**:对于 JS 重度网站回退至 readability-lxml
- **多种格式**:支持 HTML、PDF 和 DOCX 文件
- **智能解析**:从常见博客/报告结构中提取文章内容
### MITRE ATT&CK 集成
使用官方数据进行精确的技术和战术验证:
- **691 项技术**:已索引完整的 Enterprise ATT&CK 框架
- **实时验证**:根据 MITRE 数据验证技术 ID
- **精确战术映射**:准确率 99%(基于关键词仅为 85%)
- **置信度评分**:多层回退机制 (MITRE → 表格 → 关键词)
### 自动化工作流
- **重复检测**:使用向量嵌入进行快速相似度分析
- **猎杀生成**:基于 CTI 来源的 AI 驱动草稿创建
- **数据库更新**:文件更改时自动维护索引
- **质量检查**:TTP 多样性分析和内容验证
有关技术实现的更多详情,请参阅:
- [数据库架构](database/README.md)
- [优化指南](docs/OPTIMIZATION_GUIDE.md) - 性能改进和成本降低策略
- [测试指南](docs/TESTING_GUIDE.md) - 本地开发和测试说明
- [脚本文档](scripts/)
- [工作流配置](.github/workflows/)
## ⚙️ 配置
对于维护者和自托管实例,HEARTH 可通过环境变量进行配置。
### 环境变量
| 变量 | 描述 | 默认值 | 必填 |
| :--- | :--- | :--- | :--- |
| `AI_PROVIDER` | 用于猎杀生成的 AI 提供商 (`claude` 或 `openai`) | `claude` | 否 |
| `ANTHROPIC_API_KEY` | Claude 的 API key(若使用 Claude 则必填) | - | 是(针对 Claude) |
| `OPENAI_API_KEY` | OpenAI 的 API key(若使用 OpenAI 则必填) | - | 是(针对 OpenAI) |
| `CLAUDE_MODEL` | 指定使用的 Claude 模型版本 | `claude-sonnet-4-5-20250929` | 否 |
### GitHub Actions 配置
在 GitHub Actions 中运行时,这些变量应设置为:
- **Repository Secrets**:`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `HEARTH_TOKEN`
- **Repository Variables**:`AI_PROVIDER`, `CLAUDE_MODEL` (可选)
要更新 Claude 模型版本,您可以:
1. 在 GitHub Settings 中设置 `CLAUDE_MODEL` 存储库变量
2. 更新 [scripts/generate_from_cti.py](scripts/generate_from_cti.py) 中的默认值
## 🔧 故障排除
### CTI 提交问题
**问题**:“Failed to retrieve or process content from the URL”
- **解决方案**:验证 URL 正确且可公开访问
- 检查文章是否需要认证或处于付费墙后
- 尝试手动提交内容而非通过 URL
**问题**:内容显示乱码或不完整
- **解决方案**:此问题已修复!请确保您使用的是最新版本的 HEARTH
- 系统现在支持 Brotli 和 Zstandard 压缩
- 如果问题持续,请尝试手动提交流程
### 数据库问题
**问题**:重复检测缓慢或失败
- **解决方案**:文件更改时数据库会自动重建
- 维护者可手动重建:`python scripts/build_hunt_database.py --rebuild`
- 查阅 [database/README.md](database/README.md) 了解更多故障排除信息
**问题**:数据库显示不同步
- **解决方案**:每次合并到 main 分支时,GitHub Actions 会自动更新数据库
- 对于本地测试,运行:`python scripts/build_hunt_database.py`
### 一般问题
如有其他问题或疑问:
1. 查看现有的 [GitHub Issues](https://github.com/THORCollective/HEARTH/issues)
2. 搜索 [数据库文档](database/README.md)
3. [开启新 Issue](https://github.com/THORCollective/HEARTH/issues/new) 并附上详情
## 许可证
根据 MIT 许可证分发。有关更多信息,请参阅 `LICENSE`。
## ❤️ 致谢
本项目得益于安全社区及我们出色的贡献者。
**项目维护者:**
- Lauren Proehl ([@jotunvillur](https://x.com/jotunvillur))
- Sydney Marrone ([@letswastetime](https://x.com/letswastetime))
- John Grageda ([@AngryInfoSecGuy](https://x.com/AngryInfoSecGuy))
🔥 **让 HEARTH 之火长燃!** 🔥
标签:AMSI绕过, ASN信息, DNS解析, PEAK框架, Petitpotam, Ruby, 人工智能, 假设驱动, 协作平台, 威胁情报, 威胁检测, 安全社区, 安全运营, 开发者工具, 开源项目, 异常检测, 扫描框架, 数据可视化, 数据基线, 检测策略, 用户模式Hook绕过, 知识库, 红队平台, 网络安全, 自动化狩猎, 逆向工具, 隐私保护