Hungr-yy/SMalRe-Test

GitHub: Hungr-yy/SMalRe-Test

一套基于教师-学生知识蒸馏的自动化流程,用于微调轻量级语言模型以执行恶意软件逆向分析任务。

Stars: 0 | Forks: 0

# SMalRe — 小型恶意软件逆向工程 **通过教师-学生知识蒸馏微调小型语言模型 以执行恶意软件分析。** ## 概述 SMalRe 实现了一个自动化的、迭代式的**教师-学生知识蒸馏**流程,用于训练轻量级 SLM 来逆向分析恶意软件。一个强大的“教师”LLM(例如 GPT-4o、Gemini 2.5 Pro 或 Qwen-Max)负责生成试题、评估学生的回答,并生成量身定制的合成课程,用于微调一个紧凑的“学生”SLM(例如 Llama 3 8B、Phi-3、Gemma 7B 或 DeepSeek-R1-Distill-Qwen-7B)。 ``` Teacher LLM (GPT-4o / Gemini 2.5 Pro / Qwen-Max) │ ▼ 1. Generate exam from malware detonation report │ Student SLM (Llama 3 8B / Phi-3 / Gemma 7B) │ ▼ 2. Student attempts exam │ Teacher LLM │ ▼ 3. Evaluate answers, identify weaknesses │ Teacher LLM │ ▼ 4. Generate targeted curriculum (10k–100k examples) │ Student SLM fine-tuning (LoRA / QLoRA via PEFT) │ ▼ 5. Repeat until benchmark target is reached ``` ## 仓库结构 ``` SMalRe/ ├── main.py # Iterative distillation orchestrator ├── teacher_engine.py # Teacher LLM: exam, evaluation, curriculum ├── student_trainer.py # Student SLM: LoRA/QLoRA fine-tuning ├── report_parser.py # Malware detonation report ingestion ├── data_filter.py # Context-window-aware report filtering ├── eval_suite.py # Accuracy + Jaccard benchmarking ├── requirements.txt ├── configs/ │ └── model_config.yaml # Teacher/student model parameters ├── prompt_templates/ │ ├── malware_analysis_task.json # Structured teacher prompts │ └── reverse_engineering_curriculum.txt └── benchmark_data/ └── README.md # CyberSOCEval-compatible dataset guide ``` ## 支持的模型家族 | 角色 | 提供商 | 推荐模型 | |---------|-----------|------------------------------------------| | Teacher | OpenAI | GPT-4o, gpt-o3 | | Teacher | Google | Gemini 2.5 Pro, Gemini 1.5 Pro | | Teacher | Alibaba | Qwen-Max | | Student | Meta | Llama 3 8B | | Student | Microsoft | Phi-3 | | Student | Google | Gemma 7B | | Student | DeepSeek | DeepSeek-R1-Distill-Qwen-7B | ## 快速开始 ### 1. 安装依赖 ``` pip install -r requirements.txt # PDF/report 处理系统依赖 sudo apt-get install poppler-utils ``` ### 2. 配置模型 编辑 `configs/model_config.yaml` 以设置您的教师和学生模型、API 密钥以及训练超参数。 ### 3. 运行蒸馏循环 ``` python main.py --config configs/model_config.yaml ``` 编排器 将: 1. 根据恶意软件引爆报告生成试题 2. 让作为学生的 SLM 尝试回答试题 3. 评估答案并识别薄弱环节 4. 生成针对性的合成课程 5. 使用 LoRA/QLoRA 微调学生模型 6. 重复此过程,直到达到基准测试的目标准确率 ### 4. 对您的 SLM 进行基准测试 ``` python eval_suite.py \ --model-path ./outputs/student_adapter \ --dataset benchmark_data/malware_analysis_questions.json \ --output benchmark_data/results.json ``` ## 基准测试 (CyberSOCEval / 恶意软件分析) SMalRe 与 **CyberSOCEval** 恶意软件分析基准测试对齐。`eval_suite.py` 模块报告: - **Accuracy (准确率)** — 多项选择题的完全匹配率 - **Average Jaccard Score (平均 Jaccard 分数)** — 用于评估重叠答案集的部分得分指标 涵盖的恶意软件家族:EDR/AV Killers、勒索软件、RATs (Remcos)、信息窃取器、UM Unhooking。 若要直接针对 CyberSOCEval 套件运行: ``` python3 -m CybersecurityBenchmarks.benchmark.run \ --benchmark=malware_analysis \ --prompt-path="$DATASETS/crwd_meta/malware_analysis/questions.json" \ --response-path="$DATASETS/crwd_meta/malware_analysis/responses.json" \ --judge-response-path="$DATASETS/crwd_meta/malware_analysis/judge_responses.json" \ --stat-path="$DATASETS/crwd_meta/malware_analysis/stats.json" \ --llm-under-test=:::: \ --truncate-input ``` ## 上下文窗口管理 Hybrid Analysis 沙箱报告通常超过 128k token。`data_filter.py` 实现了预过滤功能,仅保留关键字段(`total_processes`、`mitre_attcks`、`signatures`),且对基准测试性能的影响微乎其微。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:DAST, DLL 劫持, Gemini, GPT-4o, Llama 3, LoRA, PEFT, Petitpotam, Phi-3, QLoRA, 云资产清单, 人工智能安全, 代码分析, 凭证管理, 合成数据, 合规性, 大语言模型, 威胁情报, 安全大模型, 小语言模型, 开发者工具, 微调, 恶意软件分析, 教师-学生模型, 深度学习, 知识蒸馏, 网络安全, 自动化工控流, 逆向工具, 逆向工程, 隐私保护