misbullah-cs-usk/malware-behavior-analysis-rag
GitHub: misbullah-cs-usk/malware-behavior-analysis-rag
基于RAG技术的恶意软件行为分析演示系统,通过检索增强生成提升LLM在网络安全问答中的准确性
Stars: 0 | Forks: 0
# 恶意软件行为分析 RAG 系统
## 📌 概述
本项目实现了一个基于自定义网络安全数据集的**恶意软件行为分析**系统,采用了 **检索增强生成** 技术。
该系统通过从结构化数据集中检索相关知识,而非仅依赖预训练知识,从而增强了语言模型回答恶意软件相关问题的能力。
本项目属于 **第 6 周 – 数据 + RAG 实现** 的一部分。
## 🎯 目标
* 理解**数据质量和结构**如何影响 LLM 性能
* 使用 Hugging Face 工具实现完整的 **RAG 流程**
* 使模型能够基于**真实恶意软件行为数据**回答问题
* 利用**外部知识库检索**提高回答准确性
## 🧠 RAG 流程架构
系统遵循标准的 RAG 工作流:
1. **数据加载**
2. **文档拆分**
3. **分块**
4. **向量化**
5. **索引 (FAISS)**
6. **检索**
7. **生成**
## 🤖 使用的模型
### 🔹 嵌入模型
* **模型:** sentence-transformers/all-MiniLM-L6-v2
* **类型:** Sentence Transformer (MiniLM)
* **维度:** 384
* **用途:** 将文本块转换为稠密向量嵌入,用于语义相似性搜索
**为什么选择这个模型?**
* 轻量且快速
* 良好的语义理解能力
* 非常适合 RAG 检索任务
### 🔹 生成模型 (LLM)
* **模型:** google/flan-t5-base
* **类型:** Encoder-Decoder (Text-to-Text Transformer)
* **架构:** T5 (针对指令遵循进行了微调)
* **用途:** 基于检索到的上下文生成答案
**为什么选择这个模型?**
* 强大的指令遵循能力
* 非常适合问答任务
* 足够轻量,可在本地运行
### 🔹 向量数据库
* **工具:** FAISS
* **用途:** 高效的嵌入相似性搜索
## 📂 项目结构
```
.
├── malware_rag_demo.py # Main RAG pipeline code
├── malware_behavior_kb_200.md # Knowledge base (for RAG)
├── malware_behavior_kb_200.csv # Structured dataset
└── README.md
```
## ⚙️ 安装
```
pip install sentence-transformers transformers faiss-cpu torch accelerate
```
## ▶️ 如何运行
```
python malware_rag_demo.py
```
## 💡 示例查询
```
What does TrickBot malware typically do after infecting a system?
What indicators suggest that a system is infected with Emotet?
Which MITRE ATT&CK techniques are associated with ransomware like WannaCry?
```
## 📊 示例输出
系统将显示:
* 检索到的块
* 相似度得分
* 基于上下文生成的答案
## 🔍 关键技术
* **Hugging Face Transformers** – LLM 框架
* **SentenceTransformers** – 嵌入模型
* **FAISS** – 向量数据库
* **PyTorch** – 模型执行
## 🧪 RAG 与非 RAG 对比
| 方面 | 无 RAG | 有 RAG |
| ------------- | ------------ | -------------------------- |
| 准确性 | 通用回答 | 数据支撑的回答 |
| 细节 | 有限 | 包含行为、IOC、ATT&CK 等 |
| 可解释性 | 低 | 高 |
| 网络安全相关性 | 弱 | 强 |
## 📚 数据集
数据集包含 **200 个恶意软件行为样本**,包括:
* 恶意软件家族 (Emotet, TrickBot 等)
* 行为摘要
* 持久化机制
* 网络活动
* MITRE ATT&CK 技术
* 妥协指标
* 缓解策略
## 🚀 未来改进
* 添加重排序模型
* 混合搜索 (BM25 + 嵌入)
* 使用更大的 LLM (Mistral / LLaMA)
* 添加评估指标
* 集成 Open WebUI
## 👨💻 作者
**Alim Misbullah**
## 📌 备注
本项目展示了 **RAG 如何显著提升 LLM 在网络安全任务中的性能**,通过将回答建立在结构化、特定领域的知识基础之上。
标签:Apex, DAST, Demo, DLL 劫持, FAISS, Flan-T5, Hugging Face, Python, RAG, Ruby, Sentence Transformers, 人工智能, 凭据扫描, 向量化, 向量数据库, 大语言模型, 威胁情报, 开发者工具, 恶意软件分析, 数据管道, 无后门, 机器学习, 检索增强生成, 用户模式Hook绕过, 知识库, 网络安全, 语义搜索, 软件工程, 逆向工具, 隐私保护