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, 威胁情报, 开发者工具, 无后门, 网络安全, 逆向工具, 隐私保护