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绕过, 知识库, 网络安全, 语义搜索, 软件工程, 逆向工具, 隐私保护