muhammed95rafi-arch/malware-file-scanner

GitHub: muhammed95rafi-arch/malware-file-scanner

一款基于多种静态分析技术的恶意软件文件扫描工具,通过哈希比对、特征匹配和熵分析等手段检测可疑文件并给出风险评分。

Stars: 0 | Forks: 0

# 恶意软件文件扫描器 一款静态文件分析工具,通过特征匹配、哈希比对、熵分析和启发式评分来检测恶意和可疑文件。 本项目作为一个作品集项目构建,旨在演示恶意软件分析的基础知识。 **本项目不包含也不会执行任何真实的恶意软件。** 检测逻辑使用行业标准 [EICAR 测试文件](https://en.wikipedia.org/wiki/EICAR_test_file) 进行验证,这也是所有商业杀毒软件供应商使用的安全测试字符串。 ## 检测技术 | 技术 | 描述 | |---|---| | 哈希匹配 | 将文件的 SHA-256 与已知的恶意哈希数据库进行比对 | | 特征扫描 | 在文件字节中搜索可疑的命令/字符串模式(reverse shell、混淆的 PowerShell、进程注入 API 调用等) | | 熵分析 | 标记高熵文件,这是加壳/加密/混淆的常见指标 | | 扩展名分析 | 标记双重扩展名伪装(例如 `invoice.pdf.exe`) | | 风险评分 | 将所有信号整合为一个透明的 0-100 分数,并附带人类可读的判定结果和原因 | ## 使用方法 ``` # 扫描单个文件 python main.py --file suspicious.exe # 递归扫描目录 python main.py --dir /path/to/folder # 将完整结果保存为 JSON python main.py --dir /path/to/folder --json report.json # 生成安全的 EICAR 测试文件以验证扫描器 python main.py --make-eicar ``` ## 输出示例 ``` File: eicar_test.txt SHA-256: 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f Entropy: 4.872 Verdict: MALICIOUS (100/100) Reasons: - Matches EICAR test signature ``` ## 项目结构 ``` malware-file-scanner/ ├── main.py # CLI entry point ├── scanner.py # Core detection engine ├── signatures.py # Known hashes, suspicious strings, thresholds └── README.md ``` ## 扩展此工具 - 在 `signatures.py` 中的 `KNOWN_MALICIOUS_HASHES` 里,填入来自公共威胁情报源(MalwareBazaar、abuse.ch、VirusTotal)的哈希值。 - 为未知哈希添加 VirusTotal API 查询功能。 - 添加 APK manifest 解析功能,用于 Android 权限分析(相关模式已在 `signatures.py` 中定义)。 ## 注意事项 这是一款**静态分析**工具——它在不执行文件的情况下检查其内容,这是任何恶意软件分析工作流程中安全的第一步。动态分析(行为监控)应始终在隔离的沙箱/虚拟机中进行,切勿在生产环境或日常使用的设备上执行。
标签:Homebrew安装, Python, 哈希匹配, 文档结构分析, 无后门, 熵分析, 特征码扫描, 逆向工具, 静态文件分析