AbelRodriguez97/threat-intel-agent
GitHub: AbelRodriguez97/threat-intel-agent
这是一个AI智能体,通过大型语言模型自动处理威胁情报,提取指标并生成优先级报告。
Stars: 0 | Forks: 0
# 🛡️ 威胁情报代理





## 🎯 动机
安全分析师每天花费数小时来分类处理威胁情报信息源、提取指标(CVE、IP地址、文件哈希)并为利益相关者撰写总结报告。本项目探讨了**由大型语言模型驱动的智能体**如何能够实现这一工作流的端到端自动化,同时保持人类可读的输出,以便分析师能够快速验证。
该项目旨在解决安全运营中最重复的任务之一:将原始威胁数据转化为可操作、优先级排序的报告。
## 🧩 功能介绍
- 🔄 **摄入**来自公共来源(CISA KEV目录、AlienVault OTX、NVD)的威胁情报源
- 🤖 **使用 Gemini API** 以通俗易懂的语言总结漏洞信息
- 🔎 **自动提取指标**:CVE ID、受影响产品、厂商信息
- 📊 **基于** CVSS 评分、利用状态和资产关键性进行**严重性分类**
- 📝 **生成每日报告**,采用 Markdown 格式,包含优先级排序的发现和建议操作
- 🤖 **LangChain 智能体编排**:智能体根据上下文决定调用哪些工具
## 🏗️ 系统架构
```
┌──────────────────┐
│ CISA KEV Feed │
│ AlienVault OTX │──┐
│ NVD API │ │
└──────────────────┘ │
▼
┌───────────────┐
│ Feed Ingestor │
└───────┬───────┘
▼
┌─────────────────────┐
│ LangChain Agent │
│ (Gemini-powered) │
│ │
│ Tools: │
│ - fetch_cves │
│ - enrich_cve │
│ - classify │
│ - generate_report │
└─────────┬───────────┘
▼
┌─────────────────────┐
│ Markdown Report │
│ (committed daily) │
└─────────────────────┘
```
## 🛠️ 技术栈
- **Python 3.11+**
- **Google Gemini API** — LLM 核心
- **LangChain** — 智能体编排与工具调用
- **requests** — 用于公共信息源的 HTTP 客户端
- **pydantic** — 数据验证
- **GitHub Actions** — 每日自动化执行(计划中)
## 📦 项目结构
```
threat-intel-agent/
├── src/
│ ├── feeds/ # Public feed clients (CISA, OTX, NVD)
│ ├── agents/ # LangChain agent definitions and tools
│ ├── extractors/ # IOC extraction logic
│ └── reports/ # Markdown report generation
├── tests/ # Unit tests
├── examples/ # Sample inputs and generated reports
├── requirements.txt
└── .env.example
```
## 🚀 快速开始
```
# 克隆仓库
git clone https://github.com/AbelRodriguez97/threat-intel-agent.git
cd threat-intel-agent
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# 安装依赖项
pip install -r requirements.txt
# 配置您的 API 密钥
cp .env.example .env
# 编辑 .env 文件并添加您的 GEMINI_API_KEY
```
你可以在 [aistudio.google.com](https://aistudio.google.com) 获取免费的 Gemini API 密钥。
## 🗺️ 发展路线图
- [x] 项目设置与初始结构
- [x] CISA KEV 信息源接入
- [x] 使用 Gemini API 进行 CVE 摘要生成
- [x] 使用 pytest 进行单元测试
- [x] 在 examples/ 中提供示例报告
- [x] 生成 Markdown 格式的每日报告
- [ ] 结合正则表达式与 LLM 验证进行指标提取
- [ ] 具备多工具编排能力的 LangChain 智能体(第3周)
- [ ] 用于每日执行的 GitHub Actions 工作流
- [ ] 集成 AlienVault OTX
## 🧠 学习收获
- 使用 LangChain 设计**多工具 LLM 智能体**
- 使用 **Google Gemini API** 进行结构化输出提取
- 构建**安全的 API 集成**(密钥管理、速率限制)
- 威胁情报数据格式(类似 STIX 的模式、CVE 模式)
- 使用 GitHub Actions 实现 AI 工作流的 CI/CD
## 📄 示例输出
请查看 [`examples/sample-report.md`](./examples/sample-report.md) 了解由该流程生成的真实报告。
## 📚 参考资料
- [CISA 已知被利用漏洞目录](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
- [LangChain 文档](https://python.langchain.com/)
- [Gemini API 文档](https://ai.google.dev/gemini-api/docs)
- [AlienVault OTX](https://otx.alienvault.com/)
## 📄 许可证
MIT — 详情见 [LICENSE](LICENSE)。
## 👤 作者
**Abel Rodriguez** — 埃森哲软件工程师,致力于将人工智能应用于安全运营领域。
📫 [领英](https://www.linkedin.com/in/abel-rodriguez-gomez-20a446132/) · 📧 abelrodr42malaga@gmail.com
标签:AI代理, Apex, API集成, CVE处理, Gemini API, IOC提取, LangChain, LLM, Python, Unmanaged PE, 严重性分类, 人工智能, 代码开发, 可观测性, 威胁分析, 威胁情报, 威胁源摄取, 安全运营, 开发者工具, 扫描框架, 无后门, 机器学习, 用户模式Hook绕过, 网络安全, 网络调试, 自动化, 自动化侦查工具, 轻量级, 逆向工具, 隐私保护