NullAILab/nullai-malware-analysis-platform

GitHub: NullAILab/nullai-malware-analysis-platform

纯Python实现的静态恶意软件分析平台,通过PE头解析、字符串提取、类YARA规则匹配和熵值分析提供完整的恶意文件风险评估能力。

Stars: 0 | Forks: 0

# 恶意软件分析平台 ![Python](https://img.shields.io/badge/python-3.11-blue?logo=python) ![Tests](https://img.shields.io/badge/tests-30%20passed-brightgreen) ![License](https://img.shields.io/badge/license-MIT-green) 纯 Python 静态恶意软件分析平台:PE 头解析器、ASCII/UTF-16 字符串提取器、类 YARA 规则引擎和启发式风险评分 —— 零外部依赖。 ## 模块 | 模块 | 描述 | |--------|-------------| | `pe_parser.py` | 解析 PE/COFF 头:机器类型、节、DLL 标志、特性 | | `strings_extractor.py` | 提取可打印字符串,按 URL/IP/shell/注入/凭证标签分类 | | `yara_engine.py` | 类 YARA 模式匹配:十六进制、字面量、正则表达式、AND/OR/NOT 条件 | | `analyzer.py` | 完整流程:SHA256/MD5、熵、PE、字符串、YARA → 风险评分 | ## 用法 ``` from src import MalwareAnalyzer analyzer = MalwareAnalyzer() report = analyzer.analyze(open("sample.exe", "rb").read(), "sample.exe") print(report.summary()) # sample.exe | SHA256: 3f4a7b2c... | 大小: 45056B | 熵: 6.82 | 风险: HIGH (70) | YARA: 3 次匹配 for indicator in report.indicators: print(f" [!] {indicator}") ``` ## 类 YARA 规则 ``` from src import YaraRule, YaraString, YaraRuleSet rule = YaraRule( name="Suspicious_Download", strings=[ YaraString("$ps", b"powershell", nocase=True), YaraString("$dl", b"DownloadString", nocase=True), ], condition=lambda m: "$ps" in m and "$dl" in m, meta={"description": "PowerShell download cradle"}, ) ``` ## 运行测试 ``` python -m pytest tests/ -q ``` ## 许可证 MIT
标签:ASCII字符串, COFF头解析, DAST, DNS信息、DNS暴力破解, DNS 反向解析, IOC提取, IP检测, MD5, PE头解析, PE文件分析, Python安全工具, SHA256, URL检测, UTF-16字符串, YARA规则, 云安全监控, 启发式分析, 哈希计算, 威胁情报, 字符串提取, 开发者工具, 恶意软件分析, 文件特征提取, 模式匹配, 熵分析, 网络安全, 自动化资产收集, 隐私保护, 静态分析, 风险评分