vinzabe/malware-family-classifier

GitHub: vinzabe/malware-family-classifier

结合二进制结构分析与 TF-IDF 特征的机器学习恶意软件家族分类器,附带 LLM 增强分析能力。

Stars: 1 | Forks: 0

# 恶意软件家族分类器 基于机器学习的恶意软件家族分类器,结合了结构化二进制分析(PE/ELF 解析、操作码反汇编、字节统计)和对提取字符串的 TF-IDF 处理,并输入到 LogisticRegression 模型中。包含可选的 LLM 增强,用于家族假设和 IOC 提取。 ## 功能 - **特征提取**:字节熵/直方图、PE (pefile) 和 ELF (lief) 结构解析、使用 capstone 反汇编获取操作码分布、可打印字符串提取 - **分类**:使用 scikit-learn 的 LogisticRegression,结合 DictVectorizer(数字特征)+ TF-IDF(字符串),支持 joblib 保存/加载 - **LLM 增强**:将特征摘要发送至 LLM,用于生成家族假设、类别、IOC、行为和依据 - **CLI**:`train`、`predict` 和 `enrich` 子命令 ## 快速开始 ``` pip install -r requirements.txt # 在 JSONL 数据集上训练 ({"path": "/path/to/binary", "label": "family"}) python -m malclf.cli train --dataset data.jsonl -o model.joblib # 预测 python -m malclf.cli predict --model model.joblib /path/to/binary # LLM 扩充 python -m malclf.cli enrich /path/to/binary ``` ## 测试 ``` pytest tests/ -v LLM_LIVE=1 pytest tests/ -v # includes live LLM enrichment test ``` ## 架构 ``` malclf/ features.py - ByteFeatures, StructuralFeatures, OpcodeFeatures, FeatureExtractor model.py - MalwareFamilyClassifier (train/predict/save/load) llm_enricher.py - LLMMalwareEnricher (family hypothesis + IOCs) cli.py - CLI entry point ``` ## 许可证 MIT
标签:Apex, C2, DAST, DLL 劫持, DNS 反向解析, ELF文件分析, IOC提取, IP 地址批量处理, LLM增强, PE文件分析, Python, scikit-learn, TF-IDF, Wayback Machine, 二进制文件分析, 云资产清单, 反汇编, 大语言模型, 威胁情报, 字节熵, 开发者工具, 恶意软件分析, 恶意软件家族分类, 搜索语句(dork), 无后门, 机器学习, 特征提取, 网络信息收集, 网络安全, 逆向工具, 逆向工程, 逻辑回归, 隐私保护