ericrlessa/threat-intelligence-agent
GitHub: ericrlessa/threat-intelligence-agent
基于 LangChain 和 Flask 构建的威胁情报聊天机器人,通过集成 VirusTotal 与 AlienVault OTX API 帮助安全人员快速调查各类入侵指标。
Stars: 0 | Forks: 0
# 威胁情报 Agent
一款旨在协助网络安全专业人员进行威胁情报调查的聊天机器人。它通过 VirusTotal 和 AlienVault OTX API 查询入侵指标 (IOC)。
## 功能
- **现代 Web 界面**:基于 Flask 构建的简洁、直观的聊天界面
- **LangChain Agent**:能够根据用户查询智能决定使用哪些工具的智能 Agent
- **支持多种 IOC 类型**:
- IP 地址 (VirusTotal)
- 域名 (AlienVault OTX)
- 主机名 (AlienVault OTX)
- URL (AlienVault OTX)
- 文件哈希 - MD5, SHA1, SHA256 (AlienVault OTX)
- CVE (AlienVault OTX)
## 设置
### 前置条件
- Python 3.8 或更高版本
- 以下服务的 API 密钥:
- OpenAI(用于 GPT-4o-mini 或其他模型)
- VirusTotal
- AlienVault OTX
### 安装
1. 克隆代码库并导航到项目目录:
```
cd threat-intelligence-agent
```
2. 创建虚拟环境:
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. 安装依赖:
```
pip install -r requirements.txt
```
4. 从示例文件创建 `.env` 文件:
```
cp .env.example .env
```
5. 编辑 `.env` 文件并添加您的 API 密钥:
```
OPENAI_API_KEY=your_openai_api_key_here
VIRUSTOTAL_API_KEY=your_virustotal_api_key_here
ALIENVAULT_API_KEY=your_alienvault_api_key_here
```
### 运行应用程序
启动 Flask Web 服务器:
```
python app.py
```
应用程序将在 `http://localhost:5000` 上可用
## 使用示例
向聊天机器人询问有关 IOC 的问题:
- "检查 IP 地址 8.8.8.8"
- "域名 example.com 是恶意的吗?"
- "查询 URL https://suspicious-site.com"
- "检查文件哈希 44d88612fea8a8f36de82e1278abb02f"
- "告诉我关于 CVE-2021-44228 的信息"
## 配置
可以在 `.env` 文件中更改 LLM 模型:
```
LLM_MODEL=gpt-4o-mini
LLM_TEMPERATURE=0.3
```
您可以将 `gpt-4o-mini` 替换为其他 OpenAI 模型,或者通过修改 `agent/threat_intel_agent.py` 将其配置为使用不同的提供商。
## 项目结构
```
threat-intelligence-agent/
├── app.py # Flask application
├── config.py # Configuration management
├── requirements.txt # Python dependencies
├── .env.example # Example environment variables
├── agent/
│ └── threat_intel_agent.py # LangChain agent implementation
├── tools/
│ ├── virustotal_tool.py # VirusTotal API tool
│ └── alienvault_tools.py # AlienVault OTX API tools
├── templates/
│ └── index.html # Web interface HTML
└── static/
└── style.css # Web interface styles
```
## 安全提示
- 切勿将 `.env` 文件提交到版本控制中
- API 密钥从环境变量中加载
- `.gitignore` 文件可防止敏感文件被提交
## 许可证
本项目仅供教育和专业网络安全用途使用。
标签:AI智能体, Flask, Python, 威胁情报, 开发者工具, 无后门, 网络安全, 逆向工具, 隐私保护