AbelRodriguez97/threat-intel-agent

GitHub: AbelRodriguez97/threat-intel-agent

这是一个AI智能体,通过大型语言模型自动处理威胁情报,提取指标并生成优先级报告。

Stars: 0 | Forks: 0

# 🛡️ 威胁情报代理 ![Python](https://img.shields.io/badge/Python-3.11+-3776AB?style=flat&logo=python&logoColor=white) ![Gemini](https://img.shields.io/badge/Gemini-API-8E75B2?style=flat&logo=googlegemini&logoColor=white) ![LangChain](https://img.shields.io/badge/LangChain-Agents-1C3C3C?style=flat&logo=langchain&logoColor=white) ![Status](https://img.shields.io/badge/status-in%20development-yellow) ![License](https://img.shields.io/badge/license-MIT-green) ## 🎯 动机 安全分析师每天花费数小时来分类处理威胁情报信息源、提取指标(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绕过, 网络安全, 网络调试, 自动化, 自动化侦查工具, 轻量级, 逆向工具, 隐私保护