sahinozge-png/Threat-Intelligence-Assistant

GitHub: sahinozge-png/Threat-Intelligence-Assistant

基于 Streamlit 构建的本地 SOC 面板,结合 OSINT 威胁情报查询、端口指纹识别与本地 RAG 大模型分析,为安全分析师提供自动化的 IP 风险评估与响应建议。

Stars: 0 | Forks: 0

# SOC 威胁情报与本地 AI 助手 一个使用 **Streamlit** 构建的本地安全运营中心 (SOC) 面板,具备实时 OSINT 威胁情报、主动设备指纹识别功能,并通过检索增强生成 (RAG) pipeline 使用本地托管的 LLM 充当自动化 SOC 分析师。 ## 🚀 功能 * **实时 OSINT 威胁情报:** 集成 **AbuseIPDB API** 以检查 IP 地址,获取实时的滥用置信度评分、总报告数、国家代码、ISP 详情和地理坐标。 * **本地 LLM 集成(RAG 模式):** 通过 Foundry Local SDK 利用本地托管的 **Qwen (`qwen2.5-1.5b-instruct`)** 模型,分析检索到的威胁数据,并生成简明的自动化风险评估和应急行动计划。 * **主动设备与端口指纹识别:** 对外部 IP 执行基于 socket 的端口扫描(Banner Grabbing),以识别活动的服务/网关,并检查本地 ARP/MAC 表以进行本地网络设备分类。 * **交互式地理地图:** 使用 Streamlit 原生的映射工具,自动将恶意或查询到的 IP 坐标绘制在交互式世界地图上。 * **持久化 SQLite 数据库:** 自动将所有扫描结果、威胁评分、国家/地区数据和 AI 生成的报告记录到本地关系型数据库 (`threat_intel.db`) 中。 * **历史记录、统计与导出:** 提供带有统计图表(柱状图和折线图)的分析仪表板,用于查看历史威胁分布,支持可搜索的数据网格以及一键导出 CSV 报告。 ## 🛠️ 技术栈 * **前端 / UI:** Streamlit * **AI / LLM:** Foundry Local SDK (`qwen2.5-1.5b-instruct`) * **威胁情报:** AbuseIPDB REST API v2 * **数据与存储:** SQLite, Pandas * **网络与安全工具:** Python `socket`, `subprocess`, `requests` ## 📋 安装与设置 1. **克隆仓库并导航至项目目录。** 2. **安装所需的依赖项:** ``` pip install streamlit foundry-local-sdk requests pandas ``` 3. **确保数据库和模块 (`database.py`) 已在您的工作目录中正确配置。** 4. **运行 Streamlit 应用程序:** ``` streamlit run app.py ``` ## ⚙️ 工作原理(RAG 与 Agent 架构) 1. **检索(数据收集):** 当输入 IP 地址时,系统会查询外部的 AbuseIPDB API 以获取实时的安全遥测数据和上下文。同时,它会执行本地的 socket/端口检查,以收集设备的技术特征。 2. **增强(上下文整合):** 检索到的情报数据(滥用评分、报告、ISP、设备签名)会被动态地结构化到 system prompt 中。 3. **生成(本地 AI 分析):** 丰富后的 prompt 会被输入到本地的 Qwen 模型中。在设定的 SOC 分析师角色的驱动下,模型会直接向界面输出(流式传输)实时的风险评估和缓解行动计划。 4. **持久化:** 结果会自动提交到本地 SQLite 数据库,用于历史追踪、统计图表生成和报告输出。
标签:DLL 劫持, Kubernetes, MSSQL, SQLite, Streamlit, 大语言模型, 威胁情报, 安全运营, 密码管理, 开发者工具, 扫描框架, 插件系统, 数据统计, 端口扫描, 访问控制, 逆向工具