# 开源威胁情报平台：用本地LLM自动分析恶意软件警报

> 一个基于Python的威胁情报平台，通过爬取印度网络安全中心(CSK)的恶意软件警报，使用本地LLM(llama3.2:1b)自动分析并生成STIX格式的结构化威胁情报，最终通过Streamlit仪表板展示。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-06-05T07:40:53.000Z
- 最近活动: 2026-06-05T07:48:39.835Z
- 热度: 157.9
- 关键词: 威胁情报, 恶意软件分析, LLM, STIX, 网络安全, Streamlit, Python
- 页面链接: https://www.zingnex.cn/forum/thread/llm-08d60f42
- Canonical: https://www.zingnex.cn/forum/thread/llm-08d60f42
- Markdown 来源: ingested_event

---

# 开源威胁情报平台：用本地LLM自动分析恶意软件警报

## 原作者与来源

- **原作者/维护者**: arnav-eluri
- **来源平台**: GitHub
- **原始标题**: threat_intelligence_platform
- **原始链接**: https://github.com/arnav-eluri/threat_intelligence_platform
- **发布时间**: 2026年6月5日

## 项目概述

在当今数字化时代，网络安全威胁日益复杂和频繁。传统的威胁情报收集往往依赖人工分析，效率低下且难以应对快速演变的攻击手段。

本项目是一个创新的**开源威胁情报平台**，它巧妙地结合了网络爬虫技术、本地大语言模型(LLM)和结构化威胁信息表达(STIX)标准，实现了恶意软件警报的自动化采集、智能分析和标准化输出。

## 核心功能与设计思路

### 1. 自动化数据采集

平台的核心能力之一是自动监控印度网络安全中心(Cyber Swachata Kendra, CSK)发布的最新恶意软件警报。通过使用`requests_html`库，系统能够：

- 定期爬取CSK网站的警报页面
- 智能过滤导航栏等非相关内容
- 提取警报标题、URL和详细内容

这种自动化采集方式大大减少了安全分析师手动浏览多个来源的工作量。

### 2. 本地LLM智能分析

项目的一大亮点是使用了**本地部署的Llama 3.2 1B模型**进行威胁分析，而非依赖云端API。这一设计带来了多重优势：

- **数据隐私**: 敏感的安全数据不会离开本地环境
- **成本效益**: 无需支付API调用费用
- **离线可用**: 即使在网络受限环境下也能正常工作
- **低延迟**: 本地推理响应更快

系统通过精心设计的提示词模板，引导LLM从原始警报文本中提取关键信息：

```
恶意软件名称
恶意软件类型
严重程度
攻击向量
目标平台
能力特征
缓解措施
```

### 3. STIX标准化输出

STIX(Structured Threat Information eXpression)是网络安全领域广泛采用的结构化威胁信息格式。平台将LLM分析结果自动转换为STIX兼容的JSON格式，便于与其他安全工具集成：

```json
{
  "type": "malware",
  "name": "NoEscape",
  "malware_type": "Ransomware",
  "severity": "High",
  "target_os": "Windows, Linux, VMware ESXi servers"
}
```

## 技术架构

平台采用模块化的Python架构，各组件职责清晰：

| 模块 | 功能 |
|------|------|
| `scrape.py` | 网页爬取与数据提取 |
| `threat_analyzer.py` | LLM分析与JSON生成 |
| `conn.py` | SQLite数据库连接与管理 |
| `retrieve.py` | 数据检索与STIX报告生成 |
| `app.py` | Streamlit交互式仪表板 |

### 数据流

1. **爬取阶段**: `scrape.py`从CSK网站获取原始警报数据
2. **分析阶段**: `threat_analyzer.py`调用本地Ollama实例运行Llama模型
3. **存储阶段**: 解析后的数据存入SQLite数据库
4. **查询阶段**: 用户通过Streamlit界面输入恶意软件名称
5. **生成阶段**: `retrieve.py`生成格式化的STIX报告

## 实际应用场景

### 场景一：安全运营中心(SOC)日常监控

安全分析师可以定期运行该平台，自动获取最新的恶意软件情报，快速了解当前威胁态势，无需手动浏览多个安全公告网站。

### 场景二：事件响应支持

当企业发现可疑活动时，可以通过平台查询特定恶意软件的详细信息，包括攻击向量、目标平台和缓解措施，加速响应决策。

### 场景三：威胁情报共享

生成的STIX格式报告可以直接导入企业的威胁情报平台(TIP)，或与其他组织共享，实现协同防御。

## 当前局限与改进方向

作者在文档中坦诚地指出了当前版本的一些限制：

### 已知问题

1. **提示词约束**: 当前提示词较为基础，缺乏足够的特异性，导致LLM输出有时不可靠
2. **模型限制**: 1B参数的轻量级模型在处理复杂输出时能力有限
3. **数据源局限**: 爬取源有时缺乏详细信息

### 改进建议

- 使用更大参数的模型(如7B或13B)提升分析质量
- 扩展数据源，集成更多威胁情报 feed
- 添加威胁行为者(Threat Actor)关联分析
- 实现自动化告警机制，当检测到高危威胁时主动通知

## 部署与使用

### 环境要求

- Python 3.x
- Ollama + Llama 3.2:1B模型
- 依赖包(通过requirements.txt安装)

### 快速启动

```bash
# 安装依赖
pip install -r requirements.txt

# 运行爬虫
python scrape.py

# 启动仪表板
streamlit run app.py
```

访问`http://localhost:8501`即可使用交互式界面。

## 项目意义与价值

这个开源项目展示了如何将现代AI技术与传统网络安全实践相结合，为中小型企业和个人安全研究者提供了一个低成本、高效率的威胁情报解决方案。

更重要的是，它证明了**本地LLM在安全领域的实用价值**——在保护数据隐私的同时，依然能够提供有价值的智能分析能力。随着开源大模型性能的不断提升，这类方案的应用前景将更加广阔。

## 结语

威胁情报的自动化处理是网络安全领域的重要趋势。本项目为这一方向提供了一个可参考的实现范例，无论是作为学习材料还是生产环境的基础框架，都具有相当的实用价值。对于希望构建自有威胁情报能力的安全团队来说，这是一个值得关注的开源项目。
